From c823e41a9968898653944e9f1e643d0aa1292e72 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 9 Aug 2019 13:14:32 +0800 Subject: [PATCH 001/149] Resolve #1512 AbpResourceOwnerPasswordValidator support custom claims. --- .../AbpResourceOwnerPasswordValidator.cs | 88 ++++++++++++++++--- 1 file changed, 75 insertions(+), 13 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs index 778b3445bf..946813aff8 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs @@ -1,33 +1,95 @@ -using System.Threading.Tasks; +using System.Collections.Generic; +using System.Security.Claims; +using System.Threading.Tasks; +using IdentityModel; using IdentityServer4.AspNetIdentity; +using IdentityServer4.Events; +using IdentityServer4.Models; using IdentityServer4.Services; using IdentityServer4.Validation; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Logging; using Volo.Abp.Identity; +using Volo.Abp.Security.Claims; using Volo.Abp.Uow; namespace Volo.Abp.IdentityServer.AspNetIdentity { - public class AbpResourceOwnerPasswordValidator : ResourceOwnerPasswordValidator + public class AbpResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator //ResourceOwnerPasswordValidator { + private readonly SignInManager _signInManager; + private readonly IEventService _events; + private readonly UserManager _userManager; + private readonly ILogger> _logger; + public AbpResourceOwnerPasswordValidator( - IdentityUserManager userManager, - SignInManager signInManager, - IEventService events, - ILogger> logger - ) : base( - userManager, - signInManager, - events, - logger) + UserManager userManager, + SignInManager signInManager, + IEventService events, + ILogger> logger) { + _userManager = userManager; + _signInManager = signInManager; + _events = events; + _logger = logger; } + /// + /// https://github.com/IdentityServer/IdentityServer4/blob/master/src/AspNetIdentity/src/ResourceOwnerPasswordValidator.cs#L53 + /// + /// + /// [UnitOfWork] - public override async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) + public virtual async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) { - await base.ValidateAsync(context); + var user = await _userManager.FindByNameAsync(context.UserName); + if (user != null) + { + var result = await _signInManager.CheckPasswordSignInAsync(user, context.Password, true); + if (result.Succeeded) + { + var sub = await _userManager.GetUserIdAsync(user); + + _logger.LogInformation("Credentials validated for username: {username}", context.UserName); + await _events.RaiseAsync(new UserLoginSuccessEvent(context.UserName, sub, context.UserName, interactive: false)); + + context.Result = new GrantValidationResult(sub, OidcConstants.AuthenticationMethods.Password, GetAdditionalClaimsOrNull(user)); + + return; + } + else if (result.IsLockedOut) + { + _logger.LogInformation("Authentication failed for username: {username}, reason: locked out", context.UserName); + await _events.RaiseAsync(new UserLoginFailureEvent(context.UserName, "locked out", interactive: false)); + } + else if (result.IsNotAllowed) + { + _logger.LogInformation("Authentication failed for username: {username}, reason: not allowed", context.UserName); + await _events.RaiseAsync(new UserLoginFailureEvent(context.UserName, "not allowed", interactive: false)); + } + else + { + _logger.LogInformation("Authentication failed for username: {username}, reason: invalid credentials", context.UserName); + await _events.RaiseAsync(new UserLoginFailureEvent(context.UserName, "invalid credentials", interactive: false)); + } + } + else + { + _logger.LogInformation("No user found matching username: {username}", context.UserName); + await _events.RaiseAsync(new UserLoginFailureEvent(context.UserName, "invalid username", interactive: false)); + } + + context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant); + } + + protected virtual IEnumerable GetAdditionalClaimsOrNull(IdentityUser user) + { + if (!user.TenantId.HasValue) + { + return null; + } + + return new[] { new Claim(AbpClaimTypes.TenantId, user.TenantId?.ToString()) }; } } } From 7d5871a3abcf73609d356d8dfbf9c9e3c5e5d700 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 12 Aug 2019 14:13:23 +0800 Subject: [PATCH 002/149] fix #1615 Add a prefix to AutoMap*Attribute. --- docs/en/Application-Services.md | 8 ++++---- docs/zh-Hans/Application-Services.md | 8 ++++---- .../{AutoMapAttribute.cs => AbpAutoMapAttribute.cs} | 4 ++-- ...AutoMapAttributeBase.cs => AbpAutoMapAttributeBase.cs} | 4 ++-- ...AutoMapFromAttribute.cs => AbpAutoMapFromAttribute.cs} | 6 +++--- .../{AutoMapToAttribute.cs => AbpAutoMapToAttribute.cs} | 6 +++--- .../Volo/Abp/AutoMapper/AbpAutoMapperModule.cs | 6 +++--- .../Abp/AutoMapper/AutoMapperConfigurationExtensions.cs | 2 +- .../Volo/Abp/AutoMapper/AutoMapper_Inheritance_Tests.cs | 6 +++--- .../Volo/Abp/AutoMapper/AutoMapping_Tests.cs | 4 ++-- .../Volo/Abp/AutoMapper/SampleClasses/MyEntityDto.cs | 2 +- .../Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs | 2 +- 12 files changed, 29 insertions(+), 29 deletions(-) rename framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/{AutoMapAttribute.cs => AbpAutoMapAttribute.cs} (83%) rename framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/{AutoMapAttributeBase.cs => AbpAutoMapAttributeBase.cs} (68%) rename framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/{AutoMapFromAttribute.cs => AbpAutoMapFromAttribute.cs} (75%) rename framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/{AutoMapToAttribute.cs => AbpAutoMapToAttribute.cs} (76%) diff --git a/docs/en/Application-Services.md b/docs/en/Application-Services.md index de9fc1f0df..bed14370f5 100644 --- a/docs/en/Application-Services.md +++ b/docs/en/Application-Services.md @@ -146,7 +146,7 @@ public interface IBookAppService : IApplicationService `BookDto` is a simple [DTO](Data-Transfer-Objects.md) class defined as below: ````csharp -[AutoMapFrom(typeof(Book))] //Defines the mapping +[AbpAutoMapFrom(typeof(Book))] //Defines the mapping public class BookDto { public Guid Id { get; set; } @@ -159,7 +159,7 @@ public class BookDto } ```` -* `BookDto` defines `[AutoMapFrom(typeof(Book))]` attribute to create the object mapping from `Book` to `BookDto`. +* `BookDto` defines `[AbpAutoMapFrom(typeof(Book))]` attribute to create the object mapping from `Book` to `BookDto`. Then you can implement the `GetAsync` method as shown below: @@ -248,7 +248,7 @@ public interface IAsyncCrudAppService< DTO classes used in this example are `BookDto` and `CreateUpdateBookDto`: ````csharp -[AutoMapFrom(typeof(Book))] +[AbpAutoMapFrom(typeof(Book))] public class BookDto : AuditedEntityDto { public string Name { get; set; } @@ -258,7 +258,7 @@ public class BookDto : AuditedEntityDto public float Price { get; set; } } -[AutoMapTo(typeof(Book))] +[AbpAutoMapTo(typeof(Book))] public class CreateUpdateBookDto { [Required] diff --git a/docs/zh-Hans/Application-Services.md b/docs/zh-Hans/Application-Services.md index e98e945405..74718eb571 100644 --- a/docs/zh-Hans/Application-Services.md +++ b/docs/zh-Hans/Application-Services.md @@ -146,7 +146,7 @@ public interface IBookAppService : IApplicationService `BookDto`是一个简单的[DTO](Data-Transfer-Objects.md)类, 定义如下: ````csharp -[AutoMapFrom(typeof(Book))] //Defines the mapping +[AbpAutoMapFrom(typeof(Book))] //Defines the mapping public class BookDto { public Guid Id { get; set; } @@ -159,7 +159,7 @@ public class BookDto } ```` -* `BookDto`定义了`[AutoMapFrom(typeof(Book))]`属性来从创建对象映射Book到BookDto. +* `BookDto`定义了`[AbpAutoMapFrom(typeof(Book))]`属性来从创建对象映射Book到BookDto. 然后你可以实现`GetAsync`方法. 如下所示: @@ -247,7 +247,7 @@ public interface IAsyncCrudAppService< 示例中使用的DTO类是`BookDto`和`CreateUpdateBookDto`: ````csharp -[AutoMapFrom(typeof(Book))] +[AbpAutoMapFrom(typeof(Book))] public class BookDto : AuditedEntityDto { public string Name { get; set; } @@ -257,7 +257,7 @@ public class BookDto : AuditedEntityDto public float Price { get; set; } } -[AutoMapTo(typeof(Book))] +[AbpAutoMapTo(typeof(Book))] public class CreateUpdateBookDto { [Required] diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttribute.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttribute.cs similarity index 83% rename from framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttribute.cs rename to framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttribute.cs index e0fcf06d05..43004fc9f4 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttribute.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttribute.cs @@ -4,9 +4,9 @@ using AutoMapper; namespace Volo.Abp.AutoMapper { - public class AutoMapAttribute : AutoMapAttributeBase + public class AbpAutoMapAttribute : AbpAutoMapAttributeBase { - public AutoMapAttribute(params Type[] targetTypes) + public AbpAutoMapAttribute(params Type[] targetTypes) : base(targetTypes) { diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttributeBase.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttributeBase.cs similarity index 68% rename from framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttributeBase.cs rename to framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttributeBase.cs index 5756347380..75743e6186 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapAttributeBase.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapAttributeBase.cs @@ -3,11 +3,11 @@ using AutoMapper; namespace Volo.Abp.AutoMapper { - public abstract class AutoMapAttributeBase : Attribute + public abstract class AbpAutoMapAttributeBase : Attribute { public Type[] TargetTypes { get; } - protected AutoMapAttributeBase(params Type[] targetTypes) + protected AbpAutoMapAttributeBase(params Type[] targetTypes) { TargetTypes = targetTypes; } diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapFromAttribute.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapFromAttribute.cs similarity index 75% rename from framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapFromAttribute.cs rename to framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapFromAttribute.cs index 5e767273e1..4aca433dfa 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapFromAttribute.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapFromAttribute.cs @@ -4,17 +4,17 @@ using AutoMapper; namespace Volo.Abp.AutoMapper { - public class AutoMapFromAttribute : AutoMapAttributeBase + public class AbpAutoMapFromAttribute : AbpAutoMapAttributeBase { public MemberList MemberList { get; set; } = MemberList.Destination; - public AutoMapFromAttribute(params Type[] targetTypes) + public AbpAutoMapFromAttribute(params Type[] targetTypes) : base(targetTypes) { } - public AutoMapFromAttribute(MemberList memberList, params Type[] targetTypes) + public AbpAutoMapFromAttribute(MemberList memberList, params Type[] targetTypes) : this(targetTypes) { MemberList = memberList; diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapToAttribute.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapToAttribute.cs similarity index 76% rename from framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapToAttribute.cs rename to framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapToAttribute.cs index 9b42fd4f46..bee84eb950 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapToAttribute.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapToAttribute.cs @@ -4,17 +4,17 @@ using AutoMapper; namespace Volo.Abp.AutoMapper { - public class AutoMapToAttribute : AutoMapAttributeBase + public class AbpAutoMapToAttribute : AbpAutoMapAttributeBase { public MemberList MemberList { get; set; } = MemberList.Source; - public AutoMapToAttribute(params Type[] targetTypes) + public AbpAutoMapToAttribute(params Type[] targetTypes) : base(targetTypes) { } - public AutoMapToAttribute(MemberList memberList, params Type[] targetTypes) + public AbpAutoMapToAttribute(MemberList memberList, params Type[] targetTypes) : this(targetTypes) { MemberList = memberList; diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs index 152e4f9283..e02ec8f85e 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs @@ -70,9 +70,9 @@ namespace Volo.Abp.AutoMapper var types = typeFinder.Types.Where(type => { var typeInfo = type.GetTypeInfo(); - return typeInfo.IsDefined(typeof(AutoMapAttribute)) || - typeInfo.IsDefined(typeof(AutoMapFromAttribute)) || - typeInfo.IsDefined(typeof(AutoMapToAttribute)); + return typeInfo.IsDefined(typeof(AbpAutoMapAttribute)) || + typeInfo.IsDefined(typeof(AbpAutoMapFromAttribute)) || + typeInfo.IsDefined(typeof(AbpAutoMapToAttribute)); } ).ToArray(); diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapperConfigurationExtensions.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapperConfigurationExtensions.cs index 579e5181d1..6c4ca0326d 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapperConfigurationExtensions.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AutoMapperConfigurationExtensions.cs @@ -8,7 +8,7 @@ namespace Volo.Abp.AutoMapper { public static void CreateAutoAttributeMaps(this IMapperConfigurationExpression configuration, Type type) { - foreach (var autoMapAttribute in type.GetTypeInfo().GetCustomAttributes()) + foreach (var autoMapAttribute in type.GetTypeInfo().GetCustomAttributes()) { autoMapAttribute.CreateMap(configuration, type); } diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_Inheritance_Tests.cs b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_Inheritance_Tests.cs index 8d010d829f..16ad687858 100644 --- a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_Inheritance_Tests.cs +++ b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_Inheritance_Tests.cs @@ -38,7 +38,7 @@ namespace Volo.Abp.AutoMapper } - [AutoMapFrom(typeof(MyBaseClass))] + [AbpAutoMapFrom(typeof(MyBaseClass))] public class MyTargetClassToMap { public string Value { get; set; } @@ -63,13 +63,13 @@ namespace Volo.Abp.AutoMapper private class EntityProxy : DerivedEntity { } - [AutoMapFrom(typeof(Entity))] + [AbpAutoMapFrom(typeof(Entity))] private class EntityDto { public string Value { get; set; } } - [AutoMapFrom(typeof(DerivedEntity))] + [AbpAutoMapFrom(typeof(DerivedEntity))] private class DerivedEntityDto : EntityDto { } } } diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapping_Tests.cs b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapping_Tests.cs index 58839b30b6..69f6aec506 100644 --- a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapping_Tests.cs +++ b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapping_Tests.cs @@ -128,7 +128,7 @@ namespace Volo.Abp.AutoMapper obj2.NullableValue.ShouldBe(42); } - [AutoMap(typeof(MyClass2), typeof(MyClass3))] + [AbpAutoMap(typeof(MyClass2), typeof(MyClass3))] private class MyClass1 { public string TestProp { get; set; } @@ -136,7 +136,7 @@ namespace Volo.Abp.AutoMapper public long? NullableValue { get; set; } } - [AutoMapTo(typeof(MyClass3))] + [AbpAutoMapTo(typeof(MyClass3))] private class MyClass2 { public string TestProp { get; set; } diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/SampleClasses/MyEntityDto.cs b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/SampleClasses/MyEntityDto.cs index 68b57144db..df2d4aeebe 100644 --- a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/SampleClasses/MyEntityDto.cs +++ b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/SampleClasses/MyEntityDto.cs @@ -2,7 +2,7 @@ namespace Volo.Abp.AutoMapper.SampleClasses { - [AutoMap(typeof(MyEntity))] + [AbpAutoMap(typeof(MyEntity))] public class MyEntityDto { public Guid Id { get; set; } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs index 8235225def..c9c7090d1d 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs @@ -6,7 +6,7 @@ using Volo.Abp.MultiTenancy; namespace Volo.Abp.TestApp.Domain { - [AutoMapTo(typeof(PersonEto))] + [AbpAutoMapTo(typeof(PersonEto))] public class Person : FullAuditedAggregateRoot, IMultiTenant { public virtual Guid? TenantId { get; set; } From 5ccdbcc854772befe3096941268a198cac43c397 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 13 Aug 2019 19:39:04 +0800 Subject: [PATCH 003/149] Resolve #1618 Use a constant string as the key for the HttpContext's Items. --- .../HttpContextTenantResolveResultAccessor.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/HttpContextTenantResolveResultAccessor.cs b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/HttpContextTenantResolveResultAccessor.cs index 6c44195b1a..593d9a7024 100644 --- a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/HttpContextTenantResolveResultAccessor.cs +++ b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/HttpContextTenantResolveResultAccessor.cs @@ -7,17 +7,11 @@ namespace Volo.Abp.AspNetCore.MultiTenancy [Dependency(ReplaceServices = true)] public class HttpContextTenantResolveResultAccessor : ITenantResolveResultAccessor, ITransientDependency { + public const string HttpContextItemName = "__AbpTenantResolveResult"; + public TenantResolveResult Result { - get - { - if (_httpContextAccessor.HttpContext == null) - { - return null; - } - - return _httpContextAccessor.HttpContext.Items[""] as TenantResolveResult; - } + get => _httpContextAccessor.HttpContext?.Items[HttpContextItemName] as TenantResolveResult; set { if (_httpContextAccessor.HttpContext == null) @@ -25,7 +19,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy return; } - _httpContextAccessor.HttpContext.Items[""] = value; + _httpContextAccessor.HttpContext.Items[HttpContextItemName] = value; } } From 77079cf981db11efb674bec242083a96e405df47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 14 Aug 2019 13:14:49 +0300 Subject: [PATCH 004/149] Resolved #1628: Upgrade all NuGet packages for the framework for v0.19 release. --- .../Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj | 2 +- framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj | 2 +- framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj | 6 +++--- framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj | 2 +- framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj | 2 +- .../Volo.Abp.EntityFrameworkCore.SqlServer.csproj | 4 ++-- .../Volo.Abp.EntityFrameworkCore.Sqlite.csproj | 2 +- .../Volo.Abp.EntityFrameworkCore.csproj | 4 ++-- framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj | 2 +- framework/test/AbpTestBase/AbpTestBase.csproj | 4 ++-- .../Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.MultiTenancy.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.Mvc.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.Mvc.UI.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj | 2 +- .../Volo.Abp.AspNetCore.Tests.csproj | 2 +- .../Volo.Abp.Auditing.Tests/Volo.Abp.Auditing.Tests.csproj | 2 +- .../Volo.Abp.Authorization.Tests.csproj | 2 +- .../Volo.Abp.AutoMapper.Tests.csproj | 2 +- .../Volo.Abp.Autofac.Tests/Volo.Abp.Autofac.Tests.csproj | 2 +- .../Volo.Abp.BackgroundJobs.Tests.csproj | 2 +- .../Volo.Abp.Caching.Tests/Volo.Abp.Caching.Tests.csproj | 2 +- .../Volo.Abp.Castle.Core.Tests.csproj | 2 +- .../Volo.Abp.Cli.Core.Tests/Volo.Abp.Cli.Core.Tests.csproj | 2 +- .../test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj | 2 +- .../test/Volo.Abp.Dapper.Tests/Volo.Abp.Dapper.Tests.csproj | 4 ++-- .../test/Volo.Abp.Data.Tests/Volo.Abp.Data.Tests.csproj | 2 +- framework/test/Volo.Abp.Ddd.Tests/Volo.Abp.Ddd.Tests.csproj | 2 +- .../Volo.Abp.Emailing.Tests/Volo.Abp.Emailing.Tests.csproj | 2 +- .../Volo.Abp.EntityFrameworkCore.Tests.csproj | 4 ++-- .../Volo.Abp.EventBus.Tests/Volo.Abp.EventBus.Tests.csproj | 2 +- .../Volo.Abp.Features.Tests/Volo.Abp.Features.Tests.csproj | 2 +- .../Volo.Abp.FluentValidation.Tests.csproj | 2 +- .../Volo.Abp.Http.Client.Tests.csproj | 2 +- .../test/Volo.Abp.Ldap.Tests/Volo.Abp.Ldap.Tests.csproj | 2 +- .../Volo.Abp.Localization.Tests.csproj | 2 +- .../Volo.Abp.MailKit.Tests/Volo.Abp.MailKit.Tests.csproj | 2 +- .../Volo.Abp.MemoryDb.Tests/Volo.Abp.MemoryDb.Tests.csproj | 2 +- .../Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj | 2 +- .../Volo.Abp.MultiTenancy.Tests.csproj | 2 +- .../Volo.Abp.Security.Tests/Volo.Abp.Security.Tests.csproj | 2 +- .../Volo.Abp.Serialization.Tests.csproj | 2 +- .../Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj | 2 +- .../Volo.Abp.Specifications.Tests.csproj | 2 +- .../Volo.Abp.TestApp.Tests/Volo.Abp.TestApp.Tests.csproj | 2 +- framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj | 2 +- .../Volo.Abp.UI.Navigation.Tests.csproj | 2 +- framework/test/Volo.Abp.Uow.Tests/Volo.Abp.Uow.Tests.csproj | 2 +- .../Volo.Abp.Validation.Tests.csproj | 2 +- .../Volo.Abp.VirtualFileSystem.Tests.csproj | 2 +- 51 files changed, 58 insertions(+), 58 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj index 4ee308e591..138189864b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj @@ -23,7 +23,7 @@ - + diff --git a/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj b/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj index 3e68488105..9470f72e19 100644 --- a/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj +++ b/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj b/framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj index 1c817ba12f..df991857dc 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj +++ b/framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj @@ -12,13 +12,13 @@ - + - + - + diff --git a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj index 04c6cf734b..a7a2a4a55a 100644 --- a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj +++ b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj @@ -23,7 +23,7 @@ - + diff --git a/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj b/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj index b2394ea229..5ed32e6961 100644 --- a/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj +++ b/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj @@ -19,7 +19,7 @@ - + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj index 2f5cdfb4fb..458ffda849 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj @@ -1,4 +1,4 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj index cf6dad2b43..b22bc48301 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj b/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj index bfbf0cdf49..a472c09690 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj @@ -19,8 +19,8 @@ - - + + diff --git a/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj b/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj index 82a980f1cf..867565f395 100644 --- a/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj +++ b/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/AbpTestBase/AbpTestBase.csproj b/framework/test/AbpTestBase/AbpTestBase.csproj index 3aeaf7bd7d..d794eaa279 100644 --- a/framework/test/AbpTestBase/AbpTestBase.csproj +++ b/framework/test/AbpTestBase/AbpTestBase.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/framework/test/Volo.Abp.AspNetCore.Authentication.OAuth.Tests/Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Authentication.OAuth.Tests/Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj index b76e89b5d6..c4933829eb 100644 --- a/framework/test/Volo.Abp.AspNetCore.Authentication.OAuth.Tests/Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Authentication.OAuth.Tests/Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo.Abp.AspNetCore.MultiTenancy.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo.Abp.AspNetCore.MultiTenancy.Tests.csproj index 4142fa7f39..f08d5b1ac2 100644 --- a/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo.Abp.AspNetCore.MultiTenancy.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo.Abp.AspNetCore.MultiTenancy.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj index ea9514a9cb..0f4fabd553 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj @@ -21,7 +21,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj index 93b64b0632..3e92a569bc 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj @@ -20,7 +20,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo.Abp.AspNetCore.Mvc.UI.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo.Abp.AspNetCore.Mvc.UI.Tests.csproj index 2404de7777..cfbe4ad40d 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo.Abp.AspNetCore.Mvc.UI.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo.Abp.AspNetCore.Mvc.UI.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj index 2d0ddd9412..3c9ce2301f 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/framework/test/Volo.Abp.AspNetCore.Tests/Volo.Abp.AspNetCore.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Tests/Volo.Abp.AspNetCore.Tests.csproj index e1d676335a..e52c426e43 100644 --- a/framework/test/Volo.Abp.AspNetCore.Tests/Volo.Abp.AspNetCore.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Tests/Volo.Abp.AspNetCore.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Auditing.Tests/Volo.Abp.Auditing.Tests.csproj b/framework/test/Volo.Abp.Auditing.Tests/Volo.Abp.Auditing.Tests.csproj index 4034493fc7..aa26dffb44 100644 --- a/framework/test/Volo.Abp.Auditing.Tests/Volo.Abp.Auditing.Tests.csproj +++ b/framework/test/Volo.Abp.Auditing.Tests/Volo.Abp.Auditing.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/framework/test/Volo.Abp.Authorization.Tests/Volo.Abp.Authorization.Tests.csproj b/framework/test/Volo.Abp.Authorization.Tests/Volo.Abp.Authorization.Tests.csproj index 40c4907756..a76bcabb37 100644 --- a/framework/test/Volo.Abp.Authorization.Tests/Volo.Abp.Authorization.Tests.csproj +++ b/framework/test/Volo.Abp.Authorization.Tests/Volo.Abp.Authorization.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/Volo.Abp.AutoMapper.Tests.csproj b/framework/test/Volo.Abp.AutoMapper.Tests/Volo.Abp.AutoMapper.Tests.csproj index e2f7ed2cfd..234c405eda 100644 --- a/framework/test/Volo.Abp.AutoMapper.Tests/Volo.Abp.AutoMapper.Tests.csproj +++ b/framework/test/Volo.Abp.AutoMapper.Tests/Volo.Abp.AutoMapper.Tests.csproj @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.Autofac.Tests/Volo.Abp.Autofac.Tests.csproj b/framework/test/Volo.Abp.Autofac.Tests/Volo.Abp.Autofac.Tests.csproj index 6c1a23c66f..1a9016ee3a 100644 --- a/framework/test/Volo.Abp.Autofac.Tests/Volo.Abp.Autofac.Tests.csproj +++ b/framework/test/Volo.Abp.Autofac.Tests/Volo.Abp.Autofac.Tests.csproj @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo.Abp.BackgroundJobs.Tests.csproj b/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo.Abp.BackgroundJobs.Tests.csproj index fea03fb2cf..31e9c91779 100644 --- a/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo.Abp.BackgroundJobs.Tests.csproj +++ b/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo.Abp.BackgroundJobs.Tests.csproj @@ -16,7 +16,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo.Abp.Caching.Tests.csproj b/framework/test/Volo.Abp.Caching.Tests/Volo.Abp.Caching.Tests.csproj index 3fd378b759..8efd87f2b6 100644 --- a/framework/test/Volo.Abp.Caching.Tests/Volo.Abp.Caching.Tests.csproj +++ b/framework/test/Volo.Abp.Caching.Tests/Volo.Abp.Caching.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.Castle.Core.Tests/Volo.Abp.Castle.Core.Tests.csproj b/framework/test/Volo.Abp.Castle.Core.Tests/Volo.Abp.Castle.Core.Tests.csproj index 35b9edf31f..34c30b1600 100644 --- a/framework/test/Volo.Abp.Castle.Core.Tests/Volo.Abp.Castle.Core.Tests.csproj +++ b/framework/test/Volo.Abp.Castle.Core.Tests/Volo.Abp.Castle.Core.Tests.csproj @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.Cli.Core.Tests/Volo.Abp.Cli.Core.Tests.csproj b/framework/test/Volo.Abp.Cli.Core.Tests/Volo.Abp.Cli.Core.Tests.csproj index 0fae5b99d4..d2535076b1 100644 --- a/framework/test/Volo.Abp.Cli.Core.Tests/Volo.Abp.Cli.Core.Tests.csproj +++ b/framework/test/Volo.Abp.Cli.Core.Tests/Volo.Abp.Cli.Core.Tests.csproj @@ -9,7 +9,7 @@ - + diff --git a/framework/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj b/framework/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj index 119ef18d83..957c255d2b 100644 --- a/framework/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj +++ b/framework/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Dapper.Tests/Volo.Abp.Dapper.Tests.csproj b/framework/test/Volo.Abp.Dapper.Tests/Volo.Abp.Dapper.Tests.csproj index ecd4187cfb..8e9ff07634 100644 --- a/framework/test/Volo.Abp.Dapper.Tests/Volo.Abp.Dapper.Tests.csproj +++ b/framework/test/Volo.Abp.Dapper.Tests/Volo.Abp.Dapper.Tests.csproj @@ -17,8 +17,8 @@ - - + + \ No newline at end of file diff --git a/framework/test/Volo.Abp.Data.Tests/Volo.Abp.Data.Tests.csproj b/framework/test/Volo.Abp.Data.Tests/Volo.Abp.Data.Tests.csproj index 7862e4e0ef..b7895d25a0 100644 --- a/framework/test/Volo.Abp.Data.Tests/Volo.Abp.Data.Tests.csproj +++ b/framework/test/Volo.Abp.Data.Tests/Volo.Abp.Data.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Ddd.Tests/Volo.Abp.Ddd.Tests.csproj b/framework/test/Volo.Abp.Ddd.Tests/Volo.Abp.Ddd.Tests.csproj index 802d8a53b0..42de4f22f2 100644 --- a/framework/test/Volo.Abp.Ddd.Tests/Volo.Abp.Ddd.Tests.csproj +++ b/framework/test/Volo.Abp.Ddd.Tests/Volo.Abp.Ddd.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.Emailing.Tests/Volo.Abp.Emailing.Tests.csproj b/framework/test/Volo.Abp.Emailing.Tests/Volo.Abp.Emailing.Tests.csproj index d8b058f05a..ec4d2f8bda 100644 --- a/framework/test/Volo.Abp.Emailing.Tests/Volo.Abp.Emailing.Tests.csproj +++ b/framework/test/Volo.Abp.Emailing.Tests/Volo.Abp.Emailing.Tests.csproj @@ -21,7 +21,7 @@ - + diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo.Abp.EntityFrameworkCore.Tests.csproj b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo.Abp.EntityFrameworkCore.Tests.csproj index 87cf70501a..e70921b325 100644 --- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo.Abp.EntityFrameworkCore.Tests.csproj +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo.Abp.EntityFrameworkCore.Tests.csproj @@ -20,8 +20,8 @@ - - + + \ No newline at end of file diff --git a/framework/test/Volo.Abp.EventBus.Tests/Volo.Abp.EventBus.Tests.csproj b/framework/test/Volo.Abp.EventBus.Tests/Volo.Abp.EventBus.Tests.csproj index ac8c0ef36f..eb0f746272 100644 --- a/framework/test/Volo.Abp.EventBus.Tests/Volo.Abp.EventBus.Tests.csproj +++ b/framework/test/Volo.Abp.EventBus.Tests/Volo.Abp.EventBus.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/framework/test/Volo.Abp.Features.Tests/Volo.Abp.Features.Tests.csproj b/framework/test/Volo.Abp.Features.Tests/Volo.Abp.Features.Tests.csproj index 02c7475eb0..dd7436e1d2 100644 --- a/framework/test/Volo.Abp.Features.Tests/Volo.Abp.Features.Tests.csproj +++ b/framework/test/Volo.Abp.Features.Tests/Volo.Abp.Features.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/framework/test/Volo.Abp.FluentValidation.Tests/Volo.Abp.FluentValidation.Tests.csproj b/framework/test/Volo.Abp.FluentValidation.Tests/Volo.Abp.FluentValidation.Tests.csproj index 999d06d67c..089dbcab38 100644 --- a/framework/test/Volo.Abp.FluentValidation.Tests/Volo.Abp.FluentValidation.Tests.csproj +++ b/framework/test/Volo.Abp.FluentValidation.Tests/Volo.Abp.FluentValidation.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj b/framework/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj index aff0575607..8800d492ea 100644 --- a/framework/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj +++ b/framework/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.Ldap.Tests/Volo.Abp.Ldap.Tests.csproj b/framework/test/Volo.Abp.Ldap.Tests/Volo.Abp.Ldap.Tests.csproj index c221b309c4..c7e32be51a 100644 --- a/framework/test/Volo.Abp.Ldap.Tests/Volo.Abp.Ldap.Tests.csproj +++ b/framework/test/Volo.Abp.Ldap.Tests/Volo.Abp.Ldap.Tests.csproj @@ -8,7 +8,7 @@ - + diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj b/framework/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj index 1decc345f4..4cc31224fc 100644 --- a/framework/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj +++ b/framework/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj @@ -18,7 +18,7 @@ - + diff --git a/framework/test/Volo.Abp.MailKit.Tests/Volo.Abp.MailKit.Tests.csproj b/framework/test/Volo.Abp.MailKit.Tests/Volo.Abp.MailKit.Tests.csproj index 17097b1bf0..09ea53af78 100644 --- a/framework/test/Volo.Abp.MailKit.Tests/Volo.Abp.MailKit.Tests.csproj +++ b/framework/test/Volo.Abp.MailKit.Tests/Volo.Abp.MailKit.Tests.csproj @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.MemoryDb.Tests/Volo.Abp.MemoryDb.Tests.csproj b/framework/test/Volo.Abp.MemoryDb.Tests/Volo.Abp.MemoryDb.Tests.csproj index 1d83b1e54f..136dc408c6 100644 --- a/framework/test/Volo.Abp.MemoryDb.Tests/Volo.Abp.MemoryDb.Tests.csproj +++ b/framework/test/Volo.Abp.MemoryDb.Tests/Volo.Abp.MemoryDb.Tests.csproj @@ -16,7 +16,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj b/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj index a99a675193..0605a51a7c 100644 --- a/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj +++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj @@ -20,7 +20,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo.Abp.MultiTenancy.Tests.csproj b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo.Abp.MultiTenancy.Tests.csproj index 16c27a26a6..1258956caf 100644 --- a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo.Abp.MultiTenancy.Tests.csproj +++ b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo.Abp.MultiTenancy.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Security.Tests/Volo.Abp.Security.Tests.csproj b/framework/test/Volo.Abp.Security.Tests/Volo.Abp.Security.Tests.csproj index 46b4c9e952..696592c5d3 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo.Abp.Security.Tests.csproj +++ b/framework/test/Volo.Abp.Security.Tests/Volo.Abp.Security.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Serialization.Tests/Volo.Abp.Serialization.Tests.csproj b/framework/test/Volo.Abp.Serialization.Tests/Volo.Abp.Serialization.Tests.csproj index a7325c95c0..b800df4fb0 100644 --- a/framework/test/Volo.Abp.Serialization.Tests/Volo.Abp.Serialization.Tests.csproj +++ b/framework/test/Volo.Abp.Serialization.Tests/Volo.Abp.Serialization.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj b/framework/test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj index 76f2d05afa..419451777d 100644 --- a/framework/test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj +++ b/framework/test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/framework/test/Volo.Abp.Specifications.Tests/Volo.Abp.Specifications.Tests.csproj b/framework/test/Volo.Abp.Specifications.Tests/Volo.Abp.Specifications.Tests.csproj index e3f35153f9..3b1f95fabb 100644 --- a/framework/test/Volo.Abp.Specifications.Tests/Volo.Abp.Specifications.Tests.csproj +++ b/framework/test/Volo.Abp.Specifications.Tests/Volo.Abp.Specifications.Tests.csproj @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/framework/test/Volo.Abp.TestApp.Tests/Volo.Abp.TestApp.Tests.csproj b/framework/test/Volo.Abp.TestApp.Tests/Volo.Abp.TestApp.Tests.csproj index 51b60b693f..1d999ea9d5 100644 --- a/framework/test/Volo.Abp.TestApp.Tests/Volo.Abp.TestApp.Tests.csproj +++ b/framework/test/Volo.Abp.TestApp.Tests/Volo.Abp.TestApp.Tests.csproj @@ -13,7 +13,7 @@ - + diff --git a/framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj b/framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj index 3da0bcd7ce..be55d0dc90 100644 --- a/framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj +++ b/framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj @@ -18,7 +18,7 @@ - + diff --git a/framework/test/Volo.Abp.UI.Navigation.Tests/Volo.Abp.UI.Navigation.Tests.csproj b/framework/test/Volo.Abp.UI.Navigation.Tests/Volo.Abp.UI.Navigation.Tests.csproj index 4fa8929ed4..9a1f142f01 100644 --- a/framework/test/Volo.Abp.UI.Navigation.Tests/Volo.Abp.UI.Navigation.Tests.csproj +++ b/framework/test/Volo.Abp.UI.Navigation.Tests/Volo.Abp.UI.Navigation.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/framework/test/Volo.Abp.Uow.Tests/Volo.Abp.Uow.Tests.csproj b/framework/test/Volo.Abp.Uow.Tests/Volo.Abp.Uow.Tests.csproj index 574891cc27..dd868b860f 100644 --- a/framework/test/Volo.Abp.Uow.Tests/Volo.Abp.Uow.Tests.csproj +++ b/framework/test/Volo.Abp.Uow.Tests/Volo.Abp.Uow.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj b/framework/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj index 7fb87036e2..ea192bb236 100644 --- a/framework/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj +++ b/framework/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo.Abp.VirtualFileSystem.Tests.csproj b/framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo.Abp.VirtualFileSystem.Tests.csproj index d69c461c29..e74d97c437 100644 --- a/framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo.Abp.VirtualFileSystem.Tests.csproj +++ b/framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo.Abp.VirtualFileSystem.Tests.csproj @@ -18,7 +18,7 @@ - + From 7a088fc29aa48e105e1c1e45233747e7e43f2464 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 14 Aug 2019 20:15:29 +0800 Subject: [PATCH 005/149] Resolve #1629 Modify the EF Core global filter expression. --- .../Volo/Abp/EntityFrameworkCore/AbpDbContext.cs | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs index 06c5cb4ff4..1ed5f3eaed 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs @@ -494,24 +494,12 @@ namespace Volo.Abp.EntityFrameworkCore if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) { - /* This condition should normally be defined as below: - * !IsSoftDeleteFilterEnabled || !((ISoftDelete) e).IsDeleted - * But this causes a problem with EF Core (see https://github.com/aspnet/EntityFrameworkCore/issues/9502) - * So, we made a workaround to make it working. It works same as above. - */ - - Expression> softDeleteFilter = e => !((ISoftDelete)e).IsDeleted || ((ISoftDelete)e).IsDeleted != IsSoftDeleteFilterEnabled; - expression = expression == null ? softDeleteFilter : CombineExpressions(expression, softDeleteFilter); + expression = e => !IsSoftDeleteFilterEnabled || !((ISoftDelete) e).IsDeleted; } if (typeof(IMultiTenant).IsAssignableFrom(typeof(TEntity))) { - /* This condition should normally be defined as below: - * !IsMayHaveTenantFilterEnabled || ((IMayHaveTenant)e).TenantId == CurrentTenantId - * But this causes a problem with EF Core (see https://github.com/aspnet/EntityFrameworkCore/issues/9502) - * So, we made a workaround to make it working. It works same as above. - */ - Expression> multiTenantFilter = e => ((IMultiTenant)e).TenantId == CurrentTenantId || (((IMultiTenant)e).TenantId == CurrentTenantId) == IsMultiTenantFilterEnabled; + Expression> multiTenantFilter = e => !IsMultiTenantFilterEnabled || ((IMultiTenant) e).TenantId == CurrentTenantId; expression = expression == null ? multiTenantFilter : CombineExpressions(expression, multiTenantFilter); } From a2dc7cf71592c2a499d9519fbbaceecec19440ee Mon Sep 17 00:00:00 2001 From: YinChang Date: Wed, 14 Aug 2019 21:08:54 +0800 Subject: [PATCH 006/149] Fix #1613 the namespaces of the module template AddEmbedded method. --- .../MyProjectNameApplicationContractsModule.cs | 2 +- .../MyProjectNameDomainSharedModule.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs index c10d4c718e..fb601c8ea0 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs @@ -14,7 +14,7 @@ namespace MyCompanyName.MyProjectName { Configure(options => { - options.FileSets.AddEmbedded(); + options.FileSets.AddEmbedded("MyCompanyName.MyProjectName"); }); } } diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs index 2b4c4b56c5..0141c3acb9 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs @@ -16,7 +16,7 @@ namespace MyCompanyName.MyProjectName { Configure(options => { - options.FileSets.AddEmbedded(); + options.FileSets.AddEmbedded("MyCompanyName.MyProjectName"); }); Configure(options => From 0952eaae875859ef398ce603fe155fd6abeb105c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 08:04:43 +0300 Subject: [PATCH 007/149] docs: refactor response type add new screenshots to angular tutorial part 2 --- docs/en/Tutorials/Angular/Part-I.md | 7 ++++--- docs/en/Tutorials/Angular/Part-II.md | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index 3a7baf1de4..d79d2074ce 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -446,14 +446,15 @@ First, create data types to map data returning from the backend (you can check s Modify the `books.ts` as shown below: ```typescript -import { ABP } from '@abp/ng.core'; - export namespace Books { export interface State { books: Response; } - export type Response = ABP.PagedResponse; + export interface Response { + items: Book[]; + totalCount: number; + } export interface Book { name: string; diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index c41128f7a2..acad0c3f34 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -540,6 +540,10 @@ Open `book-list.component.html` and modify the `ngbDropdownMenu` for add the del ``` +The final actions dropdown UI looks like this: + +![bookstore-final-actions-dropdown](images/bookstore-final-actions-dropdown.png) + ### Open Confirmation Popup Open `book-list.component.ts` and inject the `ConfirmationService` for show confirmation popup. @@ -570,3 +574,7 @@ delete(id: string, name: string) { ``` The `delete` method shows confirmation popup and listens to them. When close the popup, the subscribe block runs. If confirmed this popup, it will dispatch the `DeleteBook` action. + +The confirmation popup looks like this: + +![bookstore-confirmation-popup](images/bookstore-confirmation-popup.png) From e976319f00a3439f8f43358cb60342dac5964b5f Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 08:56:00 +0300 Subject: [PATCH 008/149] docs: refactor angular tutorial --- docs/en/Tutorials/Angular/Part-I.md | 17 ++- docs/en/Tutorials/Angular/Part-II.md | 111 ++++++++++-------- .../images/bookstore-confirmation-popup.png | Bin 0 -> 33856 bytes .../bookstore-final-actions-dropdown.png | Bin 0 -> 15155 bytes 4 files changed, 70 insertions(+), 58 deletions(-) create mode 100644 docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png create mode 100644 docs/en/Tutorials/Angular/images/bookstore-final-actions-dropdown.png diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index d79d2074ce..fdfddef683 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -342,12 +342,12 @@ Run `yarn start`, wait Angular to run the application and open `http://localhost Open the `app-routing.module.ts` and replace `books` as shown below: ```typescript -import { LayoutApplicationComponent } from '@abp/ng.theme.basic';- +import { ApplicationLayoutComponent } from '@abp/ng.theme.basic';- //... { path: 'books', - component: LayoutApplicationComponent, + component: ApplicationLayoutComponent, loadChildren: () => import('./books/books.module').then(m => m.BooksModule), data: { routes: { @@ -357,7 +357,7 @@ import { LayoutApplicationComponent } from '@abp/ng.theme.basic';- }, ``` -`LayoutApplicationComponent` configuration sets the application layout to the new page. If you would like to see your route on the navigation bar (main menu) you must also add the `data` object with `name` property in your route. +`ApplicationLayoutComponent` configuration sets the application layout to the new page. If you would like to see your route on the navigation bar (main menu) you must also add the `data` object with `name` property in your route. ![initial-books-page](images/bookstore-initial-books-page-with-layout.png) @@ -458,7 +458,7 @@ export namespace Books { export interface Book { name: string; - type: Type; + type: BookType; publishDate: string; price: number; lastModificationTime: string; @@ -494,7 +494,7 @@ yarn ng generate service books/shared/books ![service-terminal-output](images/bookstore-service-terminal-output.png) -Modify `book.service.ts` as shown below: +Modify `books.service.ts` as shown below: ```typescript import { Injectable } from '@angular/core'; @@ -598,10 +598,9 @@ export class BookListComponent implements OnInit { ngOnInit() { this.loading = true; - this.store.dispatch(new GetBooks()) - .subscribe(() => { - this.loading = false - }; + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } } ``` diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index ca204aed74..b322783db3 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -60,17 +60,18 @@ export class CreateUpdateBook { } ``` - - Open `books.state.ts` and define the `save` method that will listen to a `CreateUpdateBook` action to create a book: ```typescript - @Action(CreateUpdateBook) - save({ dispatch }: StateContext, { payload }: CreateUpdateBook) { - return this.booksService - .create(payload) - .pipe(switchMap(() => dispatch(new GetBooks()))); - } +import { GetBooks, CreateUpdateBook } from '../actions/books.actions'; +import { tap, switchMap } from 'rxjs/operators'; +//... +@Action(CreateUpdateBook) +save({ dispatch }: StateContext, { payload }: CreateUpdateBook) { + return this.booksService + .create(payload) + .pipe(switchMap(() => dispatch(new GetBooks()))); +} ``` When the `SaveBook` action dispatched, the save method is executed. It call `create` method of the `BooksService` defined before. After the service call, `BooksState` dispatches the `GetBooks` action to get books again from the server to refresh the page. @@ -301,7 +302,7 @@ Now, You can add a new book. TODO: Description -Open the `book.service.ts` and then add the `getById` and `update` methods. +Open the `books.service.ts` and then add the `getById` and `update` methods. ```typescript getById(id: string): Observable { @@ -327,15 +328,47 @@ update(body: Books.CreateUpdateBookInput, id: string): Observable { - Added the `getById` method to get the editing book by performing an HTTP request to the related endpoint. - Added the `update` method to update a book with the `id` by performing an HTTP request to the related endpoint. +TODO: header ?? + +Open the `books.actins.ts` and add `id` parameter. + +```typescript +export class CreateUpdateBook { + static readonly type = '[Books] Create Update Book'; + constructor(public payload: Books.CreateUpdateBookInput, public id?: string) {} +} +``` + +Added `id` parameter to reuse the `BooksSave` while updating and creating a book. + +Open `books.state.ts` and then modify the `save` method as show below: + +```typescript +@Action(CreateUpdateBook) +save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { + let request; + + if (id) { + request = this.booksService.update(payload, id); + } else { + request = this.booksService.create(payload); + } + + return request.pipe(switchMap(() => dispatch(new GetBooks()))); +} +``` + ### Update a Book Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add variable named `selectedBook`. ```typescript +import { BooksService } from '../shared/books.service'; +//... selectedBook = {} as Books.Book; constructor( - //... + //... private booksService: BooksService ) ``` @@ -374,19 +407,25 @@ Add the `selectedBook` definition to `onAdd` method for reuse same form while ad ```typescript onAdd() { - this.selectedBook = {} as Books.Item; + this.selectedBook = {} as Books.Book; //... } ``` -Add the `this.selectedBook.id` to `CreateUpdateBook` action in `save` method. +Modify the `save` method as shown below: ```typescript - save() { - //... - this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) - //... +save() { + if (this.form.invalid) { + return; } + + this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) + .subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + }); +} ``` Added the `this.selectedBook.id` property to reuse the `CreateUpdateBook` action. @@ -430,7 +469,6 @@ Open the `book-list.component.html` and add modify the `p-table` as shown belo -> ``` Actions button added to each row of the table. @@ -445,42 +483,12 @@ Update the modal header for reuse the same modal. ```html -

{{ (selectedBook.id ? 'Edit' : 'New Book') }}

+

{{ selectedBook.id ? 'Edit' : 'New Book' }}

``` ![actions-buttons](images/bookstore-edit-modal.png) -TODO: header ?? - -Open the `books.actins.ts` and add `id` parameter. - -```typescript -export class CreateUpdateBook { - static readonly type = '[Books] Create Update Book'; - constructor(public payload: Books.CreateUpdateBookInput, public id?: string) {} -} -``` - -Added `id` parameter to reuse the `BooksSave` while updating and creating a book. - -Open `books.state.ts` and then modify the `save` method as show below: - -```typescript -@Action(CreateUpdateBook) -save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { - let request; - - if (id) { - request = this.booksService.update(payload, id); - } else { - request = this.booksService.create(payload); - } - - return request.pipe(switchMap(() => dispatch(new GetBooks()))); -} -``` - TODO: description & screenshot ?? ### Delete a Book @@ -512,6 +520,8 @@ export class DeleteBook { Then, open the `books.state.ts` and add the `delete` method that will listen to a `CreateUpdateBook` action to create a book ```typescript +import { ... , DeleteBook } from '../actions/books.actions'; +//... @Action(DeleteBook) delete({ dispatch }: StateContext, { id }: DeleteBook) { return this.booksService.delete(id).pipe(switchMap(() => dispatch(new GetBooks()))); @@ -553,7 +563,8 @@ constructor( Add the following method to `BookListComponent`. ```typescript -import { ConfirmationService, Toaster } from '@abp/ng.theme.shared'; +import { ... , DeleteBook } from '../../store/actions'; +import { ... , Toaster } from '@abp/ng.theme.shared'; //... delete(id: string, name: string) { this.confirmationService @@ -571,3 +582,5 @@ The `delete` method shows confirmation popup and listens to them. When close the The confirmation popup looks like this: ![bookstore-confirmation-popup](images/bookstore-confirmation-popup.png) + +TODO: End diff --git a/docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png b/docs/en/Tutorials/Angular/images/bookstore-confirmation-popup.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f46af8219b9e9d24e185ca81b1a4b7fcbdfa91 GIT binary patch literal 33856 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 F`(JMV1bF}e literal 0 HcmV?d00001 From 373f94cb61344d8d307942fc4edf904952d14a6d Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 08:57:53 +0300 Subject: [PATCH 009/149] refactor(bookstore-angular): sync via docs --- .../angular/src/app/app-routing.module.ts | 2 + .../books/book-list/book-list.component.html | 102 ++++++++++++++++ .../books/book-list/book-list.component.scss | 0 .../book-list/book-list.component.spec.ts | 25 ++++ .../books/book-list/book-list.component.ts | 91 +++++++++++++++ .../src/app/books/books-routing.module.ts | 10 +- .../src/app/books/books.component.html | 109 +----------------- .../angular/src/app/books/books.component.ts | 69 +---------- .../angular/src/app/books/books.module.ts | 3 +- .../books.service.spec.ts | 0 .../{services => shared}/books.service.ts | 31 +++-- .../src/app/home/home-routing.module.ts | 4 +- .../src/app/store/actions/books.actions.ts | 13 ++- .../angular/src/app/store/models/books.ts | 19 +-- .../src/app/store/states/books.state.ts | 39 ++++--- .../src/environments/environment.hmr.ts | 4 + .../src/environments/environment.prod.ts | 4 + .../angular/src/environments/environment.ts | 4 + 18 files changed, 310 insertions(+), 219 deletions(-) create mode 100644 samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html create mode 100644 samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.scss create mode 100644 samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.spec.ts create mode 100644 samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts rename samples/BookStore-Angular-MongoDb/angular/src/app/books/{services => shared}/books.service.spec.ts (100%) rename samples/BookStore-Angular-MongoDb/angular/src/app/books/{services => shared}/books.service.ts (50%) diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/app-routing.module.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/app-routing.module.ts index d18817b0f5..3d09337cf4 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/app-routing.module.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/app-routing.module.ts @@ -4,6 +4,7 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { ABP } from '@abp/ng.core'; import { TENANT_MANAGEMENT_ROUTES } from '@abp/ng.tenant-management'; +import { ApplicationLayoutComponent } from '@abp/ng.theme.basic'; const routes: Routes = [ { @@ -33,6 +34,7 @@ const routes: Routes = [ }, { path: 'books', + component: ApplicationLayoutComponent, loadChildren: () => import('./books/books.module').then(m => m.BooksModule), data: { routes: { diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html new file mode 100644 index 0000000000..888def12dc --- /dev/null +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.html @@ -0,0 +1,102 @@ +

+
+
+
+
+ Books +
+
+
+ +
+
+
+
+ + + + Actions + Book name + Book type + Publish date + Price + + + + + +
+ +
+ + +
+
+ + {{ data.name }} + {{ booksType[data.type] }} + {{ data.publishDate | date }} + {{ data.price }} + +
+
+
+
+ + + +

{{ selectedBook.id ? 'Edit' : 'New Book' }}

+
+ + +
+
+ * + +
+ +
+ * + +
+ +
+ * + +
+ +
+ * + +
+
+
+ + + + Save + +
diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.scss b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.spec.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.spec.ts new file mode 100644 index 0000000000..3462bd783b --- /dev/null +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BookListComponent } from './book-list.component'; + +describe('BookListComponent', () => { + let component: BookListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BookListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BookListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts new file mode 100644 index 0000000000..a58ff49694 --- /dev/null +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/book-list/book-list.component.ts @@ -0,0 +1,91 @@ +import { Component, OnInit } from '@angular/core'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; +import { Observable } from 'rxjs'; +import { Books } from '../../store/models'; +import { GetBooks, CreateUpdateBook, DeleteBook } from '../../store/actions'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; +import { BooksService } from '../shared/books.service'; +import { ConfirmationService, Toaster } from '@abp/ng.theme.shared'; + +@Component({ + selector: 'app-book-list', + templateUrl: './book-list.component.html', + styleUrls: ['./book-list.component.scss'], + providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], +}) +export class BookListComponent implements OnInit { + @Select(BooksState.getBooks) + books$: Observable; + + booksType = Books.BookType; + + loading = false; + + isModalOpen = false; + + form: FormGroup; + + bookTypeArr = Object.keys(Books.BookType).filter(bookType => typeof this.booksType[bookType] === 'number'); + + selectedBook = {} as Books.Book; + + constructor( + private store: Store, + private fb: FormBuilder, + private booksService: BooksService, + private confirmationService: ConfirmationService, + ) {} + + ngOnInit() { + this.loading = true; + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); + } + + buildForm() { + this.form = this.fb.group({ + name: [this.selectedBook.name || '', Validators.required], + type: this.selectedBook.type || null, + publishDate: this.selectedBook.publishDate ? new Date(this.selectedBook.publishDate) : null, + price: this.selectedBook.price || null, + }); + } + + onAdd() { + this.selectedBook = {} as Books.Book; + this.buildForm(); + this.isModalOpen = true; + } + + onEdit(id: string) { + this.booksService.getById(id).subscribe(book => { + this.selectedBook = book; + this.buildForm(); + this.isModalOpen = true; + }); + } + + save() { + if (this.form.invalid) { + return; + } + + this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)).subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + }); + } + + delete(id: string, name: string) { + this.confirmationService + .error(`${name} will be deleted. Do you confirm that?`, 'Are you sure?') + .subscribe(status => { + if (status === Toaster.Status.confirm) { + this.store.dispatch(new DeleteBook(id)); + } + }); + } +} diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books-routing.module.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books-routing.module.ts index 4d54fc0a71..8bd5f84e71 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books-routing.module.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books-routing.module.ts @@ -1,10 +1,14 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { LayoutApplicationComponent } from '@abp/ng.theme.basic'; +import { RouterModule, Routes } from '@angular/router'; import { BooksComponent } from './books.component'; +import { BookListComponent } from './book-list/book-list.component'; const routes: Routes = [ - { path: '', component: LayoutApplicationComponent, children: [{ path: '', component: BooksComponent }] }, + { + path: '', + component: BooksComponent, + children: [{ path: '', component: BookListComponent }], + }, ]; @NgModule({ diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.html b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.html index e68bf6f22e..0680b43f9c 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.html +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.html @@ -1,108 +1 @@ -
-
-
-
-
- Books -
-
-
- -
-
-
-
- - - - Actions - Book name - Book type - Publish date - Price - - - - - -
- -
- - -
-
- - {{ data.name }} - {{ bookType[data.type] }} - {{ data.publishDate | date }} - {{ data.price }} - -
-
-
-
- - - -

{{ selectedBook?.id ? 'Edit' : 'New Book' }}

-
- - -
-
- * - -
- -
- - -
- -
- - -
- -
- - -
-
-
- - - - Save - -
+ diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.ts index cab994e23c..cb6de9aadd 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.component.ts @@ -1,73 +1,8 @@ -import { Component, OnInit } from '@angular/core'; -import { Store, Select } from '@ngxs/store'; -import { BooksState } from '../store/states'; -import { Observable } from 'rxjs'; -import { Books } from '../store/models'; -import { BooksGet, BooksSave } from '../store/actions'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; -import { NgbDateAdapter, NgbDateNativeAdapter } from '@ng-bootstrap/ng-bootstrap'; -import { BooksService } from './services/books.service'; +import { Component } from '@angular/core'; @Component({ selector: 'app-books', templateUrl: './books.component.html', styleUrls: ['./books.component.scss'], - providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], }) -export class BooksComponent implements OnInit { - @Select(BooksState.getBooks) - books$: Observable; - - bookType = Books.Type; - - bookTypes = Object.keys(Books.Type).filter(bookType => typeof this.bookType[bookType] === 'number'); - - loading = false; - - isModalOpen = false; - - form: FormGroup; - - selectedBook = {} as Books.Item; - - constructor(private store: Store, private fb: FormBuilder, private booksService: BooksService) {} - - ngOnInit() { - this.loading = true; - this.store.dispatch(new BooksGet()).subscribe(() => (this.loading = false)); - } - - buildForm() { - this.form = this.fb.group({ - name: [this.selectedBook.name || '', Validators.required], - type: this.selectedBook.type || null, - publishDate: this.selectedBook.publishDate ? new Date(this.selectedBook.publishDate) : null, - price: this.selectedBook.price || null, - }); - } - - onAdd() { - this.selectedBook = {} as Books.Item; - this.buildForm(); - this.isModalOpen = true; - } - - onEdit(id: string) { - this.booksService.getById(id).subscribe(book => { - this.selectedBook = book; - this.buildForm(); - this.isModalOpen = true; - }); - } - - save() { - if (this.form.invalid) { - return; - } - - this.store.dispatch(new BooksSave(this.form.value, this.selectedBook.id)).subscribe(() => { - this.isModalOpen = false; - this.form.reset(); - }); - } -} +export class BooksComponent {} diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.module.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.module.ts index 4dd8f39cfe..40090b0717 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.module.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/books.module.ts @@ -5,9 +5,10 @@ import { BooksRoutingModule } from './books-routing.module'; import { BooksComponent } from './books.component'; import { SharedModule } from '../shared/shared.module'; import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; +import { BookListComponent } from './book-list/book-list.component'; @NgModule({ - declarations: [BooksComponent], + declarations: [BooksComponent, BookListComponent], imports: [CommonModule, BooksRoutingModule, SharedModule, NgbDatepickerModule], }) export class BooksModule {} diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/services/books.service.spec.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.spec.ts similarity index 100% rename from samples/BookStore-Angular-MongoDb/angular/src/app/books/services/books.service.spec.ts rename to samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.spec.ts diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/books/services/books.service.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts similarity index 50% rename from samples/BookStore-Angular-MongoDb/angular/src/app/books/services/books.service.ts rename to samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts index d65ac9d125..19e73a49f7 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/books/services/books.service.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/books/shared/books.service.ts @@ -18,32 +18,41 @@ export class BooksService { return this.rest.request(request); } - getById(id: string): Observable { + create(body: Books.CreateUpdateBookInput): Observable { + const request: Rest.Request = { + method: 'POST', + url: '/api/app/book', + body, + }; + + return this.rest.request(request); + } + + getById(id: string): Observable { const request: Rest.Request = { method: 'GET', url: `/api/app/book/${id}`, }; - return this.rest.request(request); + return this.rest.request(request); } - update(body: Books.SaveRequest, id: string): Observable { - const request: Rest.Request = { + update(body: Books.CreateUpdateBookInput, id: string): Observable { + const request: Rest.Request = { method: 'PUT', url: `/api/app/book/${id}`, body, }; - return this.rest.request(request); + return this.rest.request(request); } - add(body: Books.SaveRequest): Observable { - const request: Rest.Request = { - method: 'POST', - url: '/api/app/book', - body, + delete(id: string): Observable { + const request: Rest.Request = { + method: 'DELETE', + url: `/api/app/book/${id}`, }; - return this.rest.request(request); + return this.rest.request(request); } } diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/home/home-routing.module.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/home/home-routing.module.ts index 70f7e5de7a..367affb583 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/home/home-routing.module.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/home/home-routing.module.ts @@ -1,12 +1,12 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { HomeComponent } from './home.component'; -import { LayoutApplicationComponent } from '@abp/ng.theme.basic'; +import { ApplicationLayoutComponent } from '@abp/ng.theme.basic'; const routes: Routes = [ { path: '', - component: LayoutApplicationComponent, + component: ApplicationLayoutComponent, children: [{ path: '', component: HomeComponent }], }, ]; diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/store/actions/books.actions.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/store/actions/books.actions.ts index e684890c6e..56370675d0 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/store/actions/books.actions.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/store/actions/books.actions.ts @@ -1,10 +1,15 @@ import { Books } from '../models'; -export class BooksGet { +export class GetBooks { static readonly type = '[Books] Get'; } -export class BooksSave { - static readonly type = '[Books] Save'; - constructor(public payload: Books.SaveRequest, public id?: string) {} +export class CreateUpdateBook { + static readonly type = '[Books] Create Update Book'; + constructor(public payload: Books.CreateUpdateBookInput, public id?: string) {} +} + +export class DeleteBook { + static readonly type = '[Books] Delete'; + constructor(public id: string) {} } diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/store/models/books.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/store/models/books.ts index 8e74598b47..7e629bd4a3 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/store/models/books.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/store/models/books.ts @@ -1,15 +1,16 @@ -import { ABP } from '@abp/ng.core'; - export namespace Books { export interface State { - data: Response; + books: Response; } - export type Response = ABP.PagedResponse; + export interface Response { + items: Book[]; + totalCount: number; + } - export interface Item { + export interface Book { name: string; - type: Type; + type: BookType; publishDate: string; price: number; lastModificationTime: string; @@ -19,7 +20,7 @@ export namespace Books { id: string; } - export enum Type { + export enum BookType { Undefined, Adventure, Biography, @@ -31,9 +32,9 @@ export namespace Books { Poetry, } - export interface SaveRequest { + export interface CreateUpdateBookInput { name: string; - type: Type; + type: BookType; publishDate: string; price: number; } diff --git a/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts b/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts index fe6a701ed1..fb958142de 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/app/store/states/books.state.ts @@ -1,36 +1,47 @@ import { State, Action, StateContext, Selector } from '@ngxs/store'; -import { BooksGet, BooksSave } from '../actions/books.actions'; import { Books } from '../models/books'; -import { BooksService } from '../../books/services/books.service'; +import { BooksService } from '../../books/shared/books.service'; import { tap, switchMap } from 'rxjs/operators'; +import { GetBooks, CreateUpdateBook, DeleteBook } from '../actions/books.actions'; @State({ name: 'BooksState', - defaults: { data: {} } as Books.State, + defaults: { books: {} } as Books.State, }) export class BooksState { @Selector() - static getBooks({ data }: Books.State) { - return data.items || []; + static getBooks({ books }: Books.State) { + return books.items || []; } constructor(private booksService: BooksService) {} - @Action(BooksGet) - getBooks({ patchState }: StateContext) { + @Action(GetBooks) + get({ patchState }: StateContext) { return this.booksService.get().pipe( - tap(data => { + tap(books => { patchState({ - data, + books, }); }), ); } - @Action(BooksSave) - addBooks({ dispatch }: StateContext, { payload, id }: BooksSave) { - return (id ? this.booksService.update(payload, id) : this.booksService.add(payload)).pipe( - switchMap(() => dispatch(new BooksGet())), - ); + @Action(CreateUpdateBook) + save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { + let request; + + if (id) { + request = this.booksService.update(payload, id); + } else { + request = this.booksService.create(payload); + } + + return request.pipe(switchMap(() => dispatch(new GetBooks()))); + } + + @Action(DeleteBook) + delete({ dispatch }: StateContext, { id }: DeleteBook) { + return this.booksService.delete(id).pipe(switchMap(() => dispatch(new GetBooks()))); } } diff --git a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts index 65b05ebac2..43f4d06be4 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts @@ -1,6 +1,10 @@ export const environment = { production: false, hmr: true, + application: { + name: 'BookStore', + logoUrl: '', + }, oAuthConfig: { issuer: 'https://localhost:44359', clientId: 'BookStore_ConsoleTestApp', diff --git a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts index 4848d1bd44..d56d02f60f 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts @@ -1,6 +1,10 @@ export const environment = { production: true, hmr: false, + application: { + name: 'BookStore', + logoUrl: '', + }, oAuthConfig: { issuer: 'https://localhost:44359', clientId: 'BookStore_ConsoleTestApp', diff --git a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts index e4bd2964f9..ac83b4714b 100644 --- a/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts +++ b/samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts @@ -1,6 +1,10 @@ export const environment = { production: false, hmr: false, + application: { + name: 'BookStore', + logoUrl: '', + }, oAuthConfig: { issuer: 'https://localhost:44359', clientId: 'BookStore_ConsoleTestApp', From b62bfd5f6270f0ee13814f23a4fbb52b1a23ede1 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 08:58:33 +0300 Subject: [PATCH 010/149] chore: update ngxs-schematic --- templates/app/angular/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 3696fec874..332517d5c8 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -48,7 +48,7 @@ "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", - "ngxs-schematic": "^1.1.6", + "ngxs-schematic": "^1.1.9", "protractor": "~5.4.0", "ts-node": "~7.0.0", "tslint": "~5.15.0", From 11aa0e4852db66f8bb13960693aa48b654d80173 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 15 Aug 2019 10:11:02 +0300 Subject: [PATCH 011/149] Hangfire.SqlServer upgraded to 1.7.6 in Volo.Abp.BackgroundJobs.DemoApp.HangFire --- .../Volo.Abp.BackgroundJobs.DemoApp.HangFire.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.HangFire/Volo.Abp.BackgroundJobs.DemoApp.HangFire.csproj b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.HangFire/Volo.Abp.BackgroundJobs.DemoApp.HangFire.csproj index 515f5d37f6..c629101316 100644 --- a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.HangFire/Volo.Abp.BackgroundJobs.DemoApp.HangFire.csproj +++ b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.HangFire/Volo.Abp.BackgroundJobs.DemoApp.HangFire.csproj @@ -6,7 +6,7 @@ - + From e53c6c73a7517c23a6ccaa965445c47cd63ccd11 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 15 Aug 2019 10:48:28 +0300 Subject: [PATCH 012/149] Update Index.cshtml --- modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml index 7b13a66aba..5d973cf16f 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml @@ -29,7 +29,7 @@ {
  • - + @project.Name

    From f125b17eaf1ca068a283c15576e91b2e313ff250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 10:52:59 +0300 Subject: [PATCH 013/149] Revised Angular tutorial Part II --- docs/en/Tutorials/Angular/Part-I.md | 1 + docs/en/Tutorials/Angular/Part-II.md | 176 ++++++++--------- docs/en/Tutorials/Angular/Part-III.md | 178 ++++++++++++++++++ .../images/bookstore-test-projects-v2.png | Bin 0 -> 6864 bytes 4 files changed, 262 insertions(+), 93 deletions(-) create mode 100644 docs/en/Tutorials/Angular/Part-III.md create mode 100644 docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index fdfddef683..6dadc24841 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -8,6 +8,7 @@ This is the first part of the Angular tutorial series. See all parts: - **Part I: Create the project and a book list page (this tutorial)** - [Part II: Create, Update and Delete books](Part-II.md) +- [Part III: Integration Tests](Part-III.md) You can access to the **source code** of the application from the [GitHub repository](https://github.com/abpframework/abp/tree/dev/samples/BookStore-Angular-MongoDb). diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index b322783db3..f18ec9dce1 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -6,6 +6,7 @@ This is the second part of the Angular tutorial series. See all parts: - [Part I: Create the project and a book list page](Part-I.md) - **Part II: Create, Update and Delete books (this tutorial)** +- [Part III: Integration Tests](Part-III.md) You can access to the **source code** of the application from the [GitHub repository](https://github.com/abpframework/abp/tree/dev/samples/BookStore-Angular-MongoDb). @@ -37,19 +38,19 @@ Open the `books.service.ts` and add a new method, named `create` to perform an H ```typescript create(body: Books.CreateUpdateBookInput): Observable { - const request: Rest.Request = { + return this.rest.request({ method: 'POST', url: '/api/app/book', body, - }; - - return this.rest.request(request); + }); } ``` +* `rest.request` function gets generic parameters for the types sent to and received from the server. This example sends a `CreateUpdateBookInput` object and receives a `Book` object (you can set `void` for request or return type if not used). + #### State Definitions -Add the `CreateUpdateBook` action to `books.actions.ts` as shown below: +Add the `CreateUpdateBook` action to the `books.actions.ts` as shown below: ```typescript import { Books } from '../models'; @@ -78,7 +79,7 @@ When the `SaveBook` action dispatched, the save method is executed. It call `cre #### Add a Modal to BookListComponent -Open the `book-list.component.html` and add the `abp-modal` to show/hide the book form. +Open the `book-list.component.html` and add the `abp-modal` to show/hide the modal to create a new book. ```html @@ -98,7 +99,7 @@ Open the `book-list.component.html` and add the `abp-modal` to show/hide the boo `abp-modal` is a pre-built component to show modals. While you could use another approach to show a modal, `abp-modal` provides additional benefits. -Add a button, labeled `New book` to show the modal. +Add a button, labeled `New book` to show the modal: ```html
    @@ -161,8 +162,8 @@ buildForm() { } ``` -- The `group` method of `FormBuilder` creates a `FormGroup`. -- Added `Validators.required` static method that validation of form element. +- The `group` method of `FormBuilder` (`fb`) creates a `FormGroup`. +- Added `Validators.required` static method that validates the related form element. Modify the `onAdd` method as shown below: @@ -173,7 +174,7 @@ onAdd() { } ``` -### Create the DOM Elements of the Form +#### Create the DOM Elements of the Form Open `book-list.component.html` and add the form in the body template of the modal. @@ -213,28 +214,32 @@ Open `book-list.component.html` and add the form in the body template of the mod ``` -TODO: Add a short description. +* This template creates a form with Name, Price, Type and Publish date fields. > We've used [NgBootstrap datepicker](https://ng-bootstrap.github.io/#/components/datepicker/overview) in this component. -Open the `book-list.component.ts` and then add the `bookTypes`. +Open the `book-list.component.ts` and then create an array, named `bookTypeArr`: ```typescript //... form: FormGroup; -bookTypeArr = Object.keys(Books.BookType).filter(bookType => typeof this.booksType[bookType] === 'number'); +bookTypeArr = Object.keys(Books.BookType).filter( + bookType => typeof this.booksType[bookType] === 'number' +); ``` -The `bookTypes` variable added to generate array from `BookType` enum. The `bookTypes` equals like this: +The `bookTypeArr` contains the fields of the `BookType` enum. Resulting array is shown below: ```js ['Adventure', 'Biography', 'Dystopia', 'Fantastic' ...] ``` -### Add the Datepicker Requirements +This array was used in the previous form template (in the `ngFor` loop). -Import `NgbDatepickerModule` to the `books.module.ts`. +#### Datepicker Requirements + +You need to import `NgbDatepickerModule` to the `books.module.ts`: ```typescript import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; @@ -248,25 +253,39 @@ import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; export class BooksModule {} ``` -Open the `book-list.component.html` and then add `providers` as shown below: +Then open the `book-list.component.html` and add `providers` as shown below: ```typescript @Component({ // ... - styleUrls: ['./book-list.component.scss'], providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], }) export class BookListComponent implements OnInit { // ... ``` -> The `NgbDateAdapter` convert Datepicker value type to `Date` type. See the [datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview) for more details. +> The `NgbDateAdapter` converts Datepicker value to `Date` type. See the [datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview) for more details. ![new-book-form](images/bookstore-new-book-form.png) -### Create a New Book +#### Saving the Book -Add the `save` method to `BookListComponent` +Open the `book-list.component.html` and add an `abp-button` to save the form. + +```html + + + Save + +``` + +This adds a save button to the bottom area of the modal: + +![bookstore-new-book-form-v2](images/bookstore-new-book-form-v2.png) + +Then define a `save` method in the `BookListComponent`: ```typescript save() { @@ -281,56 +300,32 @@ save() { } ``` -TODO: description ?? +### Updating An Existing Book -Then, open the `book-list.component.html` and add the `abp-button` for the run `save` method. - -```html - - - Save - -``` - -Now, You can add a new book. - -![bookstore-new-book-form-v2](images/bookstore-new-book-form-v2.png) - -### Add HTTP GET and PUT Methods - -TODO: Description +#### BooksService Open the `books.service.ts` and then add the `getById` and `update` methods. ```typescript getById(id: string): Observable { - const request: Rest.Request = { + return this.rest.request({ method: 'GET', url: `/api/app/book/${id}`, - }; - - return this.rest.request(request); + }); } update(body: Books.CreateUpdateBookInput, id: string): Observable { - const request: Rest.Request = { + return this.rest.request({ method: 'PUT', url: `/api/app/book/${id}`, body, - }; - - return this.rest.request(request); + }); } ``` -- Added the `getById` method to get the editing book by performing an HTTP request to the related endpoint. -- Added the `update` method to update a book with the `id` by performing an HTTP request to the related endpoint. - -TODO: header ?? +#### CreateUpdateBook Action -Open the `books.actins.ts` and add `id` parameter. +Open the `books.actins.ts` and add `id` parameter to the `CreateUpdateBook` action: ```typescript export class CreateUpdateBook { @@ -339,9 +334,7 @@ export class CreateUpdateBook { } ``` -Added `id` parameter to reuse the `BooksSave` while updating and creating a book. - -Open `books.state.ts` and then modify the `save` method as show below: +Open `books.state.ts` and modify the `save` method as show below: ```typescript @Action(CreateUpdateBook) @@ -358,9 +351,9 @@ save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) } ``` -### Update a Book +#### BookListComponent -Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add variable named `selectedBook`. +Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add a variable named `selectedBook`. ```typescript import { BooksService } from '../shared/books.service'; @@ -373,10 +366,7 @@ constructor( ) ``` -- Added `booksService` to get the detail of selected book by `id` before creating the form -- Added `selectedBook` variable to reuse detail of selected book. - -Modify the `buildForm` method to reuse the same form while editing a book. +`booksService` is used to get the editing book to prepare the form. Modify the `buildForm` method to reuse the same form while editing a book. ```typescript buildForm() { @@ -401,9 +391,9 @@ Add the `onEdit` method as shown below: } ``` -- Added `onEdit` method to get selected book detail, build form and then show the modal. +Added `onEdit` method to get the editing book, build the form and show the modal. -Add the `selectedBook` definition to `onAdd` method for reuse same form while adding a new book. +Now, add the `selectedBook` definition to `onAdd` method to reuse the same form while creating a new book: ```typescript onAdd() { @@ -412,7 +402,7 @@ Add the `selectedBook` definition to `onAdd` method for reuse same form while ad } ``` -Modify the `save` method as shown below: +Modify the `save` method to pass the id of the selected book as shown below: ```typescript save() { @@ -428,8 +418,6 @@ save() { } ``` -Added the `this.selectedBook.id` property to reuse the `CreateUpdateBook` action. - #### Add "Actions" Dropdown to the Table Open the `book-list.component.html` and add modify the `p-table` as shown below: @@ -471,15 +459,16 @@ Open the `book-list.component.html` and add modify the `p-table` as shown belo ``` -Actions button added to each row of the table. +* Added a `th` for the "Actions" column. +* Added `button` with `ngbDropdownToggle` to open actions when clicked the button. > We've used to [NgbDropdown](https://ng-bootstrap.github.io/#/components/dropdown/examples) for the dropdown menu of actions. -The Actions buttons looks like this: +The final UI looks like: ![actions-buttons](images/bookstore-actions-buttons.png) -Update the modal header for reuse the same modal. +Update the modal header to change the title based on the current operation: ```html @@ -489,26 +478,24 @@ Update the modal header for reuse the same modal. ![actions-buttons](images/bookstore-edit-modal.png) -TODO: description & screenshot ?? +### Deleting an Existing Book -### Delete a Book +#### BooksService -Open `books.service.ts` and the the `delete` method for delete a book with the `id` by performing an HTTP request to the related endpoint. +Open `books.service.ts` and add a `delete` method to delete a book with the `id` by performing an HTTP request to the related endpoint: ```typescript -delete(id: string): Observable { - const request: Rest.Request = { +delete(id: string): Observable { + return this.rest.request({ method: 'DELETE', - url: `/api/app/book/${id}`, - }; - - return this.rest.request(request); + url: `/api/app/book/${id}` + }); } ``` -### State Definitions +#### DeleteBook Action -Add an action named `BooksDelete` to `books.actions.ts` +Add an action named `DeleteBook` to `books.actions.ts`: ```typescript export class DeleteBook { @@ -517,7 +504,7 @@ export class DeleteBook { } ``` -Then, open the `books.state.ts` and add the `delete` method that will listen to a `CreateUpdateBook` action to create a book +Open the `books.state.ts` and add the `delete` method that will listen to the `DeleteBook` action to delete a book: ```typescript import { ... , DeleteBook } from '../actions/books.actions'; @@ -528,11 +515,12 @@ delete({ dispatch }: StateContext, { id }: DeleteBook) { } ``` -TODO: description?? +* Added `DeleteBook` to the import list. +* Uses `bookService` to delete the book. -### Add a Delete Button +#### Add a Delete Button -Open `book-list.component.html` and modify the `ngbDropdownMenu` for add the delete button as shown below: +Open `book-list.component.html` and modify the `ngbDropdownMenu` to add the delete button as shown below: ```html
    @@ -543,13 +531,13 @@ Open `book-list.component.html` and modify the `ngbDropdownMenu` for add the del
    ``` -The final actions dropdown UI looks like this: +The final actions dropdown UI looks like below: ![bookstore-final-actions-dropdown](images/bookstore-final-actions-dropdown.png) -### Open Confirmation Popup +#### Delete Confirmation Dialog -Open `book-list.component.ts` and inject the `ConfirmationService` for show confirmation popup. +Open `book-list.component.ts` and inject the `ConfirmationService`. ```typescript import { ConfirmationService } from '@abp/ng.theme.shared'; @@ -560,7 +548,9 @@ constructor( ) ``` -Add the following method to `BookListComponent`. +> `ConfirmationService` is a simple service provided by ABP framework that internally uses the PrimeNG. + +Add a delete method to the `BookListComponent`: ```typescript import { ... , DeleteBook } from '../../store/actions'; @@ -577,10 +567,10 @@ delete(id: string, name: string) { } ``` -The `delete` method shows confirmation popup and listens to them. When close the popup, the subscribe block runs. If confirmed this popup, it will dispatch the `DeleteBook` action. - -The confirmation popup looks like this: +The `delete` method shows a confirmation popup and subscribes for the user response. `DeleteBook` action dispatched only if user clicks to the `Yes` button. The confirmation popup looks like below: ![bookstore-confirmation-popup](images/bookstore-confirmation-popup.png) -TODO: End +### Next Part + +See the [next part](Part-III.md) of this tutorial. \ No newline at end of file diff --git a/docs/en/Tutorials/Angular/Part-III.md b/docs/en/Tutorials/Angular/Part-III.md new file mode 100644 index 0000000000..ffc79de5b1 --- /dev/null +++ b/docs/en/Tutorials/Angular/Part-III.md @@ -0,0 +1,178 @@ +## ASP.NET Core MVC Tutorial - Part III + +### About this Tutorial + +This is the third part of the Angular tutorial series. See all parts: + +- [Part I: Create the project and a book list page](Part-I.md) +- [Part II: Create, Update and Delete books](Part-II.md) +- **Part III: Integration Tests (this tutorial)** + +You can access to the **source code** of the application from the [GitHub repository](https://github.com/abpframework/abp/tree/dev/samples/BookStore-Angular-MongoDb). + +### Test Projects in the Solution + +There are multiple test projects in the solution: + +![bookstore-test-projects-v2](images/bookstore-test-projects-v2.png) + +Each project is used to test the related application project. Test projects use the following libraries for testing: + +* [xunit](https://xunit.github.io/) as the main test framework. +* [Shoudly](http://shouldly.readthedocs.io/en/latest/) as an assertion library. +* [NSubstitute](http://nsubstitute.github.io/) as a mocking library. + +### Adding Test Data + +Startup template contains the `BookStoreTestDataSeedContributor` class in the `Acme.BookStore.TestBase` project that creates some data to run tests on. + +Change the `BookStoreTestDataSeedContributor` class as show below: + +````C# +using System; +using System.Threading.Tasks; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Guids; + +namespace Acme.BookStore +{ + public class BookStoreTestDataSeedContributor + : IDataSeedContributor, ITransientDependency + { + private readonly IRepository _bookRepository; + private readonly IGuidGenerator _guidGenerator; + + public BookStoreTestDataSeedContributor( + IRepository bookRepository, + IGuidGenerator guidGenerator) + { + _bookRepository = bookRepository; + _guidGenerator = guidGenerator; + } + + public async Task SeedAsync(DataSeedContext context) + { + 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 + } + ); + } + } +} +```` + +* Injected `IRepository` and used it in the `SeedAsync` to create two book entities as the test data. +* Used `IGuidGenerator` service to create GUIDs. While `Guid.NewGuid()` would perfectly work for testing, `IGuidGenerator` has additional features especially important while using real databases (see the [Guid generation document](../../Guid-Generation.md) for more). + +### Testing the BookAppService + +Create a test class named `BookAppService_Tests` in the `Acme.BookStore.Application.Tests` project: + +````C# +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Application.Dtos; +using Xunit; + +namespace Acme.BookStore +{ + 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 == "Test book 1"); + } + } +} +```` + +* `Should_Get_List_Of_Books` test simply uses `BookAppService.GetListAsync` method to get and check the list of users. + +Add a new test that creates a valid new book: + +````C# +[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 = DateTime.Now, + Type = BookType.ScienceFiction + } + ); + + //Assert + result.Id.ShouldNotBe(Guid.Empty); + result.Name.ShouldBe("New test book 42"); +} +```` + +Add a new test that tries to create an invalid book and fails: + +````C# +[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")); +} +```` + +* Since the `Name` is empty, ABP throws an `AbpValidationException`. + +Open the **Test Explorer Window** (use Test -> Windows -> Test Explorer menu if it is not visible) and **Run All** tests: + +![bookstore-appservice-tests](images/bookstore-appservice-tests.png) + +Congratulations, green icons show that tests have been successfully passed! \ No newline at end of file diff --git a/docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png b/docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..8701164d7514d15b27b6f83dfde1536bc38f5c58 GIT binary patch literal 6864 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 Date: Thu, 15 Aug 2019 11:07:04 +0300 Subject: [PATCH 014/149] Added tests to bookstore angular sample --- build-all.ps1 | 1 - docs/en/Tutorials/Angular/Part-III.md | 4 +- .../images/bookstore-test-projects-v2.png | Bin 6864 -> 0 bytes .../images/bookstore-test-projects-v3.png | Bin 0 -> 18079 bytes .../BookAppService_Tests.cs | 72 ++++++++++++++++++ .../BookStoreTestDataSeedContributor.cs | 43 +++++++++-- 6 files changed, 112 insertions(+), 8 deletions(-) delete mode 100644 docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png create mode 100644 docs/en/Tutorials/Angular/images/bookstore-test-projects-v3.png create mode 100644 samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/BookAppService_Tests.cs diff --git a/build-all.ps1 b/build-all.ps1 index 023cbdeb4a..649abc5f8c 100644 --- a/build-all.ps1 +++ b/build-all.ps1 @@ -21,7 +21,6 @@ $solutionPaths = ( "modules/client-simulation", "templates/module/aspnet-core", "templates/app/aspnet-core", - "samples/MicroserviceDemo", "abp_io/AbpIoLocalization" ) diff --git a/docs/en/Tutorials/Angular/Part-III.md b/docs/en/Tutorials/Angular/Part-III.md index ffc79de5b1..93934da396 100644 --- a/docs/en/Tutorials/Angular/Part-III.md +++ b/docs/en/Tutorials/Angular/Part-III.md @@ -8,13 +8,13 @@ This is the third part of the Angular tutorial series. See all parts: - [Part II: Create, Update and Delete books](Part-II.md) - **Part III: Integration Tests (this tutorial)** -You can access to the **source code** of the application from the [GitHub repository](https://github.com/abpframework/abp/tree/dev/samples/BookStore-Angular-MongoDb). +This part covers the **server side** tests. You can access to the **source code** of the application from the [GitHub repository](https://github.com/abpframework/abp/tree/dev/samples/BookStore-Angular-MongoDb). ### Test Projects in the Solution There are multiple test projects in the solution: -![bookstore-test-projects-v2](images/bookstore-test-projects-v2.png) +![bookstore-test-projects](images/bookstore-test-projects-v3.png) Each project is used to test the related application project. Test projects use the following libraries for testing: diff --git a/docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png b/docs/en/Tutorials/Angular/images/bookstore-test-projects-v2.png deleted file mode 100644 index 8701164d7514d15b27b6f83dfde1536bc38f5c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6864 zcmb7}WmuGNxAt#BN*bx5mF_O70Tc#??nb0xXpru1DM_UqVUUrK5(%Xnq@+u_q@~~S zzn^FC=fk@{>@Rc79M?Vfy05j)S?BLs6Q`-JM1Tjv0|0;kqO7P50BGu{_edOc)aw+w zCk_CB-ar(=y1x1Q1wn4K>p?vsSZvvp)1`9eZpj2`|#0fPmSHg}LTT^@g?)U#Tw(o9h=h=a>5@djls61h1BEZRChcXJ-C1 zFWuT!!sLjVJ$Ox=Fo-dY2t>`lHdalEGUAX*h$EgTbGK_Mr5aWVC>I|cF<^2d+wSv3 zs3I7Zb(hPM8LKVzXH<<*9+jyue(>G9rGa3&n# zFznEvYx*NKA<^^v4*fJ9!tcbHztBRhYw-b#q%a#Q^&K6-08hct!81+M*vGW6T{cCM zs~YBa>AO0m1a*ZuYBgPf$t$%lj4i%>%fT9%c$g*)eV9W}A38|E_9LDhIo?!oPrs zjK3xgF+3Pd9=bS!Kvt>pgm~V%d*k$|Wx;B59lc`vc#xHvvA4#!=MqhI=j11W@Nec_ zxi_EQtWB|didFff^^XbATO|gsL<{1G zb5)rHDLr9koG^NUvrAr z6oka95OQP*HMXF3=pU%$JZ(jAH}Z&4dS`+?<-pptW}P@Ms8=dqKUz)6;;jLxVqVJG zZm3+5dQkD&QS-YAtdpL@;53)RKc`tEGUs|e4t^YlJRV4;r}!+%XpAN}#CH9`zq-4s zlD&A8cxczrfImiKLBr1ZaCKbGx23PmyyR&c&QBxWDge&_}#zTZ&zrhMk|K@O({lb4= z%}1tF(lb6+()w-0Acy0SfjNO(;hcw8K+Mr$$tRiSkP!=Av&=z)M_Ykx7*kvgB4IP{ z)R`^iRSfFA_}gPz{*cG8w_U@IAz(E!n5NAM8Q>UhkHPEVn@WUq~j zV4wf{%qIHyC$;Hm8KZ}+^(449a5UE^x{y()GgKhehFA9PGA9RdoQ{@;w~rt`EGlxjdFz(faAZ|W26v8E`c^Gwgg-rN_ zu6T5euG8sjRGnICXOJ+hsIV4=!W1DNyIJldkJyNEA1Q2sV14MB4Fq7U&BAk(pr!9Z z2blY(4Xh~(+*~r8TFzOq#XCJ*T;YWQVa`l@VieO%V21jrn0IWYX{EP3ggO$`a<)P| zU4ak~=DtzJ<`cdf+I08(RMTBwDCWilyvQ z9m`i{S_rDVKDKzC(c2W|41b?J&4$DJ5ZtVqw+f#I|f=6m@&Nx4HOCH|yx5508 z>~ul2_#I~eG0lDXd*Z2?70OOCelccDgfVv2Kp|&m88ZtYN2~HhxWCdohINjxy6DxA zmvY4HpT~q+f}x^iBglI&o#^MfpfRyA4Z<550Oy0t4u+1CNwhl8sL)k8oZ1yM)n z+3<}q$w3!dbh@PNj$66BZ9)nEDE`PKM$(RPD#PV=+4;C{QF8S{Wbb?^f6nGcLHCU} z`uJ<@%#u3F4z<$E7ml|*5}5dBDyar{t!EE^$=+QLXi-Of6!CE3tD6#yjI>U;^g^GI zXEh0kJpOp=|DuJ|9zBJz*B{%Up6Oqn5L$#X06>8bY!x;__vifleEfsP^n3XAD;Mbf z%tCT=cG&h8-7v;j8kwTIK_Ly<^Pg+pap#}B7q6y5+U|a(R2omDE4-RC7Y}D#{3GR@ zUi#zmWYb8LhIjU|qd9`PLyHbv+hUmsoP#UXvjKS9Dw;T($Q@L#6uri(Jye-g=f^{IKwG+^VMt9U_! ztHq*kSJS!c*Co=eYT9td6~h+I`?ZEYZL(Eo2#p5gdW);u``b&MkQh`AUX#8kyB}+o zZCOcr!)x-j^!95^WRnFSfowp3+DCDyMg1RrFIz?&^vUR}N-^iF$)*G}vZdeMs`qZo zo(ATxbZiEKLU^!{M^|Je?}B!(+k97@7s#F{)0RJ;(CHLm^KXDr-+c<*<}>-~HAFDy zPl&sMP#`W%#!PB?1R1;&XHq+j27EQvE$qps0u$4O$xA;oJ^8fcJomXeUflKi!>1S#Tww9KAIv}4 z_eu6>tFEW*{))^FtqkTFfDAqodpB^WKl3|-ev)(P}XVLy-3Ze!NY?Yt^#3XnE zf0j3rx9{^$lz;C{%j&549fn*l@6vn@;cLOR3t8~_efFtiXrSb&`p4-Mj3>Q_Rq~F8 z#j0(^!}`CW50~bT(x+vP*@FkBWM}Gl42|sg-iGmn)NMKrZ2YKb`+3RmruC1*t`8=7 z&sS|Z#QVVN_w_!7OzYLv{mj?31&dZ6p{8*jf@{lTyAqZ+1&3;HnaoEIKL@Q}=WWop zc>7TTK)#mf&GGE|TOI)Teb+z~jQRVufV+4ENoiA@o6VfaJ=em$`2pYcSMvz6PMtp4 zmhILyy~UeEbF~iCzs}}=r#*!#Q4hwAE$Fn^5m&8NHkz0du#F+mj%V!_|Ez3eH z?(j}@+DVi`h3Bhy5)XC|~6zSlr(`~mI zx|rSN5@~?n)PXpG~15*xg>adYGy{q?kX8BKq0NZOP#GjDO3%KNz$9S zIo8*>T9K{XeM(bY6X8>@AobZJ0)en^keV(qRdJdWkm{U;wp^f&Es|k@9n)({)b&6e zR@L?;k=0kU&qSpH;n*ps+pzxp`EzkzN`Kb-)gUt9_YVv{gF8aP8MTPtH(F?02V1g( z+#_6;x13&+pGk1_IQTF!noL`IPW8NTev~Pa|7|`+B|&T58domvF?(=ucG@}z+7_?E zG;3`a3UQgsI|YDtHxviINVuX9d|JNGqu)BOo^_$3o$Owbw5=Q`%T2_{wOz+KFSe5- zQO@j+|GU=eaggtN!qMyl`Nsu(5M%lnc`EhXUyXe=Fmt%1WamU+OJ6cg(vR5?8Aqw;*uSU35*<|^ZBI)`0n@SJw0f;MZiqZZQ1?>h!~R`g900LcAAX$tr0 zp3=s^&u)fkd9OTaHE*BT>dTG4yV!I0U@ajSh|yM;2&B;#M-=dTZC*dJa@or-h7(F? zU`zRQrIfv`XlQ8gGE<$Lf_E~-czH~LP}PT&>Mh6J$iegU2%$F? z2TnY-vIWZRkr_zmZOc%i0C^%eAyXNSGKXSRy`no9$z2MNg&@o{F zO0Y^?lUZfwHNW+}ANEYpgq9$mM|i6HT$47ZAfq($%prEL=^&m#D`{tCl@?fBxH;E9 z?ruI)9WIO(fp2gjrphs7e zFy&I-cY;?cS;v%aeXX;Ke^^5T$dO~66Nbqw^EFo=7P9m3Y>c6G(95^=4 zjx=fEhHHz8k`^j|fsN|}A0%QuNvaX{QFruT*k<=ORb{=dbCo|c9qkwO(Wqr>21N|V zR0XlC&H^1efRImA(U$j&HAg+|!&pX;AiwML{aKAbfqE=j2AMUoZClnf zEoswyjP{sKnbXDVmYeYvmFKD1V7T!FPlu4s?ZEJn3NgaS|tBAXL3|? zwk-Siv3%69VI9!3CuRm|Mqz=i&=8}MmUQK#+0e?iNLBtQ>PP7gn3_?nw7bet@Z%lc z4hR{k*0hl2f3Ltrry}r@2uE!391%~>K?DL1^z3uZqq;)_wKWZ@Y1S<#-qm0Vja^xV)xCgt?T=c*DrX^^o8KOyq zVd7#xCq(53-y5|^wS#gr(19`C-z)I`Co?UGQA|OR>?-K5E77`DxHH%`fy`mQ(!4Hp zd&N<}Kd5{cwL$Tz61*hr=pFq?n?M+jw#O52%`@0Guf<)CjT~~Nx027BPPeE$>8w7|okn)qIlVC^}t81Ig%dDu2IZf%yu<^3-e zjmqp_Wd=G09hcNC+VBX?fu1y!^W;2SCTmU~K+uZra2<~~?nsu&kDqc1e<|le(@Zi= z#FFL8I%CUGFV3IS^mzYahc&FkTrHFEosMpC6sDyl?hDhrlFSdzcQWo?H6?NyLC=Cg zhGy7$_EPqen5(ec>lY|yO_CNUQlFM zA*ZA*+W^}G?_wcq*RuW=0t7OGQphstHbRO8uf*V`>jORw+*Ej7dV&-Sv7fOxCk^R!#THfmU|(QX?#naNSTW^imXe@L zOzHJ>BY_ec47B&I;hGu+)NH17hJ0GNvHq^iWWH)qwnL9Lgvmk0eElp6nVGN$R{ZTC zTi4SrrdjQ#seX?udy527eUgt~LX%M^@O}zhW|IuoSoa{m?|_$3uu(XOp)o7g$f%*> zRSMwl;-qZd(g4=82P~(Nd`U^tVxs5sNHYs`vlsoUb}Fb+J}$=UK_;U^g|-G2rvqrT zqObs;{VQ#YB?W9k>x=z>UzHXG0^Lm(pG)x6h!gdG(dycJjZo?9Je8ahs17RiFbEaM z(izJUsOvHiWs~FKB^0K7NLa&f9>bSCS3&%~e6f!(rZ4lkZV_5&YimsF^}+`V3SOW+ zpzXF2&g5{jM6O%pu2;lC{rPdCo;3_5O*_E{$|*Zq%UgzTI(_oVE%(IhSz?`&m3WYU zZ!Ky>mC~_ki?HyNQgkRZX2U-Ds@_pPDoz@xt3(cZMV{NAS<3gt4u4YO=@d&fhRhC6 zclYcZsiEixl>%y~Y6>H&i;hi~zhBR^LwI@ckL(KP<0WB@Fx(HndMob6*j(kda6yIwTlEiZvMor^=Rm3qEwj=^@bHzBUBRMoE+jg|I8u!Ux|8I zJ_@uq1kcm_CITf)d<`wgC@p1=hxazfFpX!!6W_wb4H;N$7y`@tG-6^e zRnfv{H1N>P8^%%NBV2};bpAN$JleUAZxYoDnJ3=A@0}fsjxy*3+2E6Uc-VY_~i2L-lhmUpK&upE=DH(7z6nJ9~SM_#D6 zQ!M^@qVP@j&Olo7D$loluzp;$PLYwJVWZ<*7Tv}C-Rx^IwB@=dt_O{q=N0uZ+-y`W z1Ai$aCZ4(5a{&Aj5k8qEzN(f1sguPky7tL*PwTmAZzs51O^q7?;0*hF0CQwJYQ8sgt)RVNIhy}VaU~$#r5m%T>(+c zP3ZX{5;ZJgah%Al0ai|1Se+ zMs@e;wsjtSVSltcp?!HNf3Ik+62TeI2{gtv_zu)ER;Z!M|G%;b1vq@%kW-l9?e%ED z;l;5=3>P)nYFIKIUS*1O{Ta%2Ld;D3f3aBU@=>p0-9e%0fnTM=Mr@RR+lCX|P7xoe zQ3jdpT`Vv3giya#9$HVF%J`)(pBn?1Q8BcrC(^d0vxcSCp~U4_@=ecv<58yl*vBW$ z4(~NXkJEnCgeu)S%7ak8>)=S9OCCg6lZR#FXb$n_2LRMu-mk~8p2^k3ujE?Nr(_^v zVD{&!W9lRd4{}YSo(C(9eP)`)A%ht7K;gi)R-5Ig=TqGXgNTpx zDC_*iDSVTdy<;7^t;}&E*q)E>CD!CobdYawkvL;ZnPTw7X|2RJLJO1;~Q`j?p zcIo?P(%BjLx1^RK24ZO6L-*3Aec?AM*1$`phblDb z`k6!Ck7qvgw(H7PyzGzJD<(7cKFg>(GWZI9j3T*tdk{IuPepUwYu)E5YCfs*jr%au zKrdDcqGI2A?5QVGBRXZ)yA#GKj6$4$lMRZB>>D#-iK{P}RPP61ks`m@JB7WYKT-&xBt}!*) z0p3d?dUATL*&$Y|>LD3$9VM5SlR5+bxaIO=0)FDE+8Yp3;bjR(NJRVIhQ=!<`JV{l zP&rBDH)0m1AKzWRA+r=!dnGkw71BRG)B|!Hfl8C zzhFkmFIhL%)^c;CXT)vz!)Vj1Ud*a2SNya<>=*oAb5ZHhrMZ`eJQJg9_hm6U%9s%N zZ!Q?|VPUgkO`@=Lz-4Unm|1#;fwS4I#<;F`kBOFh8VnO3ITk*0&@9zp?2M}Aq~6Cg z$x4k=R-BkLRVKPwTbccIADY<5QK- zH-F+}6Fc$V<53TzJiGO{Q*-FZ`4|~$d%Af%Hq?_#3C&}yM?m-;vg4y~pN72RVAk`| zt!jx_5|U+=3F@#d#G+{VF62jX$~exN5Ophb@v zxS6rI7#mDpw>KS(t*duF{nY#wjp%zLzgQ>}&%)2oKeZRc;>*T^5+zY(Ad$E@T)Z=E zbx6VGRt@f+9v^e(8kWmHv(0Qy%G%H}w45Q|{r-Jh%EEE3@&*z2t zUtM`q7Squqgc-Nf9fFVZ&u#f(=ABMehr#ORU7O;bP7?a>aSg)%Y%K;alOIatR0h_=5}iIl9YhY&+74N(c<;GCzX86tjrz~=f5nx&k2joRU(pnEMY=Ad;# z0vHF^t2sl>%Q@alI~b|sH%YLrx0e!={l#Bywn#X>x|mxId(p-3$(Lpom9w_-kFg1t zB4!>Zuk|$G>Z$2TcjZc6!|j4oZ1+y6@qYhmpnvVwbzXNmH7~z@@tOW~(LDQ&L2EK_ z+Oyp5z{=bHtwW0Z1Javmz@l{!6${o3SbN}!XSX;}6As5I)T3atJ4jdmQyx0~pp zY!;A^XV8G5j4lrFQH0KtJY!khdVW0p6W@C3*m;Ja66a``Ani4}#1^c|Q!F^*Ofzq8 z_NaP1vjy*VlV_$a?`?jq-yH$-;L;sk%y+Z?>Cs#u;Z+MwXhgD~Aq39zT4YyLk}4gn z=rOcD>AApwQ6*{EdK@xv(RX&KQ?+ro?793_aOSjL=E6&D7t%rCNhUC(!C9=^(r`POHGs^jT=*q()%+*FYlI$vtch$Ox zR(V`v$HYG&ZLS4sllA$!$nCWX35=;p_nNBX$4!oRXvoLX z>d7Q#24SN1sn$sM88@?(?K~P@WDKdzPAw1O*PBvEPj$&p_f-a-v<9!kI^|RkmgJu% zSe@BS;A2gQG}AShY%B8;h@e4dhP~FwaWV?q827XK8729N1e^$J8Skh`O{HQ7sJ3k6 z!Mi<07C)KBX=jSG+-3T2d6(tVjB-dL%;OopDjboNGPgTsljR5}g^x>zQY{dVcQSlf z#rdhpW(v3J@2DgpVM;hyA46N75b@;EKY#LL|6nrfP)~#p`wipw0FqEF!=Z=6!sn+` zJ;9{arUw=5TeOy&qK8t7I}Rm*ex~{woz=Gb;`ZVSh6_~`mA4QeJY-EZmZ`y5lI#>% zsoi|an4SniwQ&2PJYTpI`07{Qwc*&QqG&{}Ra!9D*Jcw9F8a!U(G6KBLeWI58j(jLFYz=O_h+?y<0-J0t9XjCS;pabBMj2wCPF2{51!~>dme|`kE14^# z0}*ajzq4Wzg_%vf)vvd$^$<)!CkAgiGlA9iSeL!V49t_=QUof_D(*Q3M%8yvESBD777ZD*L4h}y%VzNfI zPP>coPM;c&Juo8e-BFP8NvnJl0zvq z729i+`@2H1sQoF7GTB`G+jB1JfLAIhjcOm`i+!(%24`&xR`B}rphlx3#SOekp)sD> zPEm!LGxKVB#=5WQ;D!em%G8$j=;9-uc>0^ZG3IrxrPmO0I>4@P6X$ChyWR8*XGZHi zM0l!Y8?ZAjtmclM28|$rs@iYQ>Fhe`pGPk@75E$YkKT!(^=CKoL;;saQosdeXpiC)iDm5Ww` zW#?t%Q2!qP{PBnaygX;$F7u&^a=OgQO2KN&R z%?~Hu4~@zUWC@SX&?#W^f(2aF4o=q(G<&flEjaKGd$|K#=K>Uq!I_buU-Xv}`_R>10YC3t_VIXF3R&y(GH zD{a(wNT3@;rG_ld(bQ;;n$=OPHt|_26s>e#XHO_(c*@-v_;O9^5R0RjXd}B`$@o)p z;)oE%qMe%zv-Os2zs+)VC$?&Q_bqJMnqx6qv^zJjyY6{+PuS>YB0G}+%1@L2eccaz zG|3XuJHj8Ct6`x zFU6>=6QEOP6)9_kpoNjQ0?hik&ot@H%wqE%K7pLJVFPr(V^^UW)EM^-5c%r5$!#oH zn}TYJpO*_|jtu5dBIGmfk4~N*i0l;h1_4Pu>JgcFb9eQVj+Qpd>wL&^5*h?DHt6JO zoqd`Mn;3X_KI=@HM8fNIpEKPCy{PS$oHtj!X74s1^YaHhJhJHOIar>rCnCVUr>=K& z*-2jXg$rg7s=b^AhZ#|uosA8YpU92<(|V<@TVFEE3{mraI?_t!ucenGFwCepJUz0k zY-~Dyt@)0%L2L1I0g~Ssx{mD3X1P(AWMK0}>_d%mow*r$EH~P`dq<_Cqf=H|%EN2F z3j-+}v+=G!tQhm1tIP4{QtgG66|bGq8#|wi^zM>i;N((Bc0;|hysuMhYHE^_%mSF( z{Jm-nA0Pr^ZpbXZK&=H9REq8+)sBZ&_Xg$w;z4*y7%E23Q`3Q{*W2iw7ezP?VMS9?6Vp8|*_ zrHl`ICo;G01BK#d{8_QOBmUN@?ASm zVR5m!gF`KI!vN^JZzsOKhm3mizyuIqjGdP;t>Ukq! zB49B41L`VurOmI&iGDIkxB&l{F4|kJlbeFdhj|MWaM9k&rVO$Mk;fi*4HY^QC;`b= z?*bV_YMh0DDxnV``|AsVFGm*y)trCcVyiygd}=Wlm_tb^|IFik8?{Tvl+BU&Qdz{T zQ(+VQ&L$<3mJ#AteMzIK_d`6t_UUZX2rK^fx&h^J(7DCQbBl|ucwy4$Vth~Z!(C6< zFNoh|9z)ZKX7Iu3S)7Wrap>ZFV(4PGjMVo|ew9y${`%SJS&DA{<+d2mASJpYNM&RP z_Mv8^;w~F9PY;5O1ny)EZ#b~N@phfd?sa&Jrd3JYk_e?D7-RrN5 z@dOR}wIbzx`XjXJaoce_cQAH>MBS*x1eiZK$cUdWhaa@Xrx>p~QjUYZtb`BGKb_xp z=BAvp@^LsLb#DEN_P+WxD@zRt%%q~G{f7J5cc|S`clU)OQl^*t20bz()2);5W&_C} z<9R<+g$V{&X+$WSQrrj!z9)O18tV@a4L6-UAE=apK%JV;bDI2L-l8nm4S+zEtsZ-A zBc0T6QG}066QM9HwV>YZnb$S^=kh<$fpV{rK$L%=a@KeL z>3N0*30mLmAVqCGQzCjjH*HeF`Q9zMW_2DM4aYv3ZJ zo~1Z!xc~YN`Y?SQIhJ~V#~V6oZs}+ONp?7D1)k7qp=(ejc{)EA(?F|KrMEcZC za5WFS*GM72DbQgyKZM`^lws$;LC@+-ZU1~Qo2YuS{MhuA{7NUaBKZwyI9_I}WTU>#SP?kA3W_jt=py*q?-XTOTj$PWTWUR#ph_zw&KoPytmK z+4m)k2!~fN(VXRqyX~;mQB9-sX6MJrZY}mbRyyt2#D^km?x(gX(-mhKp-BSMX!v=^ z-M#~?RnNK8FOuVlK$*z0imxs1ZVfMG6mbf_>EXV1XVVr?P_f-Qd6m*TV)I{#U>=biM-s0nBr?kKI6OZ<{x}6D$2&!E#_SYa58T2 zX@?E(vnB-Vc%yl=*|tA3^&c>SDF(H~(|}^aE9q|^-(B;@l^k4c4$(IQ>p={TWNaoE zNcU;y`E%U#x`fr>mbhBBxBcTDmR)Fg1Y9o0%aW()^}>4sG@)JFegmI>^>l^*V-f0C zR|)i-2M$i4V3UTbPDub@hyu6Jes%(12TVB`WS?<>NbF^{faH{OUrC?LZ z_#plFC#u*FrjCN$-jh}e6>wdR9{yVjG8M;&5|H#G311E zciMAjLKb?O&#fa&1uRi3(ZbzD?=8Cy@H=I*Ls-T ziaF&DZ`$$))(Q05?4vHfoo(JngMT^wehTCNP{C*P-cl+Kw)K<0;u+J&S<|5#7(Rdf z6hguA8%QLEGX&LImVT`APres$Hs76_i)Xl4%aoi_5I2KXKDnJ0@M0U1sgzb?SA?Y$ zQ6t^=<`V&f`FVI~ZDV6&>oY0acmc)7t;=Zi}p|qZncz zv8b>hTnYbm8lGMp-4Q4@uvCd)Q-hl9CM8lf1l%%C_!A`T(JP3_DBTe4NM9k?YDmzL zlpsxJ_zT!_ijP!qt}SB7S*L!rS+*o@X)Wr1iKa>uU)aKqT8BrKFN7ANtVx-&2z_Uv zqo!u3++0z*3F((@rgSdjpOy<;?SO$>6j_! zy2s3M@j939wIc|7&G}|_sz!%U)0~bjLV~Keh-Ic5RoOQi7DRk}kPO?XH5dFRNkZSw zp@tD}2vr%dh*oTSEAM)Sx{3*Z{Tj?OnT5h#_%}`J^v}abpZfxV$K0tZX-g*)w2VjUGtESLzi%7OmNK5BH9}H1~q?vg)wNfUfdZ&I$G~q_v$~JQV97a z;Cng2WKQVuBN)rt)U=7O`WTpu9~xvsmwF0^I@%Y(7^CN!^gM+*uT^9M`L-Zp2%smO z!(~2N8odg0Eo2;z;l0w^&muvK2&hP0 z3MCI|_o=3#bQFG0^g-o1bw{dV7|>Q*lGq5Y;kY7d7X=CO!B$S_ZxI~79Q=PlOU6YslY zXDo&e6WT!gBKdtrP_IBkkKuuZ>9f2j#x8caq?R(QC&D0#KJ3XWQ{E)0g>>u&rAi-j zVs}qEy5(YZ2^af@NE&}Gc3nF^iUa{hilb$*LS6T3lJ>>$f6>lsRBHU-b1aPE5E$=wx_0@*bbTcg_R;(r?{+0s zg!>%IR}nHwvHYAK9tt&x%N<$R?8f$B@cc#bmy!kaMSb z3~H;@m(J}lQovj8zF8rG{k<2o37DiL0uT{pgL3ka(swlUA0yTCx%P#Vghs?TTdJ${ zz`T`4!?_f1^r4>Qp}Tg5fWH=7r^LF1Uak>QxEY@K_)$1pA^Nyi@W))gkhsOP&DJKg<_t$DrI$sJc`T5OjDAL64o^IfmueODE3=a6v74*W#PbwVfLNPca2v7*+NZEtA60MXw7ya?J5c+S~y=x8nCr!$Puy|4OLGLl54 z3cc%;xMj_+j%b}doR~E!kNYeuYq$K?K7EYiP1Sp^v)4NGJkNt~9rJcsO%Z)R9Ll*_ z9rd%H9Jw2K{N%dWT>1e)))Uxst3&|u1J)WX7pQa}?ChMSU``v+I}uR_;ki#RsOvdx z!8#)}Kop(bc3JB9$xhAt z-R88rBUOG4+B27n2U6Gf%r&-}&67`rzOGKd5CGvCeIoc81bjLXq2*SXb#a`j*?N4eiAmdacfSikB7mUB z+dnKUjPBTiM{83xJTY0r;>b@|U*E_w{+>;;GA!wiX#X|DYC#=_ItpNM7F!L7##!Z& ztW@HjhBV(OIBcU|yJYi_Z~~sJ|Mlg;@hfd&F@ugkT4PY@VE@~q^gOP!*@!OQ|E_9O zJ8~EN52{gVZT4DZl~mnRV=Gm$Jwp9&SpfeB-~L8f_nG&Q!2Cbg+?!{6n^{|z7Z#=x z!?%m{)kK#)-8gMq5nLz`f`N4Cwcp^Dc%4xt+I8iiM~LUwXdd46&w)O?KZOJx`V>7& z>?Si+>a%fk=XNO-gOB@eQ`&!+{g=>eu=N)i>dy9&PKi zb>*_h&e=g{bO}<+s|y)IX(lmb+un=*wxjq5EKgu0Ur<5yRF4Htw8nn|y}2RnYN6L! zJxiC`Z0Lg>{0joqvQg!2nC)=G0Va&Zm)&)U4)dG7xWmt3^6Gq(b3p|B7nyq|1<3jl7{3lWgFCFIkLsVzwBWt@ko7 zGhriyUW>J+>70V~zRx}vI0J75an|l1rUbh(-1ma9^s5sSf%9%vc{>nd5Jf)Y%3ot= zIfkXqJo2t)FCl=R{rySZHIPO5oK&FH^FjojQ?&sB{ z7o?QgsB9MlAwYlkCbiI!4%a%0caE)+RGHSUdIh#~&lCjE?trbezU$PqOc4vV`9XpJ zzR;nHr+v{Ub$w>b&l~unC^Ry!jjF)74-tRx=UNZ2yz)fLml>WrfhRvnHZ{GU9Ugq< zb%^<@NG$*2NrqK(j^trYHHAsHI8=m*Ibuk~=5GC30fujF6mR~%)gM)xl8hD?4iXHc zN&wv(hyuEocKrH=fDB%oJf5`)P!@3o7BcV^o*!(WVPJOkT0S6Lu!C-}){nGIJD)P~ zemz|(0DHBhq!NJSf~vv%)hN)S@Nv$=!eX3`x6OjD;bH&DkHlxAru@T@q?L}3?Q04< zf8&!IwR*5->R}X;OQ}wulhZHnH!E1cVEEY&@qGAr>$MD!d7&B2Lq;G2oQwhCXFn?D zFW`XvHf>G#=hO;N0GRPWbJZK|;EIaH>0%7yqPBoa%e{vk=4pSDsw%qISg9iMqjrq$ zyCfJdNmu4CJe)BCZzdv!%NZP#-g@wWn>2hSlKZPM=^a2>pJ`X1<%!@YC5ru?r7(C6 zkc7}-Co@X@ieQi3#pVR9@(gEl+rTE@0WNUKK}1MQNRV-z-*md^|lJ z9Na6hZ*IR^+1TzOBYP_m@|K%RlPyiN_C3%Jm)ax_yqrF5!(-_$ZP37!eQQz z%A|y8gnBi@=)Z#tk4i%j{{2tvj@kbmBUG?_<#wU3t6AgfR&6t2l>nsJ_@VP+ z%`T0`{3*|!le6+upD~i)Lm+^2wxaDDM?t3eQ}c=K%v&YJ9DTHm{dT6}8twRVtqnJ$ zBtuXQ<|sG@eiY=LD&JV@Gm~LCa*)j)R_SBY1liCfQ8skj3r;s91#RAtZeC0xS84O1 zOUcvhXiuRtfWn|e4q(I!{Om@7Bx4`991p>u16;y?)kOxG0#p=yUOoDr1j zor<^$8*lJPH z+W2nYJSo6cAOY$wH&soZ@2&MvQ}YY_qwe!P6!2Y$6j#jwtcrrIR5^M4Ocp@m;nxkl z@*E*9$mfCmp{G7)&DjjBBuE<>e*vl|boZNk8dSV(^Ju^dAXgVl4yD@D3%s{ry}d z^DX4ti+8!Ld{)frK^FKD?5#9%XObAHXU~o7_^;+u#)Io_VOaOlFLT31*?j7 zB8Hig41qjOOe39$lA)J~SDEK6>)8E|BA3@mf_FO4=#c%%kL3U>!LF_)32o7?Z~^s1 z5d(ZEYH7APhR;|e8wX~SNbzUJ!`82~Ocb9S3r}lXK-Yn^b#%bKc=5ie@nyD%e;bgp@Meybjv| zYqF*$zM`T+O-(H`lNY`&^Y6*GcwaoeTVd=SJ-(A7ovP-1%bTs5V9`g*ZqAhtkH0#9 zb&$RN)PA!O@qC*dYgJjJAS=svHS2Qw`FvzE`q|oox|o?~hx3=z@v~AEar+R~K9If$G`W*||S%n_$+le(Gk8uR*&HXx!~k zvwLbhzcLtT^>w=GaUEvVOQY0MH@iP}eZ~VlToxYz)s>7!CE$6|(Ul=6cy_ZX=y^4# z0VZ^7>gLA9c?D$Sf@Zs95;)g86n|yRtzo!-Q%OM-a)@HnT)n6Rjk0;0;j{K5p+6gC z|9_T}F_c4{vK-d*H8v;Sff{w0FQc_F(>ol;;5ntRj0|&#-~r8&d<-s(uv~8r3`L#8z2ZD zwoRjd(Fwv4c^_T!M;A%yt15wk-bNG3$@m_W9K95FvG_Yt8rzXPF9VI>5gHRosLj4UP_BBNQ8nSD~;d}|% z9b79X1jf0ZHyHaLnv@pgl7l7*f4o^h)tK&+si!)cW;p;Ay&m#wACvM!$EkJjxC%dUJLO|~A94c&Gj-qxBzt&;3N zy60o&_(YE;ZYLLSpC4+Iz5rDN4FYytmOqg$kmUg%Am-T@Z0j3Dt33Dk``<7Umv>9v zJK0Uc3mWymp)lKiD@@4c?i6%M5r+<7Hq=y#{;n~RO)5#Z$2{dRi5GM!w#pf4N-)f7AE7Oq6nB`}5_;{VQut?w%+==O1a_8G%dT;Gfeekw+N`N@ zr^3#H)a5q&)fCt5gA;_+BY9LFxBUnqKInUIF~^U&mJK}Zfr(7P=QYn0Fd@ea2n{{w zK5;Cya^04^_IB%oALvE$i!LDJ?AEIk9_>YpX+=HsKjo+Y4HtDgRl<=brIDTS=pRWq zx$JW5Y;ByDt~r(>$c@<#9bid{F3kz`c4&zX+u9KmqiO~CH```lVXhSPF)UDaAIy^p z)G|}&aGgOa!CPpeqBISEkVzJzGo5&wQnhF=6O$3f|nRAqz0fyUENu-|&XKj*RGXnCbm6K!HGEmR!qU6~c{ zBe2&P`*$19g3*%^hJzN$q(F3qTkDGIS8uFm3UaE}>?Z}kzk;s@#neFed)2gLwS{=e z-=UY|Y35nTdr1>|4b9cG-c#<3&!KSp`fTh9{$kRuw-}0}FrV=8+2|GQ9~el4dqBbjiE7ObRLiM3505Jp3M|L`M9~6m|V_s>FRsio}K@QjU^-N`5;U8*@oACqps`e>ig;G zX^Dz?(cV|~-Jd|9g9c>;aQG5=RjA({AH#^pV8xIJ9F}Z`|0z$kXdYo$8Z-#fDygM9 z=~G#+-(S%}1jkYG_}P=B0hAT>tL@m8cE@`F6Y*95_GME+HCtLRd&w!CUs@J=1BG^st7J9U1#}JdSzJ)9wm% zXtGzomcqYn&^C_&6`LZ>7&Y=Xgq&hT59o-FjLK_)B=#^)(EU69fUsZ-cSB zCV@E1`BxyoQrL<7)?Y!f_oQ1twBH-|2n9M$Nnma@Z?CHOuG!F)){W|nQQAJ!}x8H0w^IZ)sQyv4?3~K=w9RGBI)M&^BKe z6Cu&eKN2eV?oQJ}g~I6o7i`-hA>)sNX}DC<8G>^^gjT-~!_|=+D_wCMQ~aO;YeEZj zBltyWw#A(5z$zbLy9DxG$LGmeV+J6B2kr&Ggtn-k-u(hZue$#KcJK>F{)^-t>-K*ihBq@kVcyN{<4H7#1BU6l4?RRKQd zMYINg%H z3-`ZpxjzW3E04@h$C0Br5kTZ_7*K~t!2w>35R+^)k-1kuXwnTdtrpHEocci5Z7@fQ ze3w);L!{vH4)<}#+l%4KmRW93+c!KyXWe+X ztER92#(aGCx#{opGGUX_2#Rvcc773`x#~}8dh@2Y&o_?ls`34}U|d0sD=DCvB;(jB zhBb)+gKv#_l5i|@p(x+9xNR=xK@puQYpJ@q&hf3ngyY!Q*soRBY@^17hhTHccU0F< zHWQv@YY#TtKf69TKkuD}o+RkCvZ=U?ue1!WUof`7f{bhSW*cD6IjBgkPEfZQ^oo0o z#>MJg#TlU=AB_Ng$4C6z$L(5NosS4VELu$3U&q6xu?c@(c&wWcVCCTWHa#ti46UEL zu`r(zSR@adK+8sx`-S%Dp;+IbT{++?5_-j_F}N$=vl`5wf@?gkEW5uEYOzZk*N zU;^y7$@R}O@LSM}p%6hl?lfgsR4w2Ah{*+fpg}-`53(0LvyU@R%(0=ibSZWpNxaT_ z99_KUDwWa0Ytv~LP7bO+w5Z0pwGZ0g8av{BlzA}T09bR65-0n>WK73!evSV5Gr-e+ zFs_qSpiRw)DLFGgl4C?sUpkO)PQ<*iQ--RQvZ{kKx6*>BuP9cYnDBEcGnFP~jrwO> z{DPOzmrY1dCFDc-1Mk=m4v_-!<$f^AfI34h>&}=PsT}yd4Ue{ zP;WS)fC*r^AUH3G7x?K9!(r(4Dt1LZ3ATyOI1OliI$dzr(8USml=Xz%<_9dPzpGI* zR3dKZX#%moO3?+s1u=0*ywA%rN{G@~d81?C=al=yjWG}co~+>QJ8X-ubxgqQQViQv z*yE3LCM81SkM1M+Cna{ZJE28UDrAW3Ors|22?5l3(06a%s6N6NHp&*h-)oB0X}wqr zX!E5m->%!p&HQZm6Yr7IhvN(gXE|dLpf7 z^C#$pgZ`@w9g5&UvB&h*)9Qg@sizW9KQMb0wqEJIK+%b}Xf4h6(dkvW$G-Uwcea) zhbvx)p=EuoMS%vE+N$`IMFgln^d_ul9lZyNclzf9x_Ml?v@*$Xc#5uFGq4uEE{D=o zOQSHL2kv$Htk_g9F<~TVK_gCku}?HSrA;gTef}Y;HiK1A)>Q~;+!{RX=Zlnhv2dxW zBy8vY zX#OKBBV(_RaFF>*(KqA7pE1{P4AJgPFt{xgWm`dCJv2e9oCA%P@ES zbep4FboZ6dWJ2nA4^stjlI>+9gs1gTEhMWj?jp;#5@`+dpcJ;CTuN>op~IianvKDW z81_KAqR&ZRRIcb_$+?s(8UpHiu_=E~lAP#($6ugm*5J$NBK~X5N&iH>bAF|Rq&lGNVmr#|2lPioK&D7YSE8(MQ@mq~@mS6`HUwcJJ_XbhY!7QFiE;vztND}$1 z^%2eDToKQ?-2L!4&3Yleo3=SAlU}y+_j$%Z?~aN2dknPnq!Fq=cxnAJB?fSt^=XgbLQTHt z6SnzCBx^s4x8Beb18*#c_+cC%MpH2U6r++3!be(S{aA*t!cGzz5;UwK(YqtN{(~N^ z$awc#k4A)&9^ka%)28J?iFo!1A&WK3^x*AON`px9(XAZI=>cxZdfV zM+!|E4&zk&XSaoh@xSY~kgAw9bwIy?6xU=ubhgkHu78Uy2`#9`IhEIybpY_=65`I@ zHtOJF=6{1tv;NlJA=j(ySVHXz_qo<)7tgZox_Ul<(o!3tCD32&Ub;Qvy&cMuvJs-n zHd;Bpg}fA3?c=^hQ#lTQL;2fcp5nVqR?CVa0HqTDCn(jy$gc`tIDF_o80eazC56Hp zbyYONF##%nani}nfd?jg8=i0CCfUrxlOCiLOS;6yUP5dD+3`WBP}2rCSj7j909mxZ z3D-C2-83(5JN_Rnz<+i}{F&c0o^N$(OzbwZmPqGlW*1=53sQ!JM@?5-EYSqQORSWR?F*U)?vtY1jx*E&y{a8kp}j z_&zU0LHEw<>%mRazI&gG7mVb`6DQnM zg`3Xr8BGSIJnrOXbiB{c9UeDbY>9uUPTjezU%yo+{o#jfs6R!gD7#Vg0I+KBdZypU z0X`YJQ=l89u&feL+1Y>ZJDFUfX=d5 zi}_k${}i-zz8&UGe!D~ia7)DS_ejN`rU-LgqBD*+C|Vh?4>7>68BL|9Y5p3s3^WdP zmiseisigN$G0W}?+}G6OD?o=n#oBhvJ4y#Pe}n?w{J*&6fexXg>S91YPX~ZgxB8gX z>0|1H)b-=wXy-mQeF_?k4`*{*Qe8%$_{&OZ^kOBHRqf5Lfyx4q4Os_ z^+tt?$cHYKkrdRADm_=wnxuzgwalWIHhIdGeD}y}*5bYVW+&3|Bo<=Z*k9a-1% z$$d7#1`vHVh2bR`C;=vgTt5z~PZm?}T-Bo@1GTVT`% z5ndXqXR3s2stlxiMQ8Hq)PXEytvMfc0FPq&-{jq=^OxAjXS|TlHC7c&EP6_DC7RPF z`T#r}v)OLyZe0Adrx9D#=}-LrKj()3mEWCW_JR~Iq0X(<(n%eLZz{@#J|^dDXJKV? zlegqt)06%UDu%p}Oz3~9;}|4N{-)zV*9QroxK#nPh`pu89{N6nOmx>Np%DW~oOnAH zr|WzbLR)RmBAECajR@E8X1D3#*}NxIyXBi8o65!Kf-pxkP_^BN*@G|Rtjd4 z-v9!7LX7VFsxyA?zsiP;gO(Z*TJ-1w{oRyM*S`nb zDmXA#s`aUk!wR!i&&`(8HX^#eJL;Krw(2yIsBL;o+`JcLsQ+8X${BtQ#rnp}*Q?~c zM7ti0STU9S2?4qnXU@TG?=<}4ZI4pE^vnF47~_BKc>md`_mAnvC*S#4PNz5EkOsgP P&w!-F<;5yR3(); + } + + [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 == "Test book 1"); + } + + [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 = 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")); + } + } +} \ No newline at end of file diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs index 5712782714..116e25ed25 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs @@ -1,16 +1,49 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using Volo.Abp.Data; using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Guids; namespace Acme.BookStore { - public class BookStoreTestDataSeedContributor : IDataSeedContributor, ITransientDependency + public class BookStoreTestDataSeedContributor + : IDataSeedContributor, ITransientDependency { - public Task SeedAsync(DataSeedContext context) + private readonly IRepository _bookRepository; + private readonly IGuidGenerator _guidGenerator; + + public BookStoreTestDataSeedContributor( + IRepository bookRepository, + IGuidGenerator guidGenerator) + { + _bookRepository = bookRepository; + _guidGenerator = guidGenerator; + } + + public async Task SeedAsync(DataSeedContext context) { - /* Seed additional test data... */ + await _bookRepository.InsertAsync( + new Book + { + Id = _guidGenerator.Create(), + Name = "Test book 1", + Type = BookType.Fantastic, + PublishDate = new DateTime(2015, 05, 24), + Price = 21 + } + ); - return Task.CompletedTask; + await _bookRepository.InsertAsync( + new Book + { + Id = _guidGenerator.Create(), + Name = "Test book 2", + Type = BookType.Science, + PublishDate = new DateTime(2014, 02, 11), + Price = 15 + } + ); } } } \ No newline at end of file From dfcebaa74bfae0769de622a94b206fab98f8bbfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 11:08:23 +0300 Subject: [PATCH 015/149] Update nuget packages. --- .../Acme.BookStore.Application.Tests.csproj | 2 +- .../Acme.BookStore.Domain.Tests.csproj | 2 +- .../Acme.BookStore.MongoDB.Tests.csproj | 2 +- .../Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj index bedb0062f2..83c6786ceb 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj index e2c95c5093..c97fc84230 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj index 7a3f6b0867..5554dd39aa 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj index c27cc7e09a..e72ffae2de 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj @@ -15,8 +15,8 @@ - - + + From 99a584ecb88e7a0c9bf44ef71930e9efe0cb9b12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 11:20:21 +0300 Subject: [PATCH 016/149] Add test explorer image --- docs/en/Tutorials/Angular/Part-III.md | 2 +- .../Angular/images/bookstore-test-explorer.png | Bin 0 -> 46788 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/en/Tutorials/Angular/images/bookstore-test-explorer.png diff --git a/docs/en/Tutorials/Angular/Part-III.md b/docs/en/Tutorials/Angular/Part-III.md index 93934da396..0da85f0751 100644 --- a/docs/en/Tutorials/Angular/Part-III.md +++ b/docs/en/Tutorials/Angular/Part-III.md @@ -173,6 +173,6 @@ public async Task Should_Not_Create_A_Book_Without_Name() Open the **Test Explorer Window** (use Test -> Windows -> Test Explorer menu if it is not visible) and **Run All** tests: -![bookstore-appservice-tests](images/bookstore-appservice-tests.png) +![bookstore-appservice-tests](images/bookstore-test-explorer.png) Congratulations, green icons show that tests have been successfully passed! \ No newline at end of file diff --git a/docs/en/Tutorials/Angular/images/bookstore-test-explorer.png b/docs/en/Tutorials/Angular/images/bookstore-test-explorer.png new file mode 100644 index 0000000000000000000000000000000000000000..06e9e7d331019e510bf8885abe99511c83b11cba GIT binary patch literal 46788 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 Date: Thu, 15 Aug 2019 11:33:20 +0300 Subject: [PATCH 017/149] Update BookStoreMongoDbTestModule.cs --- .../MongoDb/BookStoreMongoDbTestModule.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs index c59bf2452c..d45f3ea02f 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs @@ -1,6 +1,5 @@ using System; using Mongo2Go; -using Volo.Abp; using Volo.Abp.Data; using Volo.Abp.Modularity; @@ -12,21 +11,18 @@ namespace Acme.BookStore.MongoDB )] public class BookStoreMongoDbTestModule : AbpModule { - private MongoDbRunner _mongoDbRunner; + private static readonly MongoDbRunner MongoDbRunner = MongoDbRunner.Start(); public override void ConfigureServices(ServiceConfigurationContext context) { - _mongoDbRunner = MongoDbRunner.Start(); + var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + + "BookStore_" + + Guid.NewGuid().ToString("N"); Configure(options => { - options.ConnectionStrings.Default = _mongoDbRunner.ConnectionString.EnsureEndsWith('/') + "BookStore"; + options.ConnectionStrings.Default = connectionString; }); } - - public override void OnApplicationShutdown(ApplicationShutdownContext context) - { - _mongoDbRunner.Dispose(); - } } } \ No newline at end of file From 0614a6871014b24b636a402b190dd2325e5bd6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 11:41:59 +0300 Subject: [PATCH 018/149] #1632 MongoDB test problems & optimization --- .../MongoDb/MyProjectNameMongoDbTestModule.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbTestModule.cs b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbTestModule.cs index 71be56844c..7141e66167 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbTestModule.cs +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbTestModule.cs @@ -1,6 +1,5 @@ using System; using Mongo2Go; -using Volo.Abp; using Volo.Abp.Data; using Volo.Abp.Modularity; @@ -12,21 +11,18 @@ namespace MyCompanyName.MyProjectName.MongoDB )] public class MyProjectNameMongoDbTestModule : AbpModule { - private MongoDbRunner _mongoDbRunner; + private static readonly MongoDbRunner MongoDbRunner = MongoDbRunner.Start(); public override void ConfigureServices(ServiceConfigurationContext context) { - _mongoDbRunner = MongoDbRunner.Start(); + var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + + "MyProjectName_" + + Guid.NewGuid().ToString("N"); Configure(options => { - options.ConnectionStrings.Default = _mongoDbRunner.ConnectionString.EnsureEndsWith('/') + "MyProjectName"; + options.ConnectionStrings.Default = connectionString; }); } - - public override void OnApplicationShutdown(ApplicationShutdownContext context) - { - _mongoDbRunner.Dispose(); - } } } \ No newline at end of file From 5e0b014c51f8cdea1d590e3d1fcdacef7a66fa62 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 13:00:34 +0300 Subject: [PATCH 019/149] feature(theme-shared): add disabled input to button component --- .../identity/src/lib/components/users/users.component.html | 1 + .../src/lib/components/button/button.component.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html index df4b6a2eb5..9f52238aee 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html +++ b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html @@ -188,6 +188,7 @@ requestURLContainSearchValue="users" iconClass="fa fa-check" (click)="save()" + [disabled]="form.invalid" >{{ 'AbpIdentity::Save' | abpLocalization }}
    diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts index 86ef5f2bd4..20e2d92e98 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -6,7 +6,7 @@ import { filter } from 'rxjs/operators'; @Component({ selector: 'abp-button', template: ` - `, @@ -24,6 +24,9 @@ export class ButtonComponent implements OnInit { @Input() loading: boolean = false; + @Input() + disabled: boolean = false; + @Input() requestType: string | string[]; From 88214d752196dc9b95f612c4f883cc035073f479 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 13:01:40 +0300 Subject: [PATCH 020/149] feature(theme-shared): add busy input to modal add abp-button handler for loading refactor esc listener --- .../lib/components/modal/modal.component.html | 3 +- .../lib/components/modal/modal.component.ts | 46 +++++++++++-------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html index 559bc6b429..48027b54a4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html @@ -1,6 +1,7 @@
    -
    ``` -Open the `book-list.component.ts` and add `isModalOpen` variable and `onAdd` method to show/hide the modal. +Open the `book-list.component.ts` and add `isModalOpen` variable and `createBook` method to show/hide the modal. ```typescript isModalOpen = false; //... -onAdd() { +createBook() { this.isModalOpen = true; } ``` @@ -165,10 +165,10 @@ buildForm() { - The `group` method of `FormBuilder` (`fb`) creates a `FormGroup`. - Added `Validators.required` static method that validates the related form element. -Modify the `onAdd` method as shown below: +Modify the `createBook` method as shown below: ```typescript -onAdd() { +createBook() { this.buildForm(); this.isModalOpen = true; } @@ -214,7 +214,7 @@ Open `book-list.component.html` and add the form in the body template of the mod ``` -* This template creates a form with Name, Price, Type and Publish date fields. +- This template creates a form with Name, Price, Type and Publish date fields. > We've used [NgBootstrap datepicker](https://ng-bootstrap.github.io/#/components/datepicker/overview) in this component. @@ -256,6 +256,8 @@ export class BooksModule {} Then open the `book-list.component.html` and add `providers` as shown below: ```typescript +import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; + @Component({ // ... providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], @@ -277,7 +279,10 @@ Open the `book-list.component.html` and add an `abp-button` to save the form. - Save + ``` @@ -308,17 +313,17 @@ Open the `books.service.ts` and then add the `getById` and `update` methods. ```typescript getById(id: string): Observable { - return this.rest.request({ + return this.restService.request({ method: 'GET', - url: `/api/app/book/${id}`, + url: `/api/app/book/${id}` }); } -update(body: Books.CreateUpdateBookInput, id: string): Observable { - return this.rest.request({ +update(updateBookInput: Books.CreateUpdateBookInput, id: string): Observable { + return this.restService.request({ method: 'PUT', url: `/api/app/book/${id}`, - body, + body: updateBookInput }); } ``` @@ -338,16 +343,16 @@ Open `books.state.ts` and modify the `save` method as show below: ```typescript @Action(CreateUpdateBook) -save({ dispatch }: StateContext, { payload, id }: CreateUpdateBook) { +save(ctx: StateContext, action: CreateUpdateBook) { let request; - if (id) { - request = this.booksService.update(payload, id); + if (action.id) { + request = this.booksService.update(action.payload, action.id); } else { - request = this.booksService.create(payload); + request = this.booksService.create(action.payload); } - return request.pipe(switchMap(() => dispatch(new GetBooks()))); + return request.pipe(switchMap(() => ctx.dispatch(new GetBooks()))); } ``` @@ -379,10 +384,10 @@ buildForm() { } ``` -Add the `onEdit` method as shown below: +Add the `editBook` method as shown below: ```typescript - onEdit(id: string) { + editBook(id: string) { this.booksService.getById(id).subscribe(book => { this.selectedBook = book; this.buildForm(); @@ -391,12 +396,12 @@ Add the `onEdit` method as shown below: } ``` -Added `onEdit` method to get the editing book, build the form and show the modal. +Added `editBook` method to get the editing book, build the form and show the modal. -Now, add the `selectedBook` definition to `onAdd` method to reuse the same form while creating a new book: +Now, add the `selectedBook` definition to `createBook` method to reuse the same form while creating a new book: ```typescript - onAdd() { + createBook() { this.selectedBook = {} as Books.Book; //... } @@ -446,7 +451,7 @@ Open the `book-list.component.html` and add modify the `p-table` as shown belo Actions
    - +
    @@ -459,8 +464,8 @@ Open the `book-list.component.html` and add modify the `p-table` as shown belo ``` -* Added a `th` for the "Actions" column. -* Added `button` with `ngbDropdownToggle` to open actions when clicked the button. +- Added a `th` for the "Actions" column. +- Added `button` with `ngbDropdownToggle` to open actions when clicked the button. > We've used to [NgbDropdown](https://ng-bootstrap.github.io/#/components/dropdown/examples) for the dropdown menu of actions. @@ -486,7 +491,7 @@ Open `books.service.ts` and add a `delete` method to delete a book with the `id` ```typescript delete(id: string): Observable { - return this.rest.request({ + return this.restService.request({ method: 'DELETE', url: `/api/app/book/${id}` }); @@ -510,13 +515,13 @@ Open the `books.state.ts` and add the `delete` method that will listen to the `D import { ... , DeleteBook } from '../actions/books.actions'; //... @Action(DeleteBook) -delete({ dispatch }: StateContext, { id }: DeleteBook) { - return this.booksService.delete(id).pipe(switchMap(() => dispatch(new GetBooks()))); +delete(ctx: StateContext, action: DeleteBook) { + return this.booksService.delete(action.id).pipe(switchMap(() => ctx.dispatch(new GetBooks()))); } ``` -* Added `DeleteBook` to the import list. -* Uses `bookService` to delete the book. +- Added `DeleteBook` to the import list. +- Uses `bookService` to delete the book. #### Add a Delete Button @@ -573,4 +578,4 @@ The `delete` method shows a confirmation popup and subscribes for the user respo ### Next Part -See the [next part](Part-III.md) of this tutorial. \ No newline at end of file +See the [next part](Part-III.md) of this tutorial. From 3c9d5fd5593fe0638ac5e1742dd0f95d7531aeec Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 15 Aug 2019 19:04:37 +0800 Subject: [PATCH 025/149] Format code. --- .../Volo/Abp/MongoDB/AbpMongoDbTestModule.cs | 2 +- .../AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs | 2 +- .../BackgroundJobs/MongoDB/BackgroundJobsMongoDbTestModule.cs | 2 +- .../Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs | 2 +- .../Volo/Docs/MongoDB/DocsMongoDBTestModule.cs | 2 +- .../MongoDB/AbpFeatureManagementMongoDbTestModule.cs | 2 +- .../Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs | 2 +- .../Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs | 4 ++-- .../MongoDB/AbpSettingManagementMongoDbTestModule.cs | 2 +- .../MongoDb/AbpTenantManagementMongoDbTestModule.cs | 2 +- .../Volo/Abp/Users/MongoDB/AbpUsersMongoDbTestModule.cs | 2 +- .../MongoDB/MyProjectNameMongoDbTestModule.cs | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs index db61a0b9bf..383fea8a91 100644 --- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs +++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs @@ -20,7 +20,7 @@ namespace Volo.Abp.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs index 15eea88549..f5cedd3cf5 100644 --- a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs +++ b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs @@ -17,7 +17,7 @@ namespace Volo.Abp.AuditLogging.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/BackgroundJobsMongoDbTestModule.cs b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/BackgroundJobsMongoDbTestModule.cs index f03590df79..4df77e4e5a 100644 --- a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/BackgroundJobsMongoDbTestModule.cs +++ b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/BackgroundJobsMongoDbTestModule.cs @@ -17,7 +17,7 @@ namespace Volo.Abp.BackgroundJobs.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs index 5cbb3cf9e0..a782b23354 100644 --- a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs +++ b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs @@ -17,7 +17,7 @@ namespace Volo.Blogging.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs index 5cac4812c9..aa451f045e 100644 --- a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs +++ b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs @@ -17,7 +17,7 @@ namespace Volo.Docs.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs index c223dbc107..df3b64a7de 100644 --- a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs +++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs @@ -16,7 +16,7 @@ namespace Volo.Abp.FeatureManagement.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs index eeef9c6c93..8025ef7661 100644 --- a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs +++ b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs @@ -19,7 +19,7 @@ namespace Volo.Abp.Identity.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs index de03cf479a..de8dc5690e 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs @@ -20,8 +20,8 @@ namespace Volo.Abp.IdentityServer public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + - Guid.NewGuid().ToString("N"); + "Db_" + + Guid.NewGuid().ToString("N"); Configure(options => { diff --git a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs index 01746f344d..d0d8b35415 100644 --- a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs +++ b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs @@ -16,7 +16,7 @@ namespace Volo.Abp.SettingManagement.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs index f9fa2d0f73..c9e72adaa2 100644 --- a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs +++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs @@ -17,7 +17,7 @@ namespace Volo.Abp.TenantManagement.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => 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 index f531bf4b3b..c503db6112 100644 --- 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 @@ -17,7 +17,7 @@ namespace Volo.Abp.Users.MongoDB public override void ConfigureServices(IServiceCollection services) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDB/MyProjectNameMongoDbTestModule.cs b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDB/MyProjectNameMongoDbTestModule.cs index 32ac0074ef..b02f017a01 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDB/MyProjectNameMongoDbTestModule.cs +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDB/MyProjectNameMongoDbTestModule.cs @@ -17,7 +17,7 @@ namespace MyCompanyName.MyProjectName.MongoDB public override void ConfigureServices(ServiceConfigurationContext context) { var connectionString = MongoDbRunner.ConnectionString.EnsureEndsWith('/') + - "Db_" + + "Db_" + Guid.NewGuid().ToString("N"); Configure(options => From be16db3898eef1207a1a0558f1f458cfd2f9d696 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 14:28:46 +0300 Subject: [PATCH 026/149] fix(theme-shared): undo keyup changes --- .../lib/components/modal/modal.component.html | 3 +-- .../src/lib/components/modal/modal.component.ts | 16 +++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html index 48027b54a4..5f57360aa8 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html @@ -1,15 +1,14 @@ \n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":14,"character":29},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":14,"character":60},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSwitch":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":12},"member":"forChild"},"arguments":[[{"path":"","pathMatch":"full","redirectTo":"login"},{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"children":[{"path":"login","component":{"__symbolic":"reference","name":"ɵa"}},{"path":"register","component":{"__symbolic":"reference","name":"ɵc"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":12}]}]}],"members":{}},"ɵg":{"__symbolic":"function","parameters":["options"],"value":{"redirectUrl":"/"}},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":35},"arguments":["ACCOUNT_OPTIONS"]}},"origins":{"AccountModule":"./lib/account.module","ACCOUNT_ROUTES":"./lib/constants/routes","ɵa":"./lib/components/login/login.component","ɵb":"./lib/models/options","ɵc":"./lib/components/register/register.component","ɵd":"./lib/services/account.service","ɵe":"./lib/components/tenant-box/tenant-box.component","ɵf":"./lib/account-routing.module","ɵg":"./lib/tokens/options.token","ɵh":"./lib/tokens/options.token"},"importAs":"@abp/ng.account"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js index 41ffd45aca..d7fc3d0d03 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@angular/router'), require('@angular/forms'), require('@ngxs/router-plugin'), require('@ngxs/store'), require('angular-oauth2-oidc'), require('rxjs'), require('@abp/ng.theme.shared'), require('rxjs/operators'), require('snq'), require('@ngx-validate/core'), require('@ng-bootstrap/ng-bootstrap'), require('primeng/table')) : - typeof define === 'function' && define.amd ? define('@abp/ng.account', ['exports', '@abp/ng.core', '@angular/core', '@angular/router', '@angular/forms', '@ngxs/router-plugin', '@ngxs/store', 'angular-oauth2-oidc', 'rxjs', '@abp/ng.theme.shared', 'rxjs/operators', 'snq', '@ngx-validate/core', '@ng-bootstrap/ng-bootstrap', 'primeng/table'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.account = {}), global.ng_core, global.ng.core, global.ng.router, global.ng.forms, global.routerPlugin, global.store, global.angularOauth2Oidc, global.rxjs, global.ng_theme_shared, global.rxjs.operators, global.snq, global.core$1, global.ngBootstrap, global.table)); -}(this, function (exports, ng_core, core, router, forms, routerPlugin, store, angularOauth2Oidc, rxjs, ng_theme_shared, operators, snq, core$1, ngBootstrap, table) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@angular/router'), require('@angular/forms'), require('@ngxs/router-plugin'), require('@ngxs/store'), require('angular-oauth2-oidc'), require('rxjs'), require('@abp/ng.theme.shared'), require('rxjs/operators'), require('snq'), require('primeng/table'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core')) : + typeof define === 'function' && define.amd ? define('@abp/ng.account', ['exports', '@abp/ng.core', '@angular/core', '@angular/router', '@angular/forms', '@ngxs/router-plugin', '@ngxs/store', 'angular-oauth2-oidc', 'rxjs', '@abp/ng.theme.shared', 'rxjs/operators', 'snq', 'primeng/table', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.account = {}), global.ng_core, global.ng.core, global.ng.router, global.ng.forms, global.routerPlugin, global.store, global.angularOauth2Oidc, global.rxjs, global.ng_theme_shared, global.rxjs.operators, global.snq, global.table, global.ngBootstrap, global.core$1)); +}(this, function (exports, ng_core, core, router, forms, routerPlugin, store, angularOauth2Oidc, rxjs, ng_theme_shared, operators, snq, table, ngBootstrap, core$1) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -68,7 +68,7 @@ .pipe(operators.switchMap((/** * @return {?} */ - function () { return _this.store.dispatch(new ng_core.ConfigGetAppConfiguration()); })), operators.tap((/** + function () { return _this.store.dispatch(new ng_core.GetAppConfiguration()); })), operators.tap((/** * @return {?} */ function () { @@ -86,7 +86,11 @@ _this.toasterService.error(snq((/** * @return {?} */ - function () { return err.error.error_description; }), 'An error occured.'), 'Error'); + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); return rxjs.throwError(err); })), operators.finalize((/** * @return {?} @@ -97,7 +101,7 @@ LoginComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -111,22 +115,73 @@ return LoginComponent; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var AccountService = /** @class */ (function () { + function AccountService(rest) { + this.rest = rest; + } + /** + * @param {?} tenantName + * @return {?} + */ + AccountService.prototype.findTenant = /** + * @param {?} tenantName + * @return {?} + */ + function (tenantName) { + /** @type {?} */ + var request = { + method: 'GET', + url: "/api/abp/multi-tenancy/find-tenant/" + tenantName, + }; + return this.rest.request(request); + }; + /** + * @param {?} body + * @return {?} + */ + AccountService.prototype.register = /** + * @param {?} body + * @return {?} + */ + function (body) { + /** @type {?} */ + var request = { + method: 'POST', + url: "/api/account/register", + body: body, + }; + return this.rest.request(request, { throwErr: true }); + }; + AccountService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + AccountService.ctorParameters = function () { return [ + { type: ng_core.RestService } + ]; }; + /** @nocollapse */ AccountService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(core.ɵɵinject(ng_core.RestService)); }, token: AccountService, providedIn: "root" }); + return AccountService; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var maxLength$1 = forms.Validators.maxLength, minLength$1 = forms.Validators.minLength, required$1 = forms.Validators.required, email = forms.Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, oauthService, router) { + function RegisterComponent(fb, accountService, toasterService) { this.fb = fb; - this.oauthService = oauthService; - this.router = router; + this.accountService = accountService; + this.toasterService = toasterService; this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], - password: [ - '', - [required$1, maxLength$1(32), minLength$1(6), core$1.validatePassword(['small', 'capital', 'number', 'special'])], - ], + password: ['', [required$1, maxLength$1(32)]], email: ['', [required$1, email]], }); } @@ -137,20 +192,50 @@ * @return {?} */ function () { + var _this = this; if (this.form.invalid) return; + this.inProgress = true; + /** @type {?} */ + var newUser = (/** @type {?} */ ({ + userName: this.form.get('username').value, + password: this.form.get('password').value, + emailAddress: this.form.get('email').value, + appName: 'angular', + })); + this.accountService + .register(newUser) + .pipe(operators.take(1), operators.catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); + return rxjs.throwError(err); + })), operators.finalize((/** + * @return {?} + */ + function () { return (_this.inProgress = false); }))) + .subscribe(); }; RegisterComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: forms.FormBuilder }, - { type: angularOauth2Oidc.OAuthService }, - { type: router.Router } + { type: AccountService }, + { type: ng_theme_shared.ToasterService } ]; }; return RegisterComponent; }()); @@ -185,30 +270,21 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var TenantBoxComponent = /** @class */ (function () { - function TenantBoxComponent(modalService, fb) { - this.modalService = modalService; - this.fb = fb; + function TenantBoxComponent(store, toasterService, accountService) { + this.store = store; + this.toasterService = toasterService; + this.accountService = accountService; + this.tenant = (/** @type {?} */ ({})); } /** * @return {?} */ - TenantBoxComponent.prototype.createForm = /** - * @return {?} - */ - function () { - this.form = this.fb.group({ - name: [this.selected.name], - }); - }; - /** - * @return {?} - */ - TenantBoxComponent.prototype.openModal = /** + TenantBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { - this.createForm(); - this.modalService.open(this.modalContent); + this.tenant = this.store.selectSnapshot(ng_core.SessionState.getTenant) || ((/** @type {?} */ ({}))); + this.tenantName = this.tenant.name || ''; }; /** * @return {?} @@ -217,8 +293,7 @@ * @return {?} */ function () { - this.selected = (/** @type {?} */ ({})); - this.openModal(); + this.isModalVisible = true; }; /** * @return {?} @@ -227,23 +302,62 @@ * @return {?} */ function () { - this.selected = this.form.value; - this.modalService.dismissAll(); + var _this = this; + if (this.tenant.name) { + this.accountService + .findTenant(this.tenant.name) + .pipe(operators.take(1), operators.catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; }), 'AbpUi::DefaultErrorMessage'), 'AbpUi::Error'); + return rxjs.throwError(err); + }))) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var success = _a.success, tenantId = _a.tenantId; + if (success) { + _this.tenant = { + id: tenantId, + name: _this.tenant.name, + }; + _this.tenantName = _this.tenant.name; + _this.isModalVisible = false; + } + else { + _this.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable", 'AbpUi::Error', { + messageLocalizationParams: [_this.tenant.name], + }); + _this.tenant = (/** @type {?} */ ({})); + } + _this.store.dispatch(new ng_core.SetTenant(success ? _this.tenant : null)); + })); + } + else { + this.store.dispatch(new ng_core.SetTenant(null)); + this.tenantName = null; + this.isModalVisible = false; + } }; TenantBoxComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-tenant-box', - template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n
    \n
    \n SwitchTenant\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n" + template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n (
    {{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n" }] } ]; /** @nocollapse */ TenantBoxComponent.ctorParameters = function () { return [ - { type: ngBootstrap.NgbModal }, - { type: forms.FormBuilder } + { type: store.Store }, + { type: ng_theme_shared.ToasterService }, + { type: AccountService } ]; }; - TenantBoxComponent.propDecorators = { - modalContent: [{ type: core.ViewChild, args: ['modalContent', { static: false },] }] - }; return TenantBoxComponent; }()); @@ -323,10 +437,11 @@ exports.optionsFactory = optionsFactory; exports.ɵa = LoginComponent; exports.ɵc = RegisterComponent; - exports.ɵd = TenantBoxComponent; - exports.ɵe = AccountRoutingModule; - exports.ɵf = optionsFactory; - exports.ɵg = ACCOUNT_OPTIONS; + exports.ɵd = AccountService; + exports.ɵe = TenantBoxComponent; + exports.ɵf = AccountRoutingModule; + exports.ɵg = optionsFactory; + exports.ɵh = ACCOUNT_OPTIONS; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map index 0f1e4949a2..d315aa736d 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new ConfigGetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(snq(() => err.error.error_description, 'An error occured.'), 'Error');\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { validatePassword } from '@ngx-validate/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private oauthService: OAuthService, private router: Router) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: [\n '',\n [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])],\n ],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent {\n constructor(private modalService: NgbModal, private fb: FormBuilder) {}\n\n form: FormGroup;\n\n selected: ABP.BasicItem;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name],\n });\n }\n\n openModal() {\n this.createForm();\n this.modalService.open(this.modalContent);\n }\n\n onSwitch() {\n this.selected = {} as ABP.BasicItem;\n this.openModal();\n }\n\n save() {\n this.selected = this.form.value;\n this.modalService.dismissAll();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["ConfigState","from","switchMap","ConfigGetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","maxLength","minLength","required","validatePassword","Router","DynamicLayoutComponent","NgModule","RouterModule","NgbModal","ViewChild","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js index 1aaa51650e..054f1803cd 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("@ngx-validate/core"),require("@ng-bootstrap/ng-bootstrap"),require("primeng/table")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","@ngx-validate/core","@ng-bootstrap/ng-bootstrap","primeng/table"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.core$1,e.ngBootstrap,e.table)}(this,function(e,n,t,o,r,a,i,s,l,c,p,u,d,m,b){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(){return(f=Object.assign||function(e){for(var n,t=1,o=arguments.length;t\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:c.ToasterService},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}(),y=r.Validators.maxLength,S=r.Validators.minLength,C=r.Validators.required,A=r.Validators.email,w=function(){function e(e,n,t){this.fb=e,this.oauthService=n,this.router=t,this.form=this.fb.group({username:["",[C,y(255)]],password:["",[C,y(32),S(6),d.validatePassword(["small","capital","number","special"])]],email:["",[C,A]]})}return e.prototype.onSubmit=function(){this.form.invalid},e.decorators=[{type:t.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.OAuthService},{type:o.Router}]},e}(),x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:n.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:w}]}],T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[o.RouterModule.forChild(x)],exports:[o.RouterModule]}]}],e}(),O=function(){function e(e,n){this.modalService=e,this.fb=n}return e.prototype.createForm=function(){this.form=this.fb.group({name:[this.selected.name]})},e.prototype.openModal=function(){this.createForm(),this.modalService.open(this.modalContent)},e.prototype.onSwitch=function(){this.selected={},this.openModal()},e.prototype.save=function(){this.selected=this.form.value,this.modalService.dismissAll()},e.decorators=[{type:t.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:m.NgbModal},{type:r.FormBuilder}]},e.propDecorators={modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}();function L(e){return f({redirectUrl:"/"},e)}var M=new t.InjectionToken("ACCOUNT_OPTIONS"),N=function(){function e(){}return e.forRoot=function(n){return void 0===n&&(n={}),{ngModule:e,providers:[{provide:M,useValue:n},{provide:"ACCOUNT_OPTIONS",useFactory:L,deps:[M]}]}},e.decorators=[{type:t.NgModule,args:[{declarations:[v,w,O],imports:[n.CoreModule,T,c.ThemeSharedModule,b.TableModule,m.NgbDropdownModule,d.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=M,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=N,e.LoginComponent=v,e.RegisterComponent=w,e.optionsFactory=L,e.ɵa=v,e.ɵc=w,e.ɵd=O,e.ɵe=T,e.ɵf=L,e.ɵg=M,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}(),y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,t,n){this.fb=e,this.accountService=t,this.toasterService=n,this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(t).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:u.ToasterService}]},e}(),x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],L=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.account.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map index 8f0c67cca7..78c1bbc034 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","ConfigGetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","email","RegisterComponent","router","validatePassword","Router","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","modalService","createForm","name","selected","openModal","open","modalContent","onSwitch","save","dismissAll","NgbModal","ViewChild","static","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new ConfigGetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(snq(() => err.error.error_description, 'An error occured.'), 'Error');\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { validatePassword } from '@ngx-validate/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private oauthService: OAuthService, private router: Router) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: [\n '',\n [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])],\n ],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent {\n constructor(private modalService: NgbModal, private fb: FormBuilder) {}\n\n form: FormGroup;\n\n selected: ABP.BasicItem;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name],\n });\n }\n\n openModal() {\n this.createForm();\n this.modalService.open(this.modalContent);\n }\n\n onSwitch() {\n this.selected = {} as ABP.BasicItem;\n this.openModal();\n }\n\n save() {\n this.selected = this.form.value;\n this.modalService.dismissAll();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/abp-ng.account.js b/npm/ng-packs/dist/account/esm2015/abp-ng.account.js index 296db7f041..af2884562b 100644 --- a/npm/ng-packs/dist/account/esm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/esm2015/abp-ng.account.js @@ -6,9 +6,10 @@ * Generated bundle index. Do not edit. */ export { AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; -export { AccountRoutingModule as ɵe } from './lib/account-routing.module'; +export { AccountRoutingModule as ɵf } from './lib/account-routing.module'; export { LoginComponent as ɵa } from './lib/components/login/login.component'; export { RegisterComponent as ɵc } from './lib/components/register/register.component'; -export { TenantBoxComponent as ɵd } from './lib/components/tenant-box/tenant-box.component'; -export { ACCOUNT_OPTIONS as ɵg, optionsFactory as ɵf } from './lib/tokens/options.token'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FjY291bnRSb3V0aW5nTW9kdWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWNjb3VudC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge0xvZ2luQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWdpc3RlckNvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGVuYW50Qm94Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7T3B0aW9ucyBhcyDJtWJ9IGZyb20gJy4vbGliL21vZGVscy9vcHRpb25zJztcbmV4cG9ydCB7QUNDT1VOVF9PUFRJT05TIGFzIMm1ZyxvcHRpb25zRmFjdG9yeSBhcyDJtWZ9IGZyb20gJy4vbGliL3Rva2Vucy9vcHRpb25zLnRva2VuJzsiXX0= \ No newline at end of file +export { TenantBoxComponent as ɵe } from './lib/components/tenant-box/tenant-box.component'; +export { AccountService as ɵd } from './lib/services/account.service'; +export { ACCOUNT_OPTIONS as ɵh, optionsFactory as ɵg } from './lib/tokens/options.token'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVmfSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWgsb3B0aW9uc0ZhY3RvcnkgYXMgybVnfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js index ad6bb46af2..de25084538 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core'; +import { GetAppConfiguration, ConfigState } from '@abp/ng.core'; import { Component, Inject, Optional } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; @@ -47,7 +47,7 @@ export class LoginComponent { .pipe(switchMap((/** * @return {?} */ - () => this.store.dispatch(new ConfigGetAppConfiguration()))), tap((/** + () => this.store.dispatch(new GetAppConfiguration()))), tap((/** * @return {?} */ () => { @@ -65,7 +65,11 @@ export class LoginComponent { this.toasterService.error(snq((/** * @return {?} */ - () => err.error.error_description), 'An error occured.'), 'Error'); + () => err.error.error_description)) || + snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); return throwError(err); })), finalize((/** * @return {?} @@ -77,7 +81,7 @@ export class LoginComponent { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -119,4 +123,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZ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ZmlnR2V0QXBwQ29uZmlndXJhdGlvbiwgQ29uZmlnU3RhdGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQUNDT1VOVF9PUFRJT05TJykgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zLFxuICApIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRPbmUoJ2Vudmlyb25tZW50JykpLm9BdXRoQ29uZmlnKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpXV0sXG4gICAgICByZW1lbWJlcjogW2ZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldFN0b3JhZ2UodGhpcy5mb3JtLnZhbHVlLnJlbWVtYmVyID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2UpO1xuXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcbiAgICBmcm9tKFxuICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZmV0Y2hUb2tlblVzaW5nUGFzc3dvcmRGbG93KHRoaXMuZm9ybS5nZXQoJ3VzZXJuYW1lJykudmFsdWUsIHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbigpKSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSBzbnEoKCkgPT4gd2luZG93Lmhpc3Rvcnkuc3RhdGUpLnJlZGlyZWN0VXJsIHx8ICh0aGlzLm9wdGlvbnMgfHwge30pLnJlZGlyZWN0VXJsIHx8ICcvJztcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbcmVkaXJlY3RVcmxdKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uLCAnQW4gZXJyb3Igb2NjdXJlZC4nKSwgJ0Vycm9yJyk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZ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QkFBdUI7Ozs7O0lBQ3ZCLHNDQUFrQzs7Ozs7SUFDbEMsK0JBQW9COzs7OztJQUNwQix3Q0FBc0M7Ozs7O0lBQ3RDLGlDQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0FDQ09VTlRfT1BUSU9OUycpIHByaXZhdGUgb3B0aW9uczogT3B0aW9ucyxcbiAgKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdlbnZpcm9ubWVudCcpKS5vQXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgcmVtZW1iZXI6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXRTdG9yYWdlKHRoaXMuZm9ybS52YWx1ZS5yZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKTtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgZnJvbShcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLCB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gc25xKCgpID0+IHdpbmRvdy5oaXN0b3J5LnN0YXRlKS5yZWRpcmVjdFVybCB8fCAodGhpcy5vcHRpb25zIHx8IHt9KS5yZWRpcmVjdFVybCB8fCAnLyc7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js index 6b43d2db2c..24b6716d7f 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js @@ -2,28 +2,27 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ToasterService } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { Router } from '@angular/router'; -import { validatePassword } from '@ngx-validate/core'; -import { OAuthService } from 'angular-oauth2-oidc'; +import { throwError } from 'rxjs'; +import { catchError, finalize, take } from 'rxjs/operators'; +import snq from 'snq'; +import { AccountService } from '../../services/account.service'; const { maxLength, minLength, required, email } = Validators; export class RegisterComponent { /** * @param {?} fb - * @param {?} oauthService - * @param {?} router + * @param {?} accountService + * @param {?} toasterService */ - constructor(fb, oauthService, router) { + constructor(fb, accountService, toasterService) { this.fb = fb; - this.oauthService = oauthService; - this.router = router; + this.accountService = accountService; + this.toasterService = toasterService; this.form = this.fb.group({ username: ['', [required, maxLength(255)]], - password: [ - '', - [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])], - ], + password: ['', [required, maxLength(32)]], email: ['', [required, email]], }); } @@ -33,23 +32,54 @@ export class RegisterComponent { onSubmit() { if (this.form.invalid) return; + this.inProgress = true; + /** @type {?} */ + const newUser = (/** @type {?} */ ({ + userName: this.form.get('username').value, + password: this.form.get('password').value, + emailAddress: this.form.get('email').value, + appName: 'angular', + })); + this.accountService + .register(newUser) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error_description)) || + snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); + return throwError(err); + })), finalize((/** + * @return {?} + */ + () => (this.inProgress = false)))) + .subscribe(); } } RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = () => [ { type: FormBuilder }, - { type: OAuthService }, - { type: Router } + { type: AccountService }, + { type: ToasterService } ]; if (false) { /** @type {?} */ RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; /** * @type {?} * @private @@ -59,11 +89,11 @@ if (false) { * @type {?} * @private */ - RegisterComponent.prototype.oauthService; + RegisterComponent.prototype.accountService; /** * @type {?} * @private */ - RegisterComponent.prototype.router; + RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztNQUU3QyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBRzVCLFlBQW9CLEVBQWUsRUFBVSxZQUEwQixFQUFVLE1BQWM7UUFBM0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUM3RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxRQUFRLEVBQUU7Z0JBQ1IsRUFBRTtnQkFDRixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNyRztZQUNELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztJQUNoQyxDQUFDOzs7WUFwQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QiwybENBQXdDO2FBQ3pDOzs7O1lBVlEsV0FBVztZQUdYLFlBQVk7WUFGWixNQUFNOzs7O0lBV2IsaUNBQWdCOzs7OztJQUVKLCtCQUF1Qjs7Ozs7SUFBRSx5Q0FBa0M7Ozs7O0lBQUUsbUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbXG4gICAgICAgICcnLFxuICAgICAgICBbcmVxdWlyZWQsIG1heExlbmd0aCgzMiksIG1pbkxlbmd0aCg2KSwgdmFsaWRhdGVQYXNzd29yZChbJ3NtYWxsJywgJ2NhcGl0YWwnLCAnbnVtYmVyJywgJ3NwZWNpYWwnXSldLFxuICAgICAgXSxcbiAgICAgIGVtYWlsOiBbJycsIFtyZXF1aXJlZCwgZW1haWxdXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUMxRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBSzVCLFlBQW9CLEVBQWUsRUFBVSxjQUE4QixFQUFVLGNBQThCO1FBQS9GLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7Y0FFakIsT0FBTyxHQUFHLG1CQUFBO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUs7WUFDMUMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFBbUI7UUFFcEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUNqQixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUN2QixHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFDO2dCQUNwQyxHQUFHOzs7Z0JBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFFLGlDQUFpQyxDQUFDLEVBQ3ZFLE9BQU8sRUFDUCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFDLEVBQ0YsUUFBUTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFDLENBQzFDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsdWdEQUF3QzthQUN6Qzs7OztZQVhRLFdBQVc7WUFLWCxjQUFjO1lBUGQsY0FBYzs7OztJQWVyQixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFFUiwrQkFBdUI7Ozs7O0lBQUUsMkNBQXNDOzs7OztJQUFFLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgZW1haWw6IFsnJywgW3JlcXVpcmVkLCBlbWFpbF1dLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgY29uc3QgbmV3VXNlciA9IHtcbiAgICAgIHVzZXJOYW1lOiB0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICBlbWFpbEFkZHJlc3M6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWUsXG4gICAgICBhcHBOYW1lOiAnYW5ndWxhcicsXG4gICAgfSBhcyBSZWdpc3RlclJlcXVlc3Q7XG5cbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXG4gICAgICAucmVnaXN0ZXIobmV3VXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/tenant-box/tenant-box.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/tenant-box/tenant-box.component.js index 078e56c9cd..60d2220ef0 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/tenant-box/tenant-box.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/tenant-box/tenant-box.component.js @@ -2,78 +2,119 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Component, TemplateRef, ViewChild } from '@angular/core'; -import { FormBuilder } from '@angular/forms'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { SetTenant, SessionState } from '@abp/ng.core'; +import { ToasterService } from '@abp/ng.theme.shared'; +import { Component } from '@angular/core'; +import { Store } from '@ngxs/store'; +import { throwError } from 'rxjs'; +import { catchError, take } from 'rxjs/operators'; +import snq from 'snq'; +import { AccountService } from '../../services/account.service'; export class TenantBoxComponent { /** - * @param {?} modalService - * @param {?} fb + * @param {?} store + * @param {?} toasterService + * @param {?} accountService */ - constructor(modalService, fb) { - this.modalService = modalService; - this.fb = fb; + constructor(store, toasterService, accountService) { + this.store = store; + this.toasterService = toasterService; + this.accountService = accountService; + this.tenant = (/** @type {?} */ ({})); } /** * @return {?} */ - createForm() { - this.form = this.fb.group({ - name: [this.selected.name], - }); - } - /** - * @return {?} - */ - openModal() { - this.createForm(); - this.modalService.open(this.modalContent); + ngOnInit() { + this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ((/** @type {?} */ ({}))); + this.tenantName = this.tenant.name || ''; } /** * @return {?} */ onSwitch() { - this.selected = (/** @type {?} */ ({})); - this.openModal(); + this.isModalVisible = true; } /** * @return {?} */ save() { - this.selected = this.form.value; - this.modalService.dismissAll(); + if (this.tenant.name) { + this.accountService + .findTenant(this.tenant.name) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error_description), 'AbpUi::DefaultErrorMessage'), 'AbpUi::Error'); + return throwError(err); + }))) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + ({ success, tenantId }) => { + if (success) { + this.tenant = { + id: tenantId, + name: this.tenant.name, + }; + this.tenantName = this.tenant.name; + this.isModalVisible = false; + } + else { + this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', { + messageLocalizationParams: [this.tenant.name], + }); + this.tenant = (/** @type {?} */ ({})); + } + this.store.dispatch(new SetTenant(success ? this.tenant : null)); + })); + } + else { + this.store.dispatch(new SetTenant(null)); + this.tenantName = null; + this.isModalVisible = false; + } } } TenantBoxComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenant-box', - template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n
    \n
    \n SwitchTenant\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n" + template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n (
    {{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n" }] } ]; /** @nocollapse */ TenantBoxComponent.ctorParameters = () => [ - { type: NgbModal }, - { type: FormBuilder } + { type: Store }, + { type: ToasterService }, + { type: AccountService } ]; -TenantBoxComponent.propDecorators = { - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] -}; if (false) { /** @type {?} */ - TenantBoxComponent.prototype.form; + TenantBoxComponent.prototype.tenant; /** @type {?} */ - TenantBoxComponent.prototype.selected; + TenantBoxComponent.prototype.tenantName; /** @type {?} */ - TenantBoxComponent.prototype.modalContent; + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; /** * @type {?} * @private */ - TenantBoxComponent.prototype.modalService; + TenantBoxComponent.prototype.toasterService; /** * @type {?} * @private */ - TenantBoxComponent.prototype.fb; + TenantBoxComponent.prototype.accountService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU90RCxNQUFNLE9BQU8sa0JBQWtCOzs7OztJQUM3QixZQUFvQixZQUFzQixFQUFVLEVBQWU7UUFBL0MsaUJBQVksR0FBWixZQUFZLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO0lBQUcsQ0FBQzs7OztJQVN2RSxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFBLEVBQUUsRUFBaUIsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7O1lBakNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQiwydkRBQTBDO2FBQzNDOzs7O1lBTlEsUUFBUTtZQURSLFdBQVc7OzsyQkFlakIsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7SUFKNUMsa0NBQWdCOztJQUVoQixzQ0FBd0I7O0lBRXhCLDBDQUMrQjs7Ozs7SUFQbkIsMENBQThCOzs7OztJQUFFLGdDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50LWJveC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudEJveENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBBQlAuQmFzaWNJdGVtO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWVdLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5tb2RhbENvbnRlbnQpO1xuICB9XG5cbiAgb25Td2l0Y2goKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQU8sU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTWhFLE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQUM3QixZQUFvQixLQUFZLEVBQVUsY0FBOEIsRUFBVSxjQUE4QjtRQUE1RixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRWhILFdBQU0sR0FBRyxtQkFBQSxFQUFFLEVBQWlCLENBQUM7SUFGc0YsQ0FBQzs7OztJQVFwSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBQSxFQUFFLEVBQWlCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYztpQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2lCQUM1QixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7WUFBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDdkIsR0FBRzs7O2dCQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUUsNEJBQTRCLENBQUMsRUFDcEUsY0FBYyxDQUNmLENBQUM7Z0JBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQyxFQUFDLENBQ0g7aUJBQ0EsU0FBUzs7OztZQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRzt3QkFDWixFQUFFLEVBQUUsUUFBUTt3QkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO3FCQUN2QixDQUFDO29CQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxjQUFjLEVBQUU7d0JBQ3hGLHlCQUF5QixFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7cUJBQzlDLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLG1CQUFBLEVBQUUsRUFBaUIsQ0FBQztpQkFDbkM7Z0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25FLENBQUMsRUFBQyxDQUFDO1NBQ047YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDOzs7WUF6REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLDBnREFBMEM7YUFDM0M7Ozs7WUFUUSxLQUFLO1lBRkwsY0FBYztZQU1kLGNBQWM7Ozs7SUFTckIsb0NBQTZCOztJQUU3Qix3Q0FBbUI7O0lBRW5CLDRDQUF3Qjs7Ozs7SUFOWixtQ0FBb0I7Ozs7O0lBQUUsNENBQXNDOzs7OztJQUFFLDRDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgU2V0VGVuYW50LCBTZXNzaW9uU3RhdGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnQtYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50Qm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSkge31cblxuICB0ZW5hbnQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuXG4gIHRlbmFudE5hbWU6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRlbmFudCA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmdldFRlbmFudCkgfHwgKHt9IGFzIEFCUC5CYXNpY0l0ZW0pO1xuICAgIHRoaXMudGVuYW50TmFtZSA9IHRoaXMudGVuYW50Lm5hbWUgfHwgJyc7XG4gIH1cblxuICBvblN3aXRjaCgpIHtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgaWYgKHRoaXMudGVuYW50Lm5hbWUpIHtcbiAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2VcbiAgICAgICAgLmZpbmRUZW5hbnQodGhpcy50ZW5hbnQubmFtZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uLCAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICAgJ0FicFVpOjpFcnJvcicsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh7IHN1Y2Nlc3MsIHRlbmFudElkIH0pID0+IHtcbiAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgdGhpcy50ZW5hbnQgPSB7XG4gICAgICAgICAgICAgIGlkOiB0ZW5hbnRJZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy50ZW5hbnQubmFtZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnRlbmFudE5hbWUgPSB0aGlzLnRlbmFudC5uYW1lO1xuICAgICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKGBBYnBVaU11bHRpVGVuYW5jeTo6R2l2ZW5UZW5hbnRJc05vdEF2YWlsYWJsZWAsICdBYnBVaTo6RXJyb3InLCB7XG4gICAgICAgICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt0aGlzLnRlbmFudC5uYW1lXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50ZW5hbnQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRUZW5hbnQoc3VjY2VzcyA/IHRoaXMudGVuYW50IDogbnVsbCkpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0VGVuYW50KG51bGwpKTtcbiAgICAgIHRoaXMudGVuYW50TmFtZSA9IG51bGw7XG4gICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/models/index.js b/npm/ng-packs/dist/account/esm2015/lib/models/index.js index 2c32b7ae5c..3656673442 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/models/index.js +++ b/npm/ng-packs/dist/account/esm2015/lib/models/index.js @@ -3,4 +3,6 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export {} from './options'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxlQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0= \ No newline at end of file +export {} from './user'; +export {} from './tenant'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxlQUFjLFdBQVcsQ0FBQztBQUMxQixlQUFjLFFBQVEsQ0FBQztBQUN2QixlQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/models/tenant.js b/npm/ng-packs/dist/account/esm2015/lib/models/tenant.js new file mode 100644 index 0000000000..c4419f8f90 --- /dev/null +++ b/npm/ng-packs/dist/account/esm2015/lib/models/tenant.js @@ -0,0 +1,15 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +export function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL21vZGVscy90ZW5hbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLHNDQUdDOzs7SUFGQyxtQ0FBaUI7O0lBQ2pCLG9DQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGVuYW50SWRSZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIHRlbmFudElkOiBzdHJpbmc7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/models/user.js b/npm/ng-packs/dist/account/esm2015/lib/models/user.js new file mode 100644 index 0000000000..74def26729 --- /dev/null +++ b/npm/ng-packs/dist/account/esm2015/lib/models/user.js @@ -0,0 +1,65 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +export function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +export function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEscUNBS0M7OztJQUpDLG1DQUFpQjs7SUFDakIsdUNBQXFCOztJQUNyQixtQ0FBaUI7O0lBQ2pCLGtDQUFpQjs7Ozs7QUFHbkIsc0NBcUJDOzs7SUFwQkMsb0NBQWlCOztJQUNqQixvQ0FBaUI7O0lBQ2pCLGdDQUFhOztJQUNiLG1DQUFnQjs7SUFDaEIsaUNBQWM7O0lBQ2QsMENBQXdCOztJQUN4Qix1Q0FBb0I7O0lBQ3BCLGdEQUE4Qjs7SUFDOUIsNENBQTBCOztJQUMxQiwwQ0FBd0I7O0lBQ3hCLHNDQUFtQjs7SUFDbkIsNENBQXlCOztJQUN6QixxQ0FBbUI7O0lBQ25CLHFDQUFrQjs7SUFDbEIsd0NBQXFCOztJQUNyQixnREFBNkI7O0lBQzdCLDBDQUF1Qjs7SUFDdkIsd0NBQXFCOztJQUNyQixxQ0FBa0I7O0lBQ2xCLDhCQUFXIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclJlcXVlc3Qge1xuICB1c2VyTmFtZTogc3RyaW5nO1xuICBlbWFpbEFkZHJlc3M6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgYXBwTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclJlc3BvbnNlIHtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgdXNlck5hbWU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzdXJuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGVtYWlsQ29uZmlybWVkOiBib29sZWFuO1xuICBwaG9uZU51bWJlcjogc3RyaW5nO1xuICBwaG9uZU51bWJlckNvbmZpcm1lZDogYm9vbGVhbjtcbiAgdHdvRmFjdG9yRW5hYmxlZDogYm9vbGVhbjtcbiAgbG9ja291dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGxvY2tvdXRFbmQ6IHN0cmluZztcbiAgY29uY3VycmVuY3lTdGFtcDogc3RyaW5nO1xuICBpc0RlbGV0ZWQ6IGJvb2xlYW47XG4gIGRlbGV0ZXJJZDogc3RyaW5nO1xuICBkZWxldGlvblRpbWU6IHN0cmluZztcbiAgbGFzdE1vZGlmaWNhdGlvblRpbWU6IHN0cmluZztcbiAgbGFzdE1vZGlmaWVySWQ6IHN0cmluZztcbiAgY3JlYXRpb25UaW1lOiBzdHJpbmc7XG4gIGNyZWF0b3JJZDogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js b/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js new file mode 100644 index 0000000000..efd8617634 --- /dev/null +++ b/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js @@ -0,0 +1,59 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import * as i0 from "@angular/core"; +import * as i1 from "@abp/ng.core"; +export class AccountService { + /** + * @param {?} rest + */ + constructor(rest) { + this.rest = rest; + } + /** + * @param {?} tenantName + * @return {?} + */ + findTenant(tenantName) { + /** @type {?} */ + const request = { + method: 'GET', + url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`, + }; + return this.rest.request(request); + } + /** + * @param {?} body + * @return {?} + */ + register(body) { + /** @type {?} */ + const request = { + method: 'POST', + url: `/api/account/register`, + body, + }; + return this.rest.request(request, { throwErr: true }); + } +} +AccountService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } +]; +/** @nocollapse */ +AccountService.ctorParameters = () => [ + { type: RestService } +]; +/** @nocollapse */ AccountService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.RestService)); }, token: AccountService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFDekIsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLFVBQVUsQ0FBQyxVQUFrQjs7Y0FDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxzQ0FBc0MsVUFBVSxFQUFFO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsSUFBcUI7O2NBQ3RCLE9BQU8sR0FBa0M7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsdUJBQXVCO1lBQzVCLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OztZQXZCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMUSxXQUFXOzs7Ozs7OztJQU9OLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0IH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyUmVzcG9uc2UsIFJlZ2lzdGVyUmVxdWVzdCwgVGVuYW50SWRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZmluZFRlbmFudCh0ZW5hbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbmFudElkUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9hYnAvbXVsdGktdGVuYW5jeS9maW5kLXRlbmFudC8ke3RlbmFudE5hbWV9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudElkUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgcmVnaXN0ZXIoYm9keTogUmVnaXN0ZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZWdpc3RlclJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFJlZ2lzdGVyUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvYWNjb3VudC9yZWdpc3RlcmAsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0LCBSZWdpc3RlclJlc3BvbnNlPihyZXF1ZXN0LCB7IHRocm93RXJyOiB0cnVlIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/abp-ng.account.js b/npm/ng-packs/dist/account/esm5/abp-ng.account.js index 296db7f041..af2884562b 100644 --- a/npm/ng-packs/dist/account/esm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/esm5/abp-ng.account.js @@ -6,9 +6,10 @@ * Generated bundle index. Do not edit. */ export { AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; -export { AccountRoutingModule as ɵe } from './lib/account-routing.module'; +export { AccountRoutingModule as ɵf } from './lib/account-routing.module'; export { LoginComponent as ɵa } from './lib/components/login/login.component'; export { RegisterComponent as ɵc } from './lib/components/register/register.component'; -export { TenantBoxComponent as ɵd } from './lib/components/tenant-box/tenant-box.component'; -export { ACCOUNT_OPTIONS as ɵg, optionsFactory as ɵf } from './lib/tokens/options.token'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FjY291bnRSb3V0aW5nTW9kdWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWNjb3VudC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge0xvZ2luQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWdpc3RlckNvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGVuYW50Qm94Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7T3B0aW9ucyBhcyDJtWJ9IGZyb20gJy4vbGliL21vZGVscy9vcHRpb25zJztcbmV4cG9ydCB7QUNDT1VOVF9PUFRJT05TIGFzIMm1ZyxvcHRpb25zRmFjdG9yeSBhcyDJtWZ9IGZyb20gJy4vbGliL3Rva2Vucy9vcHRpb25zLnRva2VuJzsiXX0= \ No newline at end of file +export { TenantBoxComponent as ɵe } from './lib/components/tenant-box/tenant-box.component'; +export { AccountService as ɵd } from './lib/services/account.service'; +export { ACCOUNT_OPTIONS as ɵh, optionsFactory as ɵg } from './lib/tokens/options.token'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVmfSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWgsb3B0aW9uc0ZhY3RvcnkgYXMgybVnfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js index d9054ef8b2..e797f0be5b 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core'; +import { GetAppConfiguration, ConfigState } from '@abp/ng.core'; import { Component, Inject, Optional } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; @@ -44,7 +44,7 @@ var LoginComponent = /** @class */ (function () { .pipe(switchMap((/** * @return {?} */ - function () { return _this.store.dispatch(new ConfigGetAppConfiguration()); })), tap((/** + function () { return _this.store.dispatch(new GetAppConfiguration()); })), tap((/** * @return {?} */ function () { @@ -62,7 +62,11 @@ var LoginComponent = /** @class */ (function () { _this.toasterService.error(snq((/** * @return {?} */ - function () { return err.error.error_description; }), 'An error occured.'), 'Error'); + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); return throwError(err); })), finalize((/** * @return {?} @@ -73,7 +77,7 @@ var LoginComponent = /** @class */ (function () { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -118,4 +122,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELGlDQUFROzs7SUFBUjtRQUFBLGlCQXFCQztRQXBCQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FDRixJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDaEg7YUFDRSxJQUFJLENBQ0gsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxFQUFwRCxDQUFvRCxFQUFDLEVBQ3JFLEdBQUc7OztRQUFDOztnQkFDSSxXQUFXLEdBQUcsR0FBRzs7O1lBQUMsY0FBTSxPQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFwQixDQUFvQixFQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksR0FBRztZQUMxRyxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDLEVBQUMsRUFDRixVQUFVOzs7O1FBQUMsVUFBQSxHQUFHO1lBQ1osS0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRzs7O1lBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQTNCLENBQTJCLEdBQUUsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRyxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUMsRUFDRixRQUFROzs7UUFBQyxjQUFNLE9BQUEsQ0FBQyxLQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUF6QixDQUF5QixFQUFDLENBQzFDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Z0JBL0NGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsODZEQUFxQztpQkFDdEM7Ozs7Z0JBZlEsV0FBVztnQkFHWCxZQUFZO2dCQURaLEtBQUs7Z0JBSUwsY0FBYztnREFvQmxCLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCOztJQWtDekMscUJBQUM7Q0FBQSxBQWhERCxJQWdEQztTQTVDWSxjQUFjOzs7SUFDekIsOEJBQWdCOztJQUVoQixvQ0FBb0I7Ozs7O0lBR2xCLDRCQUF1Qjs7Ozs7SUFDdkIsc0NBQWtDOzs7OztJQUNsQywrQkFBb0I7Ozs7O0lBQ3BCLHdDQUFzQzs7Ozs7SUFDdEMsaUNBQStEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbiwgQ29uZmlnU3RhdGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQUNDT1VOVF9PUFRJT05TJykgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zLFxuICApIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRPbmUoJ2Vudmlyb25tZW50JykpLm9BdXRoQ29uZmlnKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpXV0sXG4gICAgICByZW1lbWJlcjogW2ZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldFN0b3JhZ2UodGhpcy5mb3JtLnZhbHVlLnJlbWVtYmVyID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2UpO1xuXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcbiAgICBmcm9tKFxuICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZmV0Y2hUb2tlblVzaW5nUGFzc3dvcmRGbG93KHRoaXMuZm9ybS5nZXQoJ3VzZXJuYW1lJykudmFsdWUsIHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbigpKSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSBzbnEoKCkgPT4gd2luZG93Lmhpc3Rvcnkuc3RhdGUpLnJlZGlyZWN0VXJsIHx8ICh0aGlzLm9wdGlvbnMgfHwge30pLnJlZGlyZWN0VXJsIHx8ICcvJztcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbcmVkaXJlY3RVcmxdKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uLCAnQW4gZXJyb3Igb2NjdXJlZC4nKSwgJ0Vycm9yJyk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMs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O1NBakRZLGNBQWM7OztJQUN6Qiw4QkFBZ0I7O0lBRWhCLG9DQUFvQjs7Ozs7SUFHbEIsNEJBQXVCOzs7OztJQUN2QixzQ0FBa0M7Ozs7O0lBQ2xDLCtCQUFvQjs7Ozs7SUFDcEIsd0NBQXNDOzs7OztJQUN0QyxpQ0FBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdBQ0NPVU5UX09QVElPTlMnKSBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIHJlbWVtYmVyOiBbZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZSh0aGlzLmZvcm0udmFsdWUucmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSk7XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGZyb20oXG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3codGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSwgdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHNucSgoKSA9PiB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkucmVkaXJlY3RVcmwgfHwgKHRoaXMub3B0aW9ucyB8fCB7fSkucmVkaXJlY3RVcmwgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFtyZWRpcmVjdFVybF0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikgfHxcbiAgICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js index 2034a3fa9e..d73e10a7b1 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js @@ -2,23 +2,22 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ToasterService } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { Router } from '@angular/router'; -import { validatePassword } from '@ngx-validate/core'; -import { OAuthService } from 'angular-oauth2-oidc'; +import { throwError } from 'rxjs'; +import { catchError, finalize, take } from 'rxjs/operators'; +import snq from 'snq'; +import { AccountService } from '../../services/account.service'; var maxLength = Validators.maxLength, minLength = Validators.minLength, required = Validators.required, email = Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, oauthService, router) { + function RegisterComponent(fb, accountService, toasterService) { this.fb = fb; - this.oauthService = oauthService; - this.router = router; + this.accountService = accountService; + this.toasterService = toasterService; this.form = this.fb.group({ username: ['', [required, maxLength(255)]], - password: [ - '', - [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])], - ], + password: ['', [required, maxLength(32)]], email: ['', [required, email]], }); } @@ -29,20 +28,50 @@ var RegisterComponent = /** @class */ (function () { * @return {?} */ function () { + var _this = this; if (this.form.invalid) return; + this.inProgress = true; + /** @type {?} */ + var newUser = (/** @type {?} */ ({ + userName: this.form.get('username').value, + password: this.form.get('password').value, + emailAddress: this.form.get('email').value, + appName: 'angular', + })); + this.accountService + .register(newUser) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); + return throwError(err); + })), finalize((/** + * @return {?} + */ + function () { return (_this.inProgress = false); }))) + .subscribe(); }; RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: FormBuilder }, - { type: OAuthService }, - { type: Router } + { type: AccountService }, + { type: ToasterService } ]; }; return RegisterComponent; }()); @@ -50,6 +79,8 @@ export { RegisterComponent }; if (false) { /** @type {?} */ RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; /** * @type {?} * @private @@ -59,11 +90,11 @@ if (false) { * @type {?} * @private */ - RegisterComponent.prototype.oauthService; + RegisterComponent.prototype.accountService; /** * @type {?} * @private */ - RegisterComponent.prototype.router; + RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBT0UsMkJBQW9CLEVBQWUsRUFBVSxZQUEwQixFQUFVLE1BQWM7UUFBM0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUM3RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxRQUFRLEVBQUU7Z0JBQ1IsRUFBRTtnQkFDRixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNyRztZQUNELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVE7OztJQUFSO1FBQ0UsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO0lBQ2hDLENBQUM7O2dCQXBCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLDJsQ0FBd0M7aUJBQ3pDOzs7O2dCQVZRLFdBQVc7Z0JBR1gsWUFBWTtnQkFGWixNQUFNOztJQTJCZix3QkFBQztDQUFBLEFBckJELElBcUJDO1NBakJZLGlCQUFpQjs7O0lBQzVCLGlDQUFnQjs7Ozs7SUFFSiwrQkFBdUI7Ozs7O0lBQUUseUNBQWtDOzs7OztJQUFFLG1DQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB2YWxpZGF0ZVBhc3N3b3JkIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yZWdpc3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWdpc3Rlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogW1xuICAgICAgICAnJyxcbiAgICAgICAgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpLCBtaW5MZW5ndGgoNiksIHZhbGlkYXRlUGFzc3dvcmQoWydzbWFsbCcsICdjYXBpdGFsJywgJ251bWJlcicsICdzcGVjaWFsJ10pXSxcbiAgICAgIF0sXG4gICAgICBlbWFpbDogWycnLCBbcmVxdWlyZWQsIGVtYWlsXV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBU0UsMkJBQW9CLEVBQWUsRUFBVSxjQUE4QixFQUFVLGNBQThCO1FBQS9GLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVE7OztJQUFSO1FBQUEsaUJBNEJDO1FBM0JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7WUFFakIsT0FBTyxHQUFHLG1CQUFBO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUs7WUFDMUMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFBbUI7UUFFcEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUNqQixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7UUFBQyxVQUFBLEdBQUc7WUFDWixLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDdkIsR0FBRzs7O1lBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQTNCLENBQTJCLEVBQUM7Z0JBQ3BDLEdBQUc7OztnQkFBQyxjQUFNLE9BQUEsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUF2QixDQUF1QixHQUFFLGlDQUFpQyxDQUFDLEVBQ3ZFLE9BQU8sRUFDUCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFDLEVBQ0YsUUFBUTs7O1FBQUMsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsRUFBekIsQ0FBeUIsRUFBQyxDQUMxQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dCQTdDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLHVnREFBd0M7aUJBQ3pDOzs7O2dCQVhRLFdBQVc7Z0JBS1gsY0FBYztnQkFQZCxjQUFjOztJQXdEdkIsd0JBQUM7Q0FBQSxBQTlDRCxJQThDQztTQTFDWSxpQkFBaUI7OztJQUM1QixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFFUiwrQkFBdUI7Ozs7O0lBQUUsMkNBQXNDOzs7OztJQUFFLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgZW1haWw6IFsnJywgW3JlcXVpcmVkLCBlbWFpbF1dLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgY29uc3QgbmV3VXNlciA9IHtcbiAgICAgIHVzZXJOYW1lOiB0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICBlbWFpbEFkZHJlc3M6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWUsXG4gICAgICBhcHBOYW1lOiAnYW5ndWxhcicsXG4gICAgfSBhcyBSZWdpc3RlclJlcXVlc3Q7XG5cbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXG4gICAgICAucmVnaXN0ZXIobmV3VXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/tenant-box/tenant-box.component.js b/npm/ng-packs/dist/account/esm5/lib/components/tenant-box/tenant-box.component.js index 5a20c66ee8..cdb42a9ccd 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/tenant-box/tenant-box.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/tenant-box/tenant-box.component.js @@ -2,34 +2,30 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Component, TemplateRef, ViewChild } from '@angular/core'; -import { FormBuilder } from '@angular/forms'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { SetTenant, SessionState } from '@abp/ng.core'; +import { ToasterService } from '@abp/ng.theme.shared'; +import { Component } from '@angular/core'; +import { Store } from '@ngxs/store'; +import { throwError } from 'rxjs'; +import { catchError, take } from 'rxjs/operators'; +import snq from 'snq'; +import { AccountService } from '../../services/account.service'; var TenantBoxComponent = /** @class */ (function () { - function TenantBoxComponent(modalService, fb) { - this.modalService = modalService; - this.fb = fb; + function TenantBoxComponent(store, toasterService, accountService) { + this.store = store; + this.toasterService = toasterService; + this.accountService = accountService; + this.tenant = (/** @type {?} */ ({})); } /** * @return {?} */ - TenantBoxComponent.prototype.createForm = /** + TenantBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { - this.form = this.fb.group({ - name: [this.selected.name], - }); - }; - /** - * @return {?} - */ - TenantBoxComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.createForm(); - this.modalService.open(this.modalContent); + this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ((/** @type {?} */ ({}))); + this.tenantName = this.tenant.name || ''; }; /** * @return {?} @@ -38,8 +34,7 @@ var TenantBoxComponent = /** @class */ (function () { * @return {?} */ function () { - this.selected = (/** @type {?} */ ({})); - this.openModal(); + this.isModalVisible = true; }; /** * @return {?} @@ -48,42 +43,86 @@ var TenantBoxComponent = /** @class */ (function () { * @return {?} */ function () { - this.selected = this.form.value; - this.modalService.dismissAll(); + var _this = this; + if (this.tenant.name) { + this.accountService + .findTenant(this.tenant.name) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; }), 'AbpUi::DefaultErrorMessage'), 'AbpUi::Error'); + return throwError(err); + }))) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var success = _a.success, tenantId = _a.tenantId; + if (success) { + _this.tenant = { + id: tenantId, + name: _this.tenant.name, + }; + _this.tenantName = _this.tenant.name; + _this.isModalVisible = false; + } + else { + _this.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable", 'AbpUi::Error', { + messageLocalizationParams: [_this.tenant.name], + }); + _this.tenant = (/** @type {?} */ ({})); + } + _this.store.dispatch(new SetTenant(success ? _this.tenant : null)); + })); + } + else { + this.store.dispatch(new SetTenant(null)); + this.tenantName = null; + this.isModalVisible = false; + } }; TenantBoxComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenant-box', - template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n
    \n
    \n SwitchTenant\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n" + template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n (
    {{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n" }] } ]; /** @nocollapse */ TenantBoxComponent.ctorParameters = function () { return [ - { type: NgbModal }, - { type: FormBuilder } + { type: Store }, + { type: ToasterService }, + { type: AccountService } ]; }; - TenantBoxComponent.propDecorators = { - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] - }; return TenantBoxComponent; }()); export { TenantBoxComponent }; if (false) { /** @type {?} */ - TenantBoxComponent.prototype.form; + TenantBoxComponent.prototype.tenant; /** @type {?} */ - TenantBoxComponent.prototype.selected; + TenantBoxComponent.prototype.tenantName; /** @type {?} */ - TenantBoxComponent.prototype.modalContent; + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; /** * @type {?} * @private */ - TenantBoxComponent.prototype.modalService; + TenantBoxComponent.prototype.toasterService; /** * @type {?} * @private */ - TenantBoxComponent.prototype.fb; + TenantBoxComponent.prototype.accountService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RDtJQUtFLDRCQUFvQixZQUFzQixFQUFVLEVBQWU7UUFBL0MsaUJBQVksR0FBWixZQUFZLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO0lBQUcsQ0FBQzs7OztJQVN2RSx1Q0FBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxzQ0FBUzs7O0lBQVQ7UUFDRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFRCxxQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFBLEVBQUUsRUFBaUIsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVELGlDQUFJOzs7SUFBSjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztnQkFqQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLDJ2REFBMEM7aUJBQzNDOzs7O2dCQU5RLFFBQVE7Z0JBRFIsV0FBVzs7OytCQWVqQixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUF1QjlDLHlCQUFDO0NBQUEsQUFsQ0QsSUFrQ0M7U0E5Qlksa0JBQWtCOzs7SUFHN0Isa0NBQWdCOztJQUVoQixzQ0FBd0I7O0lBRXhCLDBDQUMrQjs7Ozs7SUFQbkIsMENBQThCOzs7OztJQUFFLGdDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50LWJveC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudEJveENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBBQlAuQmFzaWNJdGVtO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWVdLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5tb2RhbENvbnRlbnQpO1xuICB9XG5cbiAgb25Td2l0Y2goKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQU8sU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFO0lBS0UsNEJBQW9CLEtBQVksRUFBVSxjQUE4QixFQUFVLGNBQThCO1FBQTVGLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFaEgsV0FBTSxHQUFHLG1CQUFBLEVBQUUsRUFBaUIsQ0FBQztJQUZzRixDQUFDOzs7O0lBUXBILHFDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFpQixDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxpQ0FBSTs7O0lBQUo7UUFBQSxpQkFtQ0M7UUFsQ0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYztpQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2lCQUM1QixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7WUFBQyxVQUFBLEdBQUc7Z0JBQ1osS0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLEdBQUc7OztnQkFBQyxjQUFNLE9BQUEsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBM0IsQ0FBMkIsR0FBRSw0QkFBNEIsQ0FBQyxFQUNwRSxjQUFjLENBQ2YsQ0FBQztnQkFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUMsQ0FDSDtpQkFDQSxTQUFTOzs7O1lBQUMsVUFBQyxFQUFxQjtvQkFBbkIsb0JBQU8sRUFBRSxzQkFBUTtnQkFDN0IsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsS0FBSSxDQUFDLE1BQU0sR0FBRzt3QkFDWixFQUFFLEVBQUUsUUFBUTt3QkFDWixJQUFJLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO3FCQUN2QixDQUFDO29CQUNGLEtBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ25DLEtBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxjQUFjLEVBQUU7d0JBQ3hGLHlCQUF5QixFQUFFLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7cUJBQzlDLENBQUMsQ0FBQztvQkFDSCxLQUFJLENBQUMsTUFBTSxHQUFHLG1CQUFBLEVBQUUsRUFBaUIsQ0FBQztpQkFDbkM7Z0JBQ0QsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25FLENBQUMsRUFBQyxDQUFDO1NBQ047YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDOztnQkF6REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLDBnREFBMEM7aUJBQzNDOzs7O2dCQVRRLEtBQUs7Z0JBRkwsY0FBYztnQkFNZCxjQUFjOztJQTREdkIseUJBQUM7Q0FBQSxBQTFERCxJQTBEQztTQXREWSxrQkFBa0I7OztJQUc3QixvQ0FBNkI7O0lBRTdCLHdDQUFtQjs7SUFFbkIsNENBQXdCOzs7OztJQU5aLG1DQUFvQjs7Ozs7SUFBRSw0Q0FBc0M7Ozs7O0lBQUUsNENBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBTZXRUZW5hbnQsIFNlc3Npb25TdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC10ZW5hbnQtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlKSB7fVxuXG4gIHRlbmFudCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50TmFtZTogc3RyaW5nO1xuXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGVuYW50ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0VGVuYW50KSB8fCAoe30gYXMgQUJQLkJhc2ljSXRlbSk7XG4gICAgdGhpcy50ZW5hbnROYW1lID0gdGhpcy50ZW5hbnQubmFtZSB8fCAnJztcbiAgfVxuXG4gIG9uU3dpdGNoKCkge1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAodGhpcy50ZW5hbnQubmFtZSkge1xuICAgICAgdGhpcy5hY2NvdW50U2VydmljZVxuICAgICAgICAuZmluZFRlbmFudCh0aGlzLnRlbmFudC5uYW1lKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24sICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgICAnQWJwVWk6OkVycm9yJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgc3VjY2VzcywgdGVuYW50SWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICB0aGlzLnRlbmFudCA9IHtcbiAgICAgICAgICAgICAgaWQ6IHRlbmFudElkLFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLnRlbmFudC5uYW1lLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMudGVuYW50TmFtZSA9IHRoaXMudGVuYW50Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoYEFicFVpTXVsdGlUZW5hbmN5OjpHaXZlblRlbmFudElzTm90QXZhaWxhYmxlYCwgJ0FicFVpOjpFcnJvcicsIHtcbiAgICAgICAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3RoaXMudGVuYW50Lm5hbWVdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRlbmFudCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFRlbmFudChzdWNjZXNzID8gdGhpcy50ZW5hbnQgOiBudWxsKSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRUZW5hbnQobnVsbCkpO1xuICAgICAgdGhpcy50ZW5hbnROYW1lID0gbnVsbDtcbiAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/models/index.js b/npm/ng-packs/dist/account/esm5/lib/models/index.js index 2c32b7ae5c..3656673442 100644 --- a/npm/ng-packs/dist/account/esm5/lib/models/index.js +++ b/npm/ng-packs/dist/account/esm5/lib/models/index.js @@ -3,4 +3,6 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export {} from './options'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxlQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0= \ No newline at end of file +export {} from './user'; +export {} from './tenant'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxlQUFjLFdBQVcsQ0FBQztBQUMxQixlQUFjLFFBQVEsQ0FBQztBQUN2QixlQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/models/tenant.js b/npm/ng-packs/dist/account/esm5/lib/models/tenant.js new file mode 100644 index 0000000000..c4419f8f90 --- /dev/null +++ b/npm/ng-packs/dist/account/esm5/lib/models/tenant.js @@ -0,0 +1,15 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +export function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL21vZGVscy90ZW5hbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLHNDQUdDOzs7SUFGQyxtQ0FBaUI7O0lBQ2pCLG9DQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGVuYW50SWRSZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIHRlbmFudElkOiBzdHJpbmc7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/models/user.js b/npm/ng-packs/dist/account/esm5/lib/models/user.js new file mode 100644 index 0000000000..74def26729 --- /dev/null +++ b/npm/ng-packs/dist/account/esm5/lib/models/user.js @@ -0,0 +1,65 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +export function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +export function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEscUNBS0M7OztJQUpDLG1DQUFpQjs7SUFDakIsdUNBQXFCOztJQUNyQixtQ0FBaUI7O0lBQ2pCLGtDQUFpQjs7Ozs7QUFHbkIsc0NBcUJDOzs7SUFwQkMsb0NBQWlCOztJQUNqQixvQ0FBaUI7O0lBQ2pCLGdDQUFhOztJQUNiLG1DQUFnQjs7SUFDaEIsaUNBQWM7O0lBQ2QsMENBQXdCOztJQUN4Qix1Q0FBb0I7O0lBQ3BCLGdEQUE4Qjs7SUFDOUIsNENBQTBCOztJQUMxQiwwQ0FBd0I7O0lBQ3hCLHNDQUFtQjs7SUFDbkIsNENBQXlCOztJQUN6QixxQ0FBbUI7O0lBQ25CLHFDQUFrQjs7SUFDbEIsd0NBQXFCOztJQUNyQixnREFBNkI7O0lBQzdCLDBDQUF1Qjs7SUFDdkIsd0NBQXFCOztJQUNyQixxQ0FBa0I7O0lBQ2xCLDhCQUFXIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclJlcXVlc3Qge1xuICB1c2VyTmFtZTogc3RyaW5nO1xuICBlbWFpbEFkZHJlc3M6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgYXBwTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclJlc3BvbnNlIHtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgdXNlck5hbWU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzdXJuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGVtYWlsQ29uZmlybWVkOiBib29sZWFuO1xuICBwaG9uZU51bWJlcjogc3RyaW5nO1xuICBwaG9uZU51bWJlckNvbmZpcm1lZDogYm9vbGVhbjtcbiAgdHdvRmFjdG9yRW5hYmxlZDogYm9vbGVhbjtcbiAgbG9ja291dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGxvY2tvdXRFbmQ6IHN0cmluZztcbiAgY29uY3VycmVuY3lTdGFtcDogc3RyaW5nO1xuICBpc0RlbGV0ZWQ6IGJvb2xlYW47XG4gIGRlbGV0ZXJJZDogc3RyaW5nO1xuICBkZWxldGlvblRpbWU6IHN0cmluZztcbiAgbGFzdE1vZGlmaWNhdGlvblRpbWU6IHN0cmluZztcbiAgbGFzdE1vZGlmaWVySWQ6IHN0cmluZztcbiAgY3JlYXRpb25UaW1lOiBzdHJpbmc7XG4gIGNyZWF0b3JJZDogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/services/account.service.js b/npm/ng-packs/dist/account/esm5/lib/services/account.service.js new file mode 100644 index 0000000000..6e9665cc16 --- /dev/null +++ b/npm/ng-packs/dist/account/esm5/lib/services/account.service.js @@ -0,0 +1,66 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import * as i0 from "@angular/core"; +import * as i1 from "@abp/ng.core"; +var AccountService = /** @class */ (function () { + function AccountService(rest) { + this.rest = rest; + } + /** + * @param {?} tenantName + * @return {?} + */ + AccountService.prototype.findTenant = /** + * @param {?} tenantName + * @return {?} + */ + function (tenantName) { + /** @type {?} */ + var request = { + method: 'GET', + url: "/api/abp/multi-tenancy/find-tenant/" + tenantName, + }; + return this.rest.request(request); + }; + /** + * @param {?} body + * @return {?} + */ + AccountService.prototype.register = /** + * @param {?} body + * @return {?} + */ + function (body) { + /** @type {?} */ + var request = { + method: 'POST', + url: "/api/account/register", + body: body, + }; + return this.rest.request(request, { throwErr: true }); + }; + AccountService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + AccountService.ctorParameters = function () { return [ + { type: RestService } + ]; }; + /** @nocollapse */ AccountService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.RestService)); }, token: AccountService, providedIn: "root" }); + return AccountService; +}()); +export { AccountService }; +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFHakQ7SUFJRSx3QkFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLG1DQUFVOzs7O0lBQVYsVUFBVyxVQUFrQjs7WUFDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSx3Q0FBc0MsVUFBWTtTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXlCLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7O0lBRUQsaUNBQVE7Ozs7SUFBUixVQUFTLElBQXFCOztZQUN0QixPQUFPLEdBQWtDO1lBQzdDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHVCQUF1QjtZQUM1QixJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7O2dCQXZCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQUxRLFdBQVc7Ozt5QkFGcEI7Q0E2QkMsQUF4QkQsSUF3QkM7U0FyQlksY0FBYzs7Ozs7O0lBQ2IsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UsIFJlc3QgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXNwb25zZSwgUmVnaXN0ZXJSZXF1ZXN0LCBUZW5hbnRJZFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBmaW5kVGVuYW50KHRlbmFudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VGVuYW50SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2FicC9tdWx0aS10ZW5hbmN5L2ZpbmQtdGVuYW50LyR7dGVuYW50TmFtZX1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgVGVuYW50SWRSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICByZWdpc3Rlcihib2R5OiBSZWdpc3RlclJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlZ2lzdGVyUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiBgL2FwaS9hY2NvdW50L3JlZ2lzdGVyYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxSZWdpc3RlclJlcXVlc3QsIFJlZ2lzdGVyUmVzcG9uc2U+KHJlcXVlc3QsIHsgdGhyb3dFcnI6IHRydWUgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js index 9f53d99bfc..09b2b102e0 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js @@ -1,17 +1,17 @@ -import { ConfigState, ConfigGetAppConfiguration, DynamicLayoutComponent, CoreModule } from '@abp/ng.core'; -import { Component, Optional, Inject, NgModule, ViewChild, InjectionToken } from '@angular/core'; -import { Router, RouterModule } from '@angular/router'; +import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; +import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; +import { RouterModule } from '@angular/router'; import { FormBuilder, Validators } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; import { from, throwError } from 'rxjs'; import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { switchMap, tap, catchError, finalize } from 'rxjs/operators'; +import { switchMap, tap, catchError, finalize, take } from 'rxjs/operators'; import snq from 'snq'; -import { validatePassword, NgxValidateCoreModule } from '@ngx-validate/core'; -import { NgbModal, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { TableModule } from 'primeng/table'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; /** * @fileoverview added by tsickle @@ -52,7 +52,7 @@ class LoginComponent { .pipe(switchMap((/** * @return {?} */ - () => this.store.dispatch(new ConfigGetAppConfiguration()))), tap((/** + () => this.store.dispatch(new GetAppConfiguration()))), tap((/** * @return {?} */ () => { @@ -70,7 +70,11 @@ class LoginComponent { this.toasterService.error(snq((/** * @return {?} */ - () => err.error.error_description), 'An error occured.'), 'Error'); + () => err.error.error_description)) || + snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); return throwError(err); })), finalize((/** * @return {?} @@ -82,7 +86,7 @@ class LoginComponent { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -94,6 +98,54 @@ LoginComponent.ctorParameters = () => [ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: ['ACCOUNT_OPTIONS',] }] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class AccountService { + /** + * @param {?} rest + */ + constructor(rest) { + this.rest = rest; + } + /** + * @param {?} tenantName + * @return {?} + */ + findTenant(tenantName) { + /** @type {?} */ + const request = { + method: 'GET', + url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`, + }; + return this.rest.request(request); + } + /** + * @param {?} body + * @return {?} + */ + register(body) { + /** @type {?} */ + const request = { + method: 'POST', + url: `/api/account/register`, + body, + }; + return this.rest.request(request, { throwErr: true }); + } +} +AccountService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } +]; +/** @nocollapse */ +AccountService.ctorParameters = () => [ + { type: RestService } +]; +/** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -102,19 +154,16 @@ const { maxLength: maxLength$1, minLength: minLength$1, required: required$1, em class RegisterComponent { /** * @param {?} fb - * @param {?} oauthService - * @param {?} router + * @param {?} accountService + * @param {?} toasterService */ - constructor(fb, oauthService, router) { + constructor(fb, accountService, toasterService) { this.fb = fb; - this.oauthService = oauthService; - this.router = router; + this.accountService = accountService; + this.toasterService = toasterService; this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], - password: [ - '', - [required$1, maxLength$1(32), minLength$1(6), validatePassword(['small', 'capital', 'number', 'special'])], - ], + password: ['', [required$1, maxLength$1(32)]], email: ['', [required$1, email]], }); } @@ -124,19 +173,48 @@ class RegisterComponent { onSubmit() { if (this.form.invalid) return; + this.inProgress = true; + /** @type {?} */ + const newUser = (/** @type {?} */ ({ + userName: this.form.get('username').value, + password: this.form.get('password').value, + emailAddress: this.form.get('email').value, + appName: 'angular', + })); + this.accountService + .register(newUser) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error_description)) || + snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); + return throwError(err); + })), finalize((/** + * @return {?} + */ + () => (this.inProgress = false)))) + .subscribe(); } } RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = () => [ { type: FormBuilder }, - { type: OAuthService }, - { type: Router } + { type: AccountService }, + { type: ToasterService } ]; /** @@ -167,57 +245,88 @@ AccountRoutingModule.decorators = [ */ class TenantBoxComponent { /** - * @param {?} modalService - * @param {?} fb - */ - constructor(modalService, fb) { - this.modalService = modalService; - this.fb = fb; - } - /** - * @return {?} + * @param {?} store + * @param {?} toasterService + * @param {?} accountService */ - createForm() { - this.form = this.fb.group({ - name: [this.selected.name], - }); + constructor(store, toasterService, accountService) { + this.store = store; + this.toasterService = toasterService; + this.accountService = accountService; + this.tenant = (/** @type {?} */ ({})); } /** * @return {?} */ - openModal() { - this.createForm(); - this.modalService.open(this.modalContent); + ngOnInit() { + this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ((/** @type {?} */ ({}))); + this.tenantName = this.tenant.name || ''; } /** * @return {?} */ onSwitch() { - this.selected = (/** @type {?} */ ({})); - this.openModal(); + this.isModalVisible = true; } /** * @return {?} */ save() { - this.selected = this.form.value; - this.modalService.dismissAll(); + if (this.tenant.name) { + this.accountService + .findTenant(this.tenant.name) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error_description), 'AbpUi::DefaultErrorMessage'), 'AbpUi::Error'); + return throwError(err); + }))) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + ({ success, tenantId }) => { + if (success) { + this.tenant = { + id: tenantId, + name: this.tenant.name, + }; + this.tenantName = this.tenant.name; + this.isModalVisible = false; + } + else { + this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', { + messageLocalizationParams: [this.tenant.name], + }); + this.tenant = (/** @type {?} */ ({})); + } + this.store.dispatch(new SetTenant(success ? this.tenant : null)); + })); + } + else { + this.store.dispatch(new SetTenant(null)); + this.tenantName = null; + this.isModalVisible = false; + } } } TenantBoxComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenant-box', - template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n
    \n
    \n SwitchTenant\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n" + template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n (
    {{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n" }] } ]; /** @nocollapse */ TenantBoxComponent.ctorParameters = () => [ - { type: NgbModal }, - { type: FormBuilder } + { type: Store }, + { type: ToasterService }, + { type: AccountService } ]; -TenantBoxComponent.propDecorators = { - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] -}; /** * @fileoverview added by tsickle @@ -279,5 +388,5 @@ const ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); -export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, TenantBoxComponent as ɵd, AccountRoutingModule as ɵe, optionsFactory as ɵf, ACCOUNT_OPTIONS as ɵg }; +export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map index 14703f67e9..e7782aa16d 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new ConfigGetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(snq(() => err.error.error_description, 'An error occured.'), 'Error');\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { validatePassword } from '@ngx-validate/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private oauthService: OAuthService, private router: Router) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: [\n '',\n [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])],\n ],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent {\n constructor(private modalService: NgbModal, private fb: FormBuilder) {}\n\n form: FormGroup;\n\n selected: ABP.BasicItem;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name],\n });\n }\n\n openModal() {\n this.createForm();\n this.modalService.open(this.modalContent);\n }\n\n onSwitch() {\n this.selected = {} as ABP.BasicItem;\n this.openModal();\n }\n\n save() {\n this.selected = this.form.value;\n this.modalService.dismissAll();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js index f8575622da..26e1002571 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js @@ -1,18 +1,18 @@ -import { ConfigGetAppConfiguration, ConfigState, DynamicLayoutComponent, CoreModule } from '@abp/ng.core'; -import { Component, Optional, Inject, NgModule, ViewChild, InjectionToken } from '@angular/core'; -import { Router, RouterModule } from '@angular/router'; +import { GetAppConfiguration, ConfigState, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; +import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; +import { RouterModule } from '@angular/router'; import { Validators, FormBuilder } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; import { from, throwError } from 'rxjs'; import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { switchMap, tap, catchError, finalize } from 'rxjs/operators'; +import { switchMap, tap, catchError, finalize, take } from 'rxjs/operators'; import snq from 'snq'; -import { validatePassword, NgxValidateCoreModule } from '@ngx-validate/core'; -import { NgbModal, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { __assign } from 'tslib'; import { TableModule } from 'primeng/table'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; /** * @fileoverview added by tsickle @@ -50,7 +50,7 @@ var LoginComponent = /** @class */ (function () { .pipe(switchMap((/** * @return {?} */ - function () { return _this.store.dispatch(new ConfigGetAppConfiguration()); })), tap((/** + function () { return _this.store.dispatch(new GetAppConfiguration()); })), tap((/** * @return {?} */ function () { @@ -68,7 +68,11 @@ var LoginComponent = /** @class */ (function () { _this.toasterService.error(snq((/** * @return {?} */ - function () { return err.error.error_description; }), 'An error occured.'), 'Error'); + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); return throwError(err); })), finalize((/** * @return {?} @@ -79,7 +83,7 @@ var LoginComponent = /** @class */ (function () { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -93,22 +97,73 @@ var LoginComponent = /** @class */ (function () { return LoginComponent; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var AccountService = /** @class */ (function () { + function AccountService(rest) { + this.rest = rest; + } + /** + * @param {?} tenantName + * @return {?} + */ + AccountService.prototype.findTenant = /** + * @param {?} tenantName + * @return {?} + */ + function (tenantName) { + /** @type {?} */ + var request = { + method: 'GET', + url: "/api/abp/multi-tenancy/find-tenant/" + tenantName, + }; + return this.rest.request(request); + }; + /** + * @param {?} body + * @return {?} + */ + AccountService.prototype.register = /** + * @param {?} body + * @return {?} + */ + function (body) { + /** @type {?} */ + var request = { + method: 'POST', + url: "/api/account/register", + body: body, + }; + return this.rest.request(request, { throwErr: true }); + }; + AccountService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + AccountService.ctorParameters = function () { return [ + { type: RestService } + ]; }; + /** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); + return AccountService; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var maxLength$1 = Validators.maxLength, minLength$1 = Validators.minLength, required$1 = Validators.required, email = Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, oauthService, router) { + function RegisterComponent(fb, accountService, toasterService) { this.fb = fb; - this.oauthService = oauthService; - this.router = router; + this.accountService = accountService; + this.toasterService = toasterService; this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], - password: [ - '', - [required$1, maxLength$1(32), minLength$1(6), validatePassword(['small', 'capital', 'number', 'special'])], - ], + password: ['', [required$1, maxLength$1(32)]], email: ['', [required$1, email]], }); } @@ -119,20 +174,50 @@ var RegisterComponent = /** @class */ (function () { * @return {?} */ function () { + var _this = this; if (this.form.invalid) return; + this.inProgress = true; + /** @type {?} */ + var newUser = (/** @type {?} */ ({ + userName: this.form.get('username').value, + password: this.form.get('password').value, + emailAddress: this.form.get('email').value, + appName: 'angular', + })); + this.accountService + .register(newUser) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; })) || + snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { life: 7000 }); + return throwError(err); + })), finalize((/** + * @return {?} + */ + function () { return (_this.inProgress = false); }))) + .subscribe(); }; RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: FormBuilder }, - { type: OAuthService }, - { type: Router } + { type: AccountService }, + { type: ToasterService } ]; }; return RegisterComponent; }()); @@ -167,30 +252,21 @@ var AccountRoutingModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var TenantBoxComponent = /** @class */ (function () { - function TenantBoxComponent(modalService, fb) { - this.modalService = modalService; - this.fb = fb; + function TenantBoxComponent(store, toasterService, accountService) { + this.store = store; + this.toasterService = toasterService; + this.accountService = accountService; + this.tenant = (/** @type {?} */ ({})); } /** * @return {?} */ - TenantBoxComponent.prototype.createForm = /** - * @return {?} - */ - function () { - this.form = this.fb.group({ - name: [this.selected.name], - }); - }; - /** - * @return {?} - */ - TenantBoxComponent.prototype.openModal = /** + TenantBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { - this.createForm(); - this.modalService.open(this.modalContent); + this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ((/** @type {?} */ ({}))); + this.tenantName = this.tenant.name || ''; }; /** * @return {?} @@ -199,8 +275,7 @@ var TenantBoxComponent = /** @class */ (function () { * @return {?} */ function () { - this.selected = (/** @type {?} */ ({})); - this.openModal(); + this.isModalVisible = true; }; /** * @return {?} @@ -209,23 +284,62 @@ var TenantBoxComponent = /** @class */ (function () { * @return {?} */ function () { - this.selected = this.form.value; - this.modalService.dismissAll(); + var _this = this; + if (this.tenant.name) { + this.accountService + .findTenant(this.tenant.name) + .pipe(take(1), catchError((/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error_description; }), 'AbpUi::DefaultErrorMessage'), 'AbpUi::Error'); + return throwError(err); + }))) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var success = _a.success, tenantId = _a.tenantId; + if (success) { + _this.tenant = { + id: tenantId, + name: _this.tenant.name, + }; + _this.tenantName = _this.tenant.name; + _this.isModalVisible = false; + } + else { + _this.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable", 'AbpUi::Error', { + messageLocalizationParams: [_this.tenant.name], + }); + _this.tenant = (/** @type {?} */ ({})); + } + _this.store.dispatch(new SetTenant(success ? _this.tenant : null)); + })); + } + else { + this.store.dispatch(new SetTenant(null)); + this.tenantName = null; + this.isModalVisible = false; + } }; TenantBoxComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenant-box', - template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ selected?.name ? selected.name : ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n
    \n
    \n SwitchTenant\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n" + template: "\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n (
    {{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n" }] } ]; /** @nocollapse */ TenantBoxComponent.ctorParameters = function () { return [ - { type: NgbModal }, - { type: FormBuilder } + { type: Store }, + { type: ToasterService }, + { type: AccountService } ]; }; - TenantBoxComponent.propDecorators = { - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] - }; return TenantBoxComponent; }()); @@ -297,5 +411,5 @@ var ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); -export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, TenantBoxComponent as ɵd, AccountRoutingModule as ɵe, optionsFactory as ɵf, ACCOUNT_OPTIONS as ɵg }; +export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map index c61db039dd..4fc1912c40 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { ConfigGetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new ConfigGetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(snq(() => err.error.error_description, 'An error occured.'), 'Error');\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { validatePassword } from '@ngx-validate/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private oauthService: OAuthService, private router: Router) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: [\n '',\n [required, maxLength(32), minLength(6), validatePassword(['small', 'capital', 'number', 'special'])],\n ],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent {\n constructor(private modalService: NgbModal, private fb: FormBuilder) {}\n\n form: FormGroup;\n\n selected: ABP.BasicItem;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name],\n });\n }\n\n openModal() {\n this.createForm();\n this.modalService.open(this.modalContent);\n }\n\n onSwitch() {\n this.selected = {} as ABP.BasicItem;\n this.openModal();\n }\n\n save() {\n this.selected = this.form.value;\n this.modalService.dismissAll();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts b/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts index bc5154f095..b6c35d5325 100644 --- a/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts +++ b/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts @@ -1,11 +1,12 @@ +import { ToasterService } from '@abp/ng.theme.shared'; import { FormBuilder, FormGroup } from '@angular/forms'; -import { Router } from '@angular/router'; -import { OAuthService } from 'angular-oauth2-oidc'; +import { AccountService } from '../../services/account.service'; export declare class RegisterComponent { private fb; - private oauthService; - private router; + private accountService; + private toasterService; form: FormGroup; - constructor(fb: FormBuilder, oauthService: OAuthService, router: Router); + inProgress: boolean; + constructor(fb: FormBuilder, accountService: AccountService, toasterService: ToasterService); onSubmit(): void; } diff --git a/npm/ng-packs/dist/account/lib/components/tenant-box/tenant-box.component.d.ts b/npm/ng-packs/dist/account/lib/components/tenant-box/tenant-box.component.d.ts index 779fd7f5b7..c31e207d66 100644 --- a/npm/ng-packs/dist/account/lib/components/tenant-box/tenant-box.component.d.ts +++ b/npm/ng-packs/dist/account/lib/components/tenant-box/tenant-box.component.d.ts @@ -1,16 +1,17 @@ -import { TemplateRef } from '@angular/core'; -import { FormBuilder, FormGroup } from '@angular/forms'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { ABP } from '@abp/ng.core'; -export declare class TenantBoxComponent { - private modalService; - private fb; - constructor(modalService: NgbModal, fb: FormBuilder); - form: FormGroup; - selected: ABP.BasicItem; - modalContent: TemplateRef; - createForm(): void; - openModal(): void; +import { ToasterService } from '@abp/ng.theme.shared'; +import { OnInit } from '@angular/core'; +import { Store } from '@ngxs/store'; +import { AccountService } from '../../services/account.service'; +export declare class TenantBoxComponent implements OnInit { + private store; + private toasterService; + private accountService; + constructor(store: Store, toasterService: ToasterService, accountService: AccountService); + tenant: ABP.BasicItem; + tenantName: string; + isModalVisible: boolean; + ngOnInit(): void; onSwitch(): void; save(): void; } diff --git a/npm/ng-packs/dist/account/lib/models/index.d.ts b/npm/ng-packs/dist/account/lib/models/index.d.ts index 5f30ef383a..4dcd63408e 100644 --- a/npm/ng-packs/dist/account/lib/models/index.d.ts +++ b/npm/ng-packs/dist/account/lib/models/index.d.ts @@ -1 +1,3 @@ export * from './options'; +export * from './user'; +export * from './tenant'; diff --git a/npm/ng-packs/dist/account/lib/models/tenant.d.ts b/npm/ng-packs/dist/account/lib/models/tenant.d.ts new file mode 100644 index 0000000000..eeaef93d49 --- /dev/null +++ b/npm/ng-packs/dist/account/lib/models/tenant.d.ts @@ -0,0 +1,4 @@ +export interface TenantIdResponse { + success: boolean; + tenantId: string; +} diff --git a/npm/ng-packs/dist/account/lib/models/user.d.ts b/npm/ng-packs/dist/account/lib/models/user.d.ts new file mode 100644 index 0000000000..8a261ceba5 --- /dev/null +++ b/npm/ng-packs/dist/account/lib/models/user.d.ts @@ -0,0 +1,28 @@ +export interface RegisterRequest { + userName: string; + emailAddress: string; + password: string; + appName?: string; +} +export interface RegisterResponse { + tenantId: string; + userName: string; + name: string; + surname: string; + email: string; + emailConfirmed: boolean; + phoneNumber: string; + phoneNumberConfirmed: boolean; + twoFactorEnabled: boolean; + lockoutEnabled: boolean; + lockoutEnd: string; + concurrencyStamp: string; + isDeleted: boolean; + deleterId: string; + deletionTime: string; + lastModificationTime: string; + lastModifierId: string; + creationTime: string; + creatorId: string; + id: string; +} diff --git a/npm/ng-packs/dist/account/lib/services/account.service.d.ts b/npm/ng-packs/dist/account/lib/services/account.service.d.ts new file mode 100644 index 0000000000..e68f35b323 --- /dev/null +++ b/npm/ng-packs/dist/account/lib/services/account.service.d.ts @@ -0,0 +1,9 @@ +import { Observable } from 'rxjs'; +import { RestService } from '@abp/ng.core'; +import { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models'; +export declare class AccountService { + private rest; + constructor(rest: RestService); + findTenant(tenantName: string): Observable; + register(body: RegisterRequest): Observable; +} diff --git a/npm/ng-packs/dist/core/abp-ng.core.d.ts b/npm/ng-packs/dist/core/abp-ng.core.d.ts index 6439608ba7..25cc208438 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.d.ts +++ b/npm/ng-packs/dist/core/abp-ng.core.d.ts @@ -2,23 +2,26 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { ConfigGetAppConfiguration as ɵm, PatchRouteByName as ɵl } from './lib/actions/config.actions'; -export { ProfileChangePassword as ɵf, ProfileGet as ɵd, ProfileUpdate as ɵe } from './lib/actions/profile.actions'; -export { SessionSetLanguage as ɵi } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵo } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵn } from './lib/components/router-outlet.component'; +export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; +export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵq } from './lib/directives/permission.directive'; -export { VisibilityDirective as ɵr } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵx } from './lib/interceptors/api.interceptor'; -export { ABP as ɵw, Profile as ɵg } from './lib/models'; -export { LocalizationPipe as ɵs } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵv, NGXS_CONFIG_PLUGIN_OPTIONS as ɵu } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵk } from './lib/services/application-configuration.service'; +export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; +export { ABP as ɵk, Profile as ɵg } from './lib/models'; +export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; +export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵp } from './lib/states'; -export { ConfigState as ɵj } from './lib/states/config.state'; +export { ConfigState as ɵr } from './lib/states'; +export { ConfigState as ɵl } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵy } from './lib/utils/initial-utils'; +export { getInitialData as ɵbc } from './lib/utils/initial-utils'; diff --git a/npm/ng-packs/dist/core/abp-ng.core.metadata.json b/npm/ng-packs/dist/core/abp-ng.core.metadata.json index 5ed45f0ab9..d4615f5526 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.metadata.json +++ b/npm/ng-packs/dist/core/abp-ng.core.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":24,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵj"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":25,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":26,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":31,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":42,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":43,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":44,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":45,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":46,"character":4},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵs"}],"providers":[{"__symbolic":"reference","name":"ɵs"}],"entryComponents":[{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":63,"character":19},"useClass":{"__symbolic":"reference","name":"ɵv"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵu"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":72,"character":19},"useClass":{"__symbolic":"reference","name":"ɵx"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":77,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":79,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵy"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"sessionSetLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":153,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":155,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵm"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":173,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵl"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}}}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵm":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵp"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"witdh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵu"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵw"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/states/config.state","ɵk":"./lib/services/application-configuration.service","ɵl":"./lib/actions/config.actions","ɵm":"./lib/actions/config.actions","ɵn":"./lib/components/router-outlet.component","ɵo":"./lib/components/dynamic-layout.component","ɵp":"./lib/states","ɵq":"./lib/directives/permission.directive","ɵr":"./lib/directives/visibility.directive","ɵs":"./lib/pipes/localization.pipe","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/plugins/config.plugin","ɵv":"./lib/plugins/config.plugin","ɵw":"./lib/models","ɵx":"./lib/interceptors/api.interceptor","ɵy":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"witdh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js index 8524fc7648..252b53180d 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@ngxs/store'), require('rxjs'), require('@angular/common/http'), require('rxjs/operators'), require('snq'), require('angular-oauth2-oidc'), require('@ngxs/router-plugin'), require('@angular/common'), require('@angular/forms'), require('@ngxs/storage-plugin')) : - typeof define === 'function' && define.amd ? define('@abp/ng.core', ['exports', '@angular/core', '@angular/router', '@ngxs/store', 'rxjs', '@angular/common/http', 'rxjs/operators', 'snq', 'angular-oauth2-oidc', '@ngxs/router-plugin', '@angular/common', '@angular/forms', '@ngxs/storage-plugin'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.core = {}), global.ng.core, global.ng.router, global.store, global.rxjs, global.ng.common.http, global.rxjs.operators, global.snq, global.angularOauth2Oidc, global.routerPlugin, global.ng.common, global.ng.forms, global.storagePlugin)); -}(this, function (exports, core, router, store, rxjs, http, operators, snq, angularOauth2Oidc, routerPlugin, common, forms, storagePlugin) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@ngxs/store'), require('rxjs'), require('@angular/common/http'), require('rxjs/operators'), require('snq'), require('angular-oauth2-oidc'), require('@ngxs/router-plugin'), require('@angular/common'), require('@angular/forms'), require('@ngxs/storage-plugin'), require('@ngx-validate/core')) : + typeof define === 'function' && define.amd ? define('@abp/ng.core', ['exports', '@angular/core', '@angular/router', '@ngxs/store', 'rxjs', '@angular/common/http', 'rxjs/operators', 'snq', 'angular-oauth2-oidc', '@ngxs/router-plugin', '@angular/common', '@angular/forms', '@ngxs/storage-plugin', '@ngx-validate/core'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.core = {}), global.ng.core, global.ng.router, global.store, global.rxjs, global.ng.common.http, global.rxjs.operators, global.snq, global.angularOauth2Oidc, global.routerPlugin, global.ng.common, global.ng.forms, global.storagePlugin, global.core$1)); +}(this, function (exports, core, router, store, rxjs, http, operators, snq, angularOauth2Oidc, routerPlugin, common, forms, storagePlugin, core$1) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -90,55 +90,55 @@ PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); - var ConfigGetAppConfiguration = /** @class */ (function () { - function ConfigGetAppConfiguration() { + var GetAppConfiguration = /** @class */ (function () { + function GetAppConfiguration() { } - ConfigGetAppConfiguration.type = '[Config] Get App Configuration'; - return ConfigGetAppConfiguration; + GetAppConfiguration.type = '[Config] Get App Configuration'; + return GetAppConfiguration; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var LoaderStart = /** @class */ (function () { - function LoaderStart(payload) { + var StartLoader = /** @class */ (function () { + function StartLoader(payload) { this.payload = payload; } - LoaderStart.type = '[Loader] Start'; - return LoaderStart; + StartLoader.type = '[Loader] Start'; + return StartLoader; }()); - var LoaderStop = /** @class */ (function () { - function LoaderStop(payload) { + var StopLoader = /** @class */ (function () { + function StopLoader(payload) { this.payload = payload; } - LoaderStop.type = '[Loader] Stop'; - return LoaderStop; + StopLoader.type = '[Loader] Stop'; + return StopLoader; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var ProfileGet = /** @class */ (function () { - function ProfileGet() { + var GetProfile = /** @class */ (function () { + function GetProfile() { } - ProfileGet.type = '[Profile] Get'; - return ProfileGet; + GetProfile.type = '[Profile] Get'; + return GetProfile; }()); - var ProfileUpdate = /** @class */ (function () { - function ProfileUpdate(payload) { + var UpdateProfile = /** @class */ (function () { + function UpdateProfile(payload) { this.payload = payload; } - ProfileUpdate.type = '[Profile] Update'; - return ProfileUpdate; + UpdateProfile.type = '[Profile] Update'; + return UpdateProfile; }()); - var ProfileChangePassword = /** @class */ (function () { - function ProfileChangePassword(payload) { + var ChangePassword = /** @class */ (function () { + function ChangePassword(payload) { this.payload = payload; } - ProfileChangePassword.type = '[Profile] Change Password'; - return ProfileChangePassword; + ChangePassword.type = '[Profile] Change Password'; + return ChangePassword; }()); /** @@ -157,12 +157,19 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var SessionSetLanguage = /** @class */ (function () { - function SessionSetLanguage(payload) { + var SetLanguage = /** @class */ (function () { + function SetLanguage(payload) { this.payload = payload; } - SessionSetLanguage.type = '[Session] Set Language'; - return SessionSetLanguage; + SetLanguage.type = '[Session] Set Language'; + return SetLanguage; + }()); + var SetTenant = /** @class */ (function () { + function SetTenant(payload) { + this.payload = payload; + } + SetTenant.type = '[Session] Set Tenant'; + return SetTenant; }()); /** @@ -274,20 +281,23 @@ }; /** * @param {?} body + * @param {?=} throwErr * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body + * @param {?=} throwErr * @return {?} */ - function (body) { + function (body, throwErr) { + if (throwErr === void 0) { throwErr = false; } /** @type {?} */ var request = { method: 'POST', - url: '/api/identity/my-profile/changePassword', + url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request); + return this.rest.request(request, { throwErr: throwErr }); }; ProfileService.decorators = [ { type: core.Injectable, args: [{ @@ -377,24 +387,24 @@ */ function (_, _a) { var payload = _a.payload; - return this.profileService.changePassword(payload); + return this.profileService.changePassword(payload, true); }; __decorate([ - store.Action(ProfileGet), + store.Action(GetProfile), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileGet", null); __decorate([ - store.Action(ProfileUpdate), + store.Action(UpdateProfile), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileUpdate]), + __metadata("design:paramtypes", [Object, UpdateProfile]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileUpdate", null); __decorate([ - store.Action(ProfileChangePassword), + store.Action(ChangePassword), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileChangePassword]), + __metadata("design:paramtypes", [Object, ChangePassword]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "changePassword", null); __decorate([ @@ -467,12 +477,24 @@ var language = _a.language; return language; }; + /** + * @param {?} __0 + * @return {?} + */ + SessionState.getTenant = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var tenant = _a.tenant; + return tenant; + }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ - SessionState.prototype.sessionSetLanguage = /** + SessionState.prototype.setLanguage = /** * @param {?} __0 * @param {?} __1 * @return {?} @@ -484,18 +506,47 @@ language: payload, }); }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + SessionState.prototype.setTenantId = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + patchState({ + tenant: payload, + }); + }; + __decorate([ + store.Action(SetLanguage), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, SetLanguage]), + __metadata("design:returntype", void 0) + ], SessionState.prototype, "setLanguage", null); __decorate([ - store.Action(SessionSetLanguage), + store.Action(SetTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, SessionSetLanguage]), + __metadata("design:paramtypes", [Object, SetTenant]), __metadata("design:returntype", void 0) - ], SessionState.prototype, "sessionSetLanguage", null); + ], SessionState.prototype, "setTenantId", null); __decorate([ store.Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", String) ], SessionState, "getLanguage", null); + __decorate([ + store.Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Object) + ], SessionState, "getTenant", null); SessionState = __decorate([ store.State({ name: 'SessionState', @@ -527,7 +578,7 @@ * @return {?} */ function (route) { - if (route.children) { + if (route.children && route.children.length) { route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name); } if (route.parentName && route.parentName !== parentName) { @@ -553,8 +604,7 @@ * @return {?} */ function setChildRoute(routes, parentNameArr) { - return routes - .map((/** + return routes.map((/** * @param {?} route * @return {?} */ @@ -572,12 +622,7 @@ route.children = __spread((route.children || []), foundedChildren); } return route; - })) - .filter((/** - * @param {?} route - * @return {?} - */ - function (route) { return route.path || (route.children && route.children.length); })); + })); } /** * @param {?=} routes @@ -627,6 +672,17 @@ function (state) { return state; }; + /** + * @param {?} state + * @return {?} + */ + ConfigState.getApplicationInfo = /** + * @param {?} state + * @return {?} + */ + function (state) { + return state.environment.application || {}; + }; /** * @param {?} key * @return {?} @@ -800,6 +856,8 @@ * @return {?} */ function (state) { + if (!state.localization) + return key; var defaultResourceName = state.environment.localization.defaultResourceName; if (keys[0] === '') { if (!defaultResourceName) { @@ -822,14 +880,18 @@ } return undefined; }), state.localization.values); + interpolateParams = interpolateParams.filter((/** + * @param {?} params + * @return {?} + */ + function (params) { return params != null; })); if (copy && interpolateParams && interpolateParams.length) { interpolateParams.forEach((/** * @param {?} param - * @param {?} index * @return {?} */ - function (param, index) { - copy = copy.replace("'{" + index + "}'", param); + function (param) { + copy = copy.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param); })); } return copy || key; @@ -860,7 +922,7 @@ function (configuration) { return _this.store.selectSnapshot(SessionState.getLanguage) ? rxjs.of(null) - : dispatch(new SessionSetLanguage(snq((/** + : dispatch(new SetLanguage(snq((/** * @return {?} */ function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); @@ -894,7 +956,7 @@ }; var ConfigState_1; __decorate([ - store.Action(ConfigGetAppConfiguration), + store.Action(GetAppConfiguration), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) @@ -911,6 +973,12 @@ __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ConfigState, "getAll", null); + __decorate([ + store.Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) + ], ConfigState, "getApplicationInfo", null); ConfigState = ConfigState_1 = __decorate([ store.State({ name: 'ConfigState', @@ -989,7 +1057,7 @@ function () { /** @type {?} */ var store$1 = injector.get(store.Store); - return store$1.dispatch(new ConfigGetAppConfiguration()).toPromise(); + return store$1.dispatch(new GetAppConfiguration()).toPromise(); }); return fn; } @@ -1122,7 +1190,7 @@ if (route.layout) { layout = route.layout; } - if (route.children && route.children.length) { + if (route.children && route.children.length && segments.length > 1) { /** @type {?} */ var child = route.children.find((/** * @param {?} c @@ -1153,6 +1221,43 @@ return RouterOutletComponent; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var AutofocusDirective = /** @class */ (function () { + function AutofocusDirective(elRef) { + this.elRef = elRef; + this.delay = 0; + } + /** + * @return {?} + */ + AutofocusDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + setTimeout((/** + * @return {?} + */ + function () { return _this.elRef.nativeElement.focus(); }), this.delay); + }; + AutofocusDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[autofocus]', + },] } + ]; + /** @nocollapse */ + AutofocusDirective.ctorParameters = function () { return [ + { type: core.ElementRef } + ]; }; + AutofocusDirective.propDecorators = { + delay: [{ type: core.Input, args: ['autofocus',] }] + }; + return AutofocusDirective; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1178,7 +1283,7 @@ * @return {?} */ function () { - return this.enabled ? this.witdh || '180px' : undefined; + return this.enabled ? this.witdh || '160px' : undefined; }, enumerable: true, configurable: true @@ -1466,7 +1571,7 @@ */ function (request, next) { var _this = this; - this.store.dispatch(new LoaderStart(request)); + this.store.dispatch(new StartLoader(request)); /** @type {?} */ var headers = (/** @type {?} */ ({})); /** @type {?} */ @@ -1479,6 +1584,11 @@ if (!request.headers.has('Accept-Language') && lang) { headers['Accept-Language'] = lang; } + /** @type {?} */ + var tenant = this.store.selectSnapshot(SessionState.getTenant); + if (!request.headers.has('__tenant') && tenant) { + headers['__tenant'] = tenant.id; + } return next .handle(request.clone({ setHeaders: headers, @@ -1486,7 +1596,7 @@ .pipe(operators.finalize((/** * @return {?} */ - function () { return _this.store.dispatch(new LoaderStop(request)); }))); + function () { return _this.store.dispatch(new StopLoader(request)); }))); }; ApiInterceptor.decorators = [ { type: core.Injectable } @@ -1608,7 +1718,7 @@ * @param {?} route * @return {?} */ - function (route) { return route.component || route.loadChildren; })) + function (route) { return (route.data || {}).routes && (route.component || route.loadChildren); })) .forEach((/** * @param {?} route * @return {?} @@ -1619,7 +1729,10 @@ * @param {?} abp * @return {?} */ - function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase(); })); + function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + function () { return route.data.routes.length; }), false); })); var length = transformed.length; if (abpPackage) { transformed.push(abpPackage); @@ -1944,6 +2057,97 @@ return LocalizationPipe; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var InputEventDebounceDirective = /** @class */ (function () { + function InputEventDebounceDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.debounce = 300; + this.debounceEvent = new core.EventEmitter(); + } + /** + * @return {?} + */ + InputEventDebounceDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + rxjs.fromEvent(this.el.nativeElement, 'input') + .pipe(operators.debounceTime(this.debounce), core$1.takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + _this.debounceEvent.emit(event); + })); + }; + InputEventDebounceDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[input.debounce]', + },] } + ]; + /** @nocollapse */ + InputEventDebounceDirective.ctorParameters = function () { return [ + { type: core.Renderer2 }, + { type: core.ElementRef } + ]; }; + InputEventDebounceDirective.propDecorators = { + debounce: [{ type: core.Input }], + debounceEvent: [{ type: core.Output, args: ['input.debounce',] }] + }; + return InputEventDebounceDirective; + }()); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ClickEventStopPropagationDirective = /** @class */ (function () { + function ClickEventStopPropagationDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.stopPropEvent = new core.EventEmitter(); + } + /** + * @return {?} + */ + ClickEventStopPropagationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + rxjs.fromEvent(this.el.nativeElement, 'click') + .pipe(core$1.takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + event.stopPropagation(); + _this.stopPropEvent.emit(event); + })); + }; + ClickEventStopPropagationDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[click.stop]', + },] } + ]; + /** @nocollapse */ + ClickEventStopPropagationDirective.ctorParameters = function () { return [ + { type: core.Renderer2 }, + { type: core.ElementRef } + ]; }; + ClickEventStopPropagationDirective.propDecorators = { + stopPropEvent: [{ type: core.Output, args: ['click.stop',] }] + }; + return ClickEventStopPropagationDirective; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2002,10 +2206,13 @@ declarations: [ RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - LocalizationPipe, - EllipsisDirective, + InputEventDebounceDirective, + ClickEventStopPropagationDirective, ], exports: [ common.CommonModule, @@ -2015,10 +2222,14 @@ router.RouterModule, RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - EllipsisDirective, + InputEventDebounceDirective, LocalizationPipe, + ClickEventStopPropagationDirective, ], providers: [LocalizationPipe], entryComponents: [RouterOutletComponent, DynamicLayoutComponent], @@ -2030,8 +2241,9 @@ exports.ApiInterceptor = ApiInterceptor; exports.ApplicationConfigurationService = ApplicationConfigurationService; exports.AuthGuard = AuthGuard; + exports.AutofocusDirective = AutofocusDirective; exports.CONFIG = CONFIG; - exports.ConfigGetAppConfiguration = ConfigGetAppConfiguration; + exports.ChangePassword = ChangePassword; exports.ConfigPlugin = ConfigPlugin; exports.ConfigService = ConfigService; exports.ConfigState = ConfigState; @@ -2039,24 +2251,25 @@ exports.DynamicLayoutComponent = DynamicLayoutComponent; exports.ENVIRONMENT = ENVIRONMENT; exports.EllipsisDirective = EllipsisDirective; + exports.GetAppConfiguration = GetAppConfiguration; + exports.GetProfile = GetProfile; exports.LazyLoadService = LazyLoadService; - exports.LoaderStart = LoaderStart; - exports.LoaderStop = LoaderStop; exports.LocalizationService = LocalizationService; exports.NGXS_CONFIG_PLUGIN_OPTIONS = NGXS_CONFIG_PLUGIN_OPTIONS; exports.PatchRouteByName = PatchRouteByName; exports.PermissionDirective = PermissionDirective; exports.PermissionGuard = PermissionGuard; - exports.ProfileChangePassword = ProfileChangePassword; - exports.ProfileGet = ProfileGet; exports.ProfileService = ProfileService; exports.ProfileState = ProfileState; - exports.ProfileUpdate = ProfileUpdate; exports.RestOccurError = RestOccurError; exports.RestService = RestService; exports.RouterOutletComponent = RouterOutletComponent; - exports.SessionSetLanguage = SessionSetLanguage; exports.SessionState = SessionState; + exports.SetLanguage = SetLanguage; + exports.SetTenant = SetTenant; + exports.StartLoader = StartLoader; + exports.StopLoader = StopLoader; + exports.UpdateProfile = UpdateProfile; exports.VisibilityDirective = VisibilityDirective; exports.configFactory = configFactory; exports.environmentFactory = environmentFactory; @@ -2068,27 +2281,31 @@ exports.uuid = uuid; exports.ɵa = ProfileState; exports.ɵb = ProfileService; + exports.ɵba = ConfigPlugin; + exports.ɵbb = ApiInterceptor; + exports.ɵbc = getInitialData; exports.ɵc = RestService; - exports.ɵd = ProfileGet; - exports.ɵe = ProfileUpdate; - exports.ɵf = ProfileChangePassword; + exports.ɵd = GetProfile; + exports.ɵe = UpdateProfile; + exports.ɵf = ChangePassword; exports.ɵh = SessionState; - exports.ɵi = SessionSetLanguage; - exports.ɵj = ConfigState; - exports.ɵk = ApplicationConfigurationService; - exports.ɵl = PatchRouteByName; - exports.ɵm = ConfigGetAppConfiguration; - exports.ɵn = RouterOutletComponent; - exports.ɵo = DynamicLayoutComponent; - exports.ɵp = ConfigState; - exports.ɵq = PermissionDirective; - exports.ɵr = VisibilityDirective; - exports.ɵs = LocalizationPipe; + exports.ɵi = SetLanguage; + exports.ɵj = SetTenant; + exports.ɵl = ConfigState; + exports.ɵm = ApplicationConfigurationService; + exports.ɵn = PatchRouteByName; + exports.ɵo = GetAppConfiguration; + exports.ɵp = RouterOutletComponent; + exports.ɵq = DynamicLayoutComponent; + exports.ɵr = ConfigState; + exports.ɵs = AutofocusDirective; exports.ɵt = EllipsisDirective; - exports.ɵu = NGXS_CONFIG_PLUGIN_OPTIONS; - exports.ɵv = ConfigPlugin; - exports.ɵx = ApiInterceptor; - exports.ɵy = getInitialData; + exports.ɵu = LocalizationPipe; + exports.ɵv = PermissionDirective; + exports.ɵw = VisibilityDirective; + exports.ɵx = InputEventDebounceDirective; + exports.ɵy = ClickEventStopPropagationDirective; + exports.ɵz = NGXS_CONFIG_PLUGIN_OPTIONS; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map index 6d491ea98d..bd1f848a72 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class ConfigGetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class LoaderStart {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class LoaderStop {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class ProfileGet {\n static readonly type = '[Profile] Get';\n}\n\nexport class ProfileUpdate {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ProfileChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","export class SessionSetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/changePassword',\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(ProfileGet)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileUpdate)\n profileUpdate({ patchState }: StateContext, { payload }: ProfileUpdate) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileChangePassword)\n changePassword(_, { payload }: ProfileChangePassword) {\n return this.profileService.changePassword(payload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { SessionSetLanguage } from '../actions/session.actions';\nimport { Session } from '../models/session';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n constructor() {}\n\n @Action(SessionSetLanguage)\n sessionSetLanguage({ patchState }: StateContext, { payload }: SessionSetLanguage) {\n patchState({\n language: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes\n .map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n })\n .filter(route => route.path || (route.children && route.children.length));\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SessionSetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach((param, index) => {\n copy = copy.replace(`'{${index}}'`, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(ConfigGetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(\n new SessionSetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage'])),\n ),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigGetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new ConfigGetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '180px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { LoaderStart, LoaderStop } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new LoaderStart(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new LoaderStop(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Injectable, Inject, InjectionToken, Type } from '@angular/core';\nimport { NgxsPlugin, setValue, actionMatcher, InitState, UpdateState, NgxsNextPluginFn } from '@ngxs/store';\nimport { Router, Routes } from '@angular/router';\nimport { ABP } from '../models';\nimport snq from 'snq';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => route.component || route.loadChildren)\n .forEach(route => {\n const abpPackage = abpRoutes.find(abp => abp.path.toLowerCase() === route.path.toLowerCase());\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n LocalizationPipe,\n EllipsisDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n EllipsisDirective,\n LocalizationPipe,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ChangeDetectorRef","ElementRef","Input","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js index ac838abce0..f26638bdec 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("@ngxs/store"),require("rxjs"),require("@angular/common/http"),require("rxjs/operators"),require("snq"),require("angular-oauth2-oidc"),require("@ngxs/router-plugin"),require("@angular/common"),require("@angular/forms"),require("@ngxs/storage-plugin")):"function"==typeof define&&define.amd?define("@abp/ng.core",["exports","@angular/core","@angular/router","@ngxs/store","rxjs","@angular/common/http","rxjs/operators","snq","angular-oauth2-oidc","@ngxs/router-plugin","@angular/common","@angular/forms","@ngxs/storage-plugin"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.core={}),e.ng.core,e.ng.router,e.store,e.rxjs,e.ng.common.http,e.rxjs.operators,e.snq,e.angularOauth2Oidc,e.routerPlugin,e.ng.common,e.ng.forms,e.storagePlugin)}(this,function(exports,core,router,store,rxjs,http,operators,snq,angularOauth2Oidc,routerPlugin,common,forms,storagePlugin){"use strict";snq=snq&&snq.hasOwnProperty("default")?snq.default:snq;var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var e=[],t=0;t1?(keys.forEach(function(e){var t=getPolicy(e);condition=condition.replace(e,t)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(e){for(var t=[],r=1;r>e/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(e){return function(){return e.get(store.Store).dispatch(new ConfigGetAppConfiguration).toPromise()}}function isFunction(e){return"function"==typeof e}var takeUntilDestroy=function(e,t){return void 0===t&&(t="ngOnDestroy"),function(r){var n=e[t];if(!1===isFunction(n))throw new Error(e.constructor.name+" is using untilDestroyed but doesn't implement "+t);return e.__takeUntilDestroy||(e.__takeUntilDestroy=new rxjs.Subject,e[t]=function(){isFunction(n)&&n.apply(this,arguments),e.__takeUntilDestroy.next(!0),e.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(e.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function e(e,t){var r=this;this.router=e,this.store=t,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(e){if(e instanceof router.NavigationEnd){var t=r.router.parseUrl(e.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(t,n.routes);r.layout=o.filter(function(e){return!!e}).find(function(e){return snq(function(){return e.type.toLowerCase().indexOf(i)},-1)>-1})}})}return e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],e.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],e.prototype,"requirements$",void 0),e}();function findLayout(e,t){var r="empty",n=t.reduce(function(e,t){return t.wrapper?__spread(e,t.children):__spread(e,[t])},[]).find(function(t){return t.path===e[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length)){var o=n.children.find(function(t){return t.path===e[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function e(){}return e.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],e}(),EllipsisDirective=function(){function e(e,t){this.cdRef=e,this.elRef=t,this.enabled=!0}return Object.defineProperty(e.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.enabled?this.witdh||"180px":void 0},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;setTimeout(function(){var t=e.title;e.title=t||e.elRef.nativeElement.innerText,e.title!==t&&e.cdRef.detectChanges()},0)},e.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],e.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},e.propDecorators={witdh:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},e}(),PermissionDirective=function(){function e(e,t,r){this.elRef=e,this.renderer=t,this.store=r}return e.prototype.ngOnInit=function(){var e=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(t){t||e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement)})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},e.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},e}(),VisibilityDirective=function(){function e(e,t){this.elRef=e,this.renderer=t,this.completed$=new rxjs.Subject}return e.prototype.ngAfterViewInit=function(){var e=this,t=new MutationObserver(function(t){t.forEach(function(t){t.target&&(snq(function(){return Array.from(t.target.childNodes).filter(function(e){return e instanceof HTMLElement})},[]).length?setTimeout(function(){e.disconnect()},0):(e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement),e.disconnect()))})});t.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return t.disconnect()})},e.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},e.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},e.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},e}(),AuthGuard=function(){function e(e,t){this.oauthService=e,this.store=t}return e.prototype.canActivate=function(e,t){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:t.url}})),!1)},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),PermissionGuard=function(){function e(e){this.store=e}return e.prototype.canActivate=function(e){var t=e.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(t))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),ApiInterceptor=function(){function e(e,t){this.oAuthService=e,this.store=t}return e.prototype.intercept=function(e,t){var r=this;this.store.dispatch(new LoaderStart(e));var n={},o=this.oAuthService.getAccessToken();!e.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);return!e.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i),t.handle(e.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new LoaderStop(e))}))},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e}(),Rest;Rest=exports.Rest||(exports.Rest={}),Rest.Config=function(){},Rest.Request=function(){};var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function e(e,t){this.options=e,this.router=t,this.initialized=!1}return e.prototype.handle=function(e,t,r){var n=store.actionMatcher(t);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),e=store.setValue(e,"ConfigState",__assign({},e.ConfigState&&__assign({},e.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(e,t)},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},e}();function transformRoutes(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);var r=e.filter(function(e){return snq(function(){return e.data.routes.find(function(t){return t.path===e.path})},!1)}).reduce(function(e,t){return __spread(e,t.data.routes)},[]);t=r.filter(function(e){return e.wrapper});var n=[];return e.filter(function(e){return e.component||e.loadChildren}).forEach(function(e){var t=r.find(function(t){return t.path.toLowerCase()===e.path.toLowerCase()}),o=n.length;t&&n.push(t),n.length===o&&n.push({path:e.path,name:snq(function(){return e.data.routes.name},e.path),children:e.data.routes.children||[]})}),{routes:setUrls(n),wrappers:t}}function setUrls(e,t){return t?e.map(function(e){return __assign({},e,{url:t+"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,t+"/"+e.path)})}):e.map(function(e){return __assign({},e,{url:"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,"/"+e.path)})})}var ConfigService=function(){function e(e){this.store=e}return e.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},e.prototype.getOne=function(e){return this.store.selectSnapshot(ConfigState.getOne(e))},e.prototype.getDeep=function(e){return this.store.selectSnapshot(ConfigState.getDeep(e))},e.prototype.getSetting=function(e){return this.store.selectSnapshot(ConfigState.getSetting(e))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),LazyLoadService=function(){function e(){this.loadedLibraries={}}return e.prototype.load=function(e,t,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),e||r){var a,s=e?e.slice(e.lastIndexOf("/")+1):uuid();return this.loadedLibraries[s]?this.loadedLibraries[s].asObservable():(this.loadedLibraries[s]=new rxjs.ReplaySubject,"script"===t?((a=document.createElement("script")).type="text/javascript",e&&(a.src=e),a.text=r):e?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",e&&(a.href=e)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[s].next(),i.loadedLibraries[s].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[s].asObservable())}},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),LocalizationService=function(){function e(e){this.store=e}return e.prototype.get=function(e){for(var t=[],r=1;r=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var e=[],t=0;t1?(keys.forEach(function(e){var t=getPolicy(e);condition=condition.replace(e,t)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(e){for(var t=[],r=1;r>e/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(e){return function(){return e.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(e){return"function"==typeof e}var takeUntilDestroy=function(e,t){return void 0===t&&(t="ngOnDestroy"),function(r){var n=e[t];if(!1===isFunction(n))throw new Error(e.constructor.name+" is using untilDestroyed but doesn't implement "+t);return e.__takeUntilDestroy||(e.__takeUntilDestroy=new rxjs.Subject,e[t]=function(){isFunction(n)&&n.apply(this,arguments),e.__takeUntilDestroy.next(!0),e.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(e.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function e(e,t){var r=this;this.router=e,this.store=t,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(e){if(e instanceof router.NavigationEnd){var t=r.router.parseUrl(e.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(t,n.routes);r.layout=o.filter(function(e){return!!e}).find(function(e){return snq(function(){return e.type.toLowerCase().indexOf(i)},-1)>-1})}})}return e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],e.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],e.prototype,"requirements$",void 0),e}();function findLayout(e,t){var r="empty",n=t.reduce(function(e,t){return t.wrapper?__spread(e,t.children):__spread(e,[t])},[]).find(function(t){return t.path===e[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&e.length>1)){var o=n.children.find(function(t){return t.path===e[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function e(){}return e.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],e}(),AutofocusDirective=function(){function e(e){this.elRef=e,this.delay=0}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){return e.elRef.nativeElement.focus()},this.delay)},e.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef}]},e.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},e}(),EllipsisDirective=function(){function e(e,t){this.cdRef=e,this.elRef=t,this.enabled=!0}return Object.defineProperty(e.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.enabled?this.witdh||"160px":void 0},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;setTimeout(function(){var t=e.title;e.title=t||e.elRef.nativeElement.innerText,e.title!==t&&e.cdRef.detectChanges()},0)},e.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],e.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},e.propDecorators={witdh:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},e}(),PermissionDirective=function(){function e(e,t,r){this.elRef=e,this.renderer=t,this.store=r}return e.prototype.ngOnInit=function(){var e=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(t){t||e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement)})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},e.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},e}(),VisibilityDirective=function(){function e(e,t){this.elRef=e,this.renderer=t,this.completed$=new rxjs.Subject}return e.prototype.ngAfterViewInit=function(){var e=this,t=new MutationObserver(function(t){t.forEach(function(t){t.target&&(snq(function(){return Array.from(t.target.childNodes).filter(function(e){return e instanceof HTMLElement})},[]).length?setTimeout(function(){e.disconnect()},0):(e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement),e.disconnect()))})});t.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return t.disconnect()})},e.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},e.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},e.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},e}(),AuthGuard=function(){function e(e,t){this.oauthService=e,this.store=t}return e.prototype.canActivate=function(e,t){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:t.url}})),!1)},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),PermissionGuard=function(){function e(e){this.store=e}return e.prototype.canActivate=function(e){var t=e.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(t))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),ApiInterceptor=function(){function e(e,t){this.oAuthService=e,this.store=t}return e.prototype.intercept=function(e,t){var r=this;this.store.dispatch(new StartLoader(e));var n={},o=this.oAuthService.getAccessToken();!e.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!e.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!e.headers.has("__tenant")&&a&&(n.__tenant=a.id),t.handle(e.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(e))}))},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e}(),Rest;Rest=exports.Rest||(exports.Rest={}),Rest.Config=function(){},Rest.Request=function(){};var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function e(e,t){this.options=e,this.router=t,this.initialized=!1}return e.prototype.handle=function(e,t,r){var n=store.actionMatcher(t);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),e=store.setValue(e,"ConfigState",__assign({},e.ConfigState&&__assign({},e.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(e,t)},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},e}();function transformRoutes(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);var r=e.filter(function(e){return snq(function(){return e.data.routes.find(function(t){return t.path===e.path})},!1)}).reduce(function(e,t){return __spread(e,t.data.routes)},[]);t=r.filter(function(e){return e.wrapper});var n=[];return e.filter(function(e){return(e.data||{}).routes&&(e.component||e.loadChildren)}).forEach(function(e){var t=r.find(function(t){return t.path.toLowerCase()===e.path.toLowerCase()&&snq(function(){return e.data.routes.length},!1)}),o=n.length;t&&n.push(t),n.length===o&&n.push({path:e.path,name:snq(function(){return e.data.routes.name},e.path),children:e.data.routes.children||[]})}),{routes:setUrls(n),wrappers:t}}function setUrls(e,t){return t?e.map(function(e){return __assign({},e,{url:t+"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,t+"/"+e.path)})}):e.map(function(e){return __assign({},e,{url:"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,"/"+e.path)})})}var ConfigService=function(){function e(e){this.store=e}return e.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},e.prototype.getOne=function(e){return this.store.selectSnapshot(ConfigState.getOne(e))},e.prototype.getDeep=function(e){return this.store.selectSnapshot(ConfigState.getDeep(e))},e.prototype.getSetting=function(e){return this.store.selectSnapshot(ConfigState.getSetting(e))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),LazyLoadService=function(){function e(){this.loadedLibraries={}}return e.prototype.load=function(e,t,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),e||r){var a,s=e?e.slice(e.lastIndexOf("/")+1):uuid();return this.loadedLibraries[s]?this.loadedLibraries[s].asObservable():(this.loadedLibraries[s]=new rxjs.ReplaySubject,"script"===t?((a=document.createElement("script")).type="text/javascript",e&&(a.src=e),a.text=r):e?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",e&&(a.href=e)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[s].next(),i.loadedLibraries[s].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[s].asObservable())}},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),LocalizationService=function(){function e(e){this.store=e}return e.prototype.get=function(e){for(var t=[],r=1;r= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class ConfigGetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class LoaderStart {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class LoaderStop {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class ProfileGet {\n static readonly type = '[Profile] Get';\n}\n\nexport class ProfileUpdate {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ProfileChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","export class SessionSetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/changePassword',\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(ProfileGet)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileUpdate)\n profileUpdate({ patchState }: StateContext, { payload }: ProfileUpdate) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileChangePassword)\n changePassword(_, { payload }: ProfileChangePassword) {\n return this.profileService.changePassword(payload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { SessionSetLanguage } from '../actions/session.actions';\nimport { Session } from '../models/session';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n constructor() {}\n\n @Action(SessionSetLanguage)\n sessionSetLanguage({ patchState }: StateContext, { payload }: SessionSetLanguage) {\n patchState({\n language: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes\n .map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n })\n .filter(route => route.path || (route.children && route.children.length));\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SessionSetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach((param, index) => {\n copy = copy.replace(`'{${index}}'`, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(ConfigGetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(\n new SessionSetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage'])),\n ),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigGetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new ConfigGetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '180px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { LoaderStart, LoaderStop } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new LoaderStart(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new LoaderStop(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Injectable, Inject, InjectionToken, Type } from '@angular/core';\nimport { NgxsPlugin, setValue, actionMatcher, InitState, UpdateState, NgxsNextPluginFn } from '@ngxs/store';\nimport { Router, Routes } from '@angular/router';\nimport { ABP } from '../models';\nimport snq from 'snq';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => route.component || route.loadChildren)\n .forEach(route => {\n const abpPackage = abpRoutes.find(abp => abp.path.toLowerCase() === route.path.toLowerCase());\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n LocalizationPipe,\n EllipsisDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n EllipsisDirective,\n LocalizationPipe,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","ar","next","done","push","value","error","__spread","concat","PatchRouteByName","name","newValue","type","GetAppConfiguration","StartLoader","payload","StopLoader","GetProfile","UpdateProfile","ChangePassword","RestOccurError","SetLanguage","SetTenant","RestService","http","store","handleError","err","dispatch","console","NEVER","request","config","api","_this","_a","observe","throwErr","url","selectSnapshot","ConfigState","getApiUrl","method","options","pipe","take","catchError","throwError","Injectable","args","providedIn","HttpClient","Store","ProfileService","rest","get","update","body","changePassword","ProfileState","profileService","getProfile","profile","profileGet","patchState","tap","profileUpdate","_b","_","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationConfigurationService","getConfiguration","SessionState","getLanguage","language","getTenant","tenant","setLanguage","setTenantId","organizeRoutes","routes","wrappers","parentNameArr","parentName","filter","route","children","filteredRoutes","sortRoutes","setChildRoute","map","foundedChildren","parent","sort","a","b","order","appConfigurationService","getAll","state","getApplicationInfo","environment","application","getOne","createSelector","ConfigState_1","getDeep","keys","split","Array","isArray","Error","reduce","acc","val","apis","getSetting","snq","setting","values","getGrantedPolicy","condition","replace","selector","getPolicy","auth","grantedPolicies","forEach","eval","getCopy","interpolateParams","_i","localization","defaultResourceName","copy","params","param","addData","configuration","switchMap","of","patchRoute","getState","findIndex","patchRouteDeep","parentUrl","path","child","uuid","Math","random","toString","getInitialData","injector","toPromise","isFunction","takeUntilDestroy","componentInstance","destroyMethodName","source","originalDestroy","constructor","Subject","complete","takeUntil","DynamicLayoutComponent","router","events","subscribe","event","NavigationEnd","segments","parseUrl","root","primary","layouts","requirements","layout_1","findLayout","layout","l","find","toLowerCase","ngOnDestroy","Component","template","Router","Select","Observable","wrapper","RouterOutletComponent","AutofocusDirective","elRef","delay","ngAfterViewInit","setTimeout","nativeElement","focus","Directive","ElementRef","Input","EllipsisDirective","cdRef","enabled","witdh","undefined","ngAfterContentInit","title","innerText","detectChanges","ChangeDetectorRef","HostBinding","PermissionDirective","renderer","ngOnInit","select","isGranted","removeChild","parentElement","Optional","Renderer2","VisibilityDirective","completed$","observer","MutationObserver","mutations","mutation","from","childNodes","node","HTMLElement","disconnect","focusedElement","childList","AuthGuard","oauthService","canActivate","hasValidAccessToken","Navigate","redirectUrl","OAuthService","PermissionGuard","resource","data","ApiInterceptor","oAuthService","intercept","headers","token","getAccessToken","has","lang","id","handle","clone","setHeaders","finalize","Rest","NGXS_CONFIG_PLUGIN_OPTIONS","InjectionToken","ConfigPlugin","initialized","matches","actionMatcher","InitState","UpdateState","transformRoutes","setValue","Inject","abpRoutes","transformed","component","loadChildren","abpPackage","abp","setUrls","ConfigService","LazyLoadService","loadedLibraries","load","content","targetQuery","position","library","slice","lastIndexOf","asObservable","ReplaySubject","document","createElement","src","text","rel","href","textContent","onload","querySelector","insertAdjacentElement","LocalizationService","instant","environmentFactory","configFactory","ENVIRONMENT","CONFIG","LocalizationPipe","transform","distinctUntilChanged","Pipe","pure","InputEventDebounceDirective","el","debounce","debounceEvent","EventEmitter","fromEvent","debounceTime","emit","Output","ClickEventStopPropagationDirective","stopPropEvent","stopPropagation","CoreModule","forRoot","ngModule","providers","provide","NGXS_PLUGINS","useClass","multi","useValue","HTTP_INTERCEPTORS","APP_INITIALIZER","deps","Injector","useFactory","NgModule","imports","NgxsModule","forFeature","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","declarations","exports","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/abp-ng.core.js b/npm/ng-packs/dist/core/esm2015/abp-ng.core.js index b2b7632fa9..a89512db8a 100644 --- a/npm/ng-packs/dist/core/esm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/esm2015/abp-ng.core.js @@ -5,24 +5,27 @@ /** * Generated bundle index. Do not edit. */ -export { PatchRouteByName, ConfigGetAppConfiguration, LoaderStart, LoaderStop, ProfileGet, ProfileUpdate, ProfileChangePassword, RestOccurError, SessionSetLanguage, DynamicLayoutComponent, RouterOutletComponent, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; -export { ConfigGetAppConfiguration as ɵm, PatchRouteByName as ɵl } from './lib/actions/config.actions'; -export { ProfileChangePassword as ɵf, ProfileGet as ɵd, ProfileUpdate as ɵe } from './lib/actions/profile.actions'; -export { SessionSetLanguage as ɵi } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵo } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵn } from './lib/components/router-outlet.component'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; +export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; +export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵq } from './lib/directives/permission.directive'; -export { VisibilityDirective as ɵr } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵx } from './lib/interceptors/api.interceptor'; -export { LocalizationPipe as ɵs } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵv, NGXS_CONFIG_PLUGIN_OPTIONS as ɵu } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵk } from './lib/services/application-configuration.service'; +export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; +export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; +export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵp } from './lib/states'; -export { ConfigState as ɵj } from './lib/states/config.state'; +export { ConfigState as ɵr } from './lib/states'; +export { ConfigState as ɵl } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵy } from './lib/utils/initial-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc3FCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDL0csT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDaEcsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0NvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24gYXMgybVtLFBhdGNoUm91dGVCeU5hbWUgYXMgybVsfSBmcm9tICcuL2xpYi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCB7UHJvZmlsZUNoYW5nZVBhc3N3b3JkIGFzIMm1ZixQcm9maWxlR2V0IGFzIMm1ZCxQcm9maWxlVXBkYXRlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXNzaW9uU2V0TGFuZ3VhZ2UgYXMgybVpfSBmcm9tICcuL2xpYi9hY3Rpb25zL3Nlc3Npb24uYWN0aW9ucyc7XG5leHBvcnQge0R5bmFtaWNMYXlvdXRDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge1JvdXRlck91dGxldENvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXF9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtWaXNpYmlsaXR5RGlyZWN0aXZlIGFzIMm1cn0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy92aXNpYmlsaXR5LmRpcmVjdGl2ZSc7XG5leHBvcnQge0FwaUludGVyY2VwdG9yIGFzIMm1eH0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtXcsUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybVzfSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtXYsTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgYXMgybV1fSBmcm9tICcuL2xpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuZXhwb3J0IHtBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIGFzIMm1a30gZnJvbSAnLi9saWIvc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCB7UHJvZmlsZVNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9maWxlLnNlcnZpY2UnO1xuZXhwb3J0IHtSZXN0U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1cH0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7Q29uZmlnU3RhdGUgYXMgybVqfSBmcm9tICcuL2xpYi9zdGF0ZXMvY29uZmlnLnN0YXRlJztcbmV4cG9ydCB7UHJvZmlsZVN0YXRlIGFzIMm1YX0gZnJvbSAnLi9saWIvc3RhdGVzL3Byb2ZpbGUuc3RhdGUnO1xuZXhwb3J0IHtTZXNzaW9uU3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZSc7XG5leHBvcnQge2dldEluaXRpYWxEYXRhIGFzIMm1eX0gZnJvbSAnLi9saWIvdXRpbHMvaW5pdGlhbC11dGlscyc7Il19 \ No newline at end of file +export { getInitialData as ɵbc } from './lib/utils/initial-utils'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaXJCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtHZXRBcHBDb25maWd1cmF0aW9uIGFzIMm1byxQYXRjaFJvdXRlQnlOYW1lIGFzIMm1bn0gZnJvbSAnLi9saWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkIGFzIMm1ZixHZXRQcm9maWxlIGFzIMm1ZCxVcGRhdGVQcm9maWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXRMYW5ndWFnZSBhcyDJtWksU2V0VGVuYW50IGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuZXhwb3J0IHtEeW5hbWljTGF5b3V0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtSb3V0ZXJPdXRsZXRDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b2ZvY3VzRGlyZWN0aXZlIGFzIMm1c30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIGFzIMm1eH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXZ9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIGFzIMm1eX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Zpc2liaWxpdHlEaXJlY3RpdmUgYXMgybV3fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7QXBpSW50ZXJjZXB0b3IgYXMgybViYn0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtWssUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybV1fSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtWJhLE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIGFzIMm1en0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmV4cG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1Byb2ZpbGVTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvcHJvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCB7UmVzdFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtXJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1bH0gZnJvbSAnLi9saWIvc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5leHBvcnQge1Byb2ZpbGVTdGF0ZSBhcyDJtWF9IGZyb20gJy4vbGliL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmV4cG9ydCB7U2Vzc2lvblN0YXRlIGFzIMm1aH0gZnJvbSAnLi9saWIvc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuZXhwb3J0IHtnZXRJbml0aWFsRGF0YSBhcyDJtWJjfSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/actions/config.actions.js b/npm/ng-packs/dist/core/esm2015/lib/actions/config.actions.js index 11aa8de879..a42769272e 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/actions/config.actions.js +++ b/npm/ng-packs/dist/core/esm2015/lib/actions/config.actions.js @@ -21,11 +21,11 @@ if (false) { /** @type {?} */ PatchRouteByName.prototype.newValue; } -export class ConfigGetAppConfiguration { +export class GetAppConfiguration { } -ConfigGetAppConfiguration.type = '[Config] Get App Configuration'; +GetAppConfiguration.type = '[Config] Get App Configuration'; if (false) { /** @type {?} */ - ConfigGetAppConfiguration.type; + GetAppConfiguration.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFFM0IsWUFBbUIsSUFBWSxFQUFTLFFBQTRCO1FBQWpELFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtJQUFHLENBQUM7O0FBRHhELHFCQUFJLEdBQUcsOEJBQThCLENBQUM7OztJQUF0RCxzQkFBc0Q7O0lBQzFDLGdDQUFtQjs7SUFBRSxvQ0FBbUM7O0FBR3RFLE1BQU0sT0FBTyx5QkFBeUI7O0FBQ3BCLDhCQUFJLEdBQUcsZ0NBQWdDLENBQUM7OztJQUF4RCwrQkFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUGF0Y2hSb3V0ZUJ5TmFtZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tDb25maWddIFBhdGNoIFJvdXRlIEJ5IE5hbWUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMgbmV3VmFsdWU6IFBhcnRpYWw8QUJQLlJvdXRlPikge31cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbQ29uZmlnXSBHZXQgQXBwIENvbmZpZ3VyYXRpb24nO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFFM0IsWUFBbUIsSUFBWSxFQUFTLFFBQTRCO1FBQWpELFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtJQUFHLENBQUM7O0FBRHhELHFCQUFJLEdBQUcsOEJBQThCLENBQUM7OztJQUF0RCxzQkFBc0Q7O0lBQzFDLGdDQUFtQjs7SUFBRSxvQ0FBbUM7O0FBR3RFLE1BQU0sT0FBTyxtQkFBbUI7O0FBQ2Qsd0JBQUksR0FBRyxnQ0FBZ0MsQ0FBQzs7O0lBQXhELHlCQUF3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBQYXRjaFJvdXRlQnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0NvbmZpZ10gUGF0Y2ggUm91dGUgQnkgTmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcsIHB1YmxpYyBuZXdWYWx1ZTogUGFydGlhbDxBQlAuUm91dGU+KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgR2V0QXBwQ29uZmlndXJhdGlvbiB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tDb25maWddIEdldCBBcHAgQ29uZmlndXJhdGlvbic7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/actions/index.js b/npm/ng-packs/dist/core/esm2015/lib/actions/index.js index 1b4928b55d..54f7b1d88a 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/actions/index.js +++ b/npm/ng-packs/dist/core/esm2015/lib/actions/index.js @@ -2,9 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { PatchRouteByName, ConfigGetAppConfiguration } from './config.actions'; -export { LoaderStart, LoaderStop } from './loader.actions'; -export { ProfileGet, ProfileUpdate, ProfileChangePassword } from './profile.actions'; +export { PatchRouteByName, GetAppConfiguration } from './config.actions'; +export { StartLoader, StopLoader } from './loader.actions'; +export { GetProfile, UpdateProfile, ChangePassword } from './profile.actions'; export { RestOccurError } from './rest.actions'; -export { SessionSetLanguage } from './session.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNERBQWMsa0JBQWtCLENBQUM7QUFDakMsd0NBQWMsa0JBQWtCLENBQUM7QUFDakMsaUVBQWMsbUJBQW1CLENBQUM7QUFDbEMsK0JBQWMsZ0JBQWdCLENBQUM7QUFDL0IsbUNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uLmFjdGlvbnMnO1xuIl19 \ No newline at end of file +export { SetLanguage, SetTenant } from './session.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0RBQWMsa0JBQWtCLENBQUM7QUFDakMsd0NBQWMsa0JBQWtCLENBQUM7QUFDakMsMERBQWMsbUJBQW1CLENBQUM7QUFDbEMsK0JBQWMsZ0JBQWdCLENBQUM7QUFDL0IsdUNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uLmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/actions/loader.actions.js b/npm/ng-packs/dist/core/esm2015/lib/actions/loader.actions.js index cb090bfb93..0a1bb7ea48 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/actions/loader.actions.js +++ b/npm/ng-packs/dist/core/esm2015/lib/actions/loader.actions.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class LoaderStart { +export class StartLoader { /** * @param {?} payload */ @@ -10,14 +10,14 @@ export class LoaderStart { this.payload = payload; } } -LoaderStart.type = '[Loader] Start'; +StartLoader.type = '[Loader] Start'; if (false) { /** @type {?} */ - LoaderStart.type; + StartLoader.type; /** @type {?} */ - LoaderStart.prototype.payload; + StartLoader.prototype.payload; } -export class LoaderStop { +export class StopLoader { /** * @param {?} payload */ @@ -25,11 +25,11 @@ export class LoaderStop { this.payload = payload; } } -LoaderStop.type = '[Loader] Stop'; +StopLoader.type = '[Loader] Stop'; if (false) { /** @type {?} */ - LoaderStop.type; + StopLoader.type; /** @type {?} */ - LoaderStop.prototype.payload; + StopLoader.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9sb2FkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxPQUFPLFdBQVc7Ozs7SUFFdEIsWUFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDOztBQURoQyxnQkFBSSxHQUFHLGdCQUFnQixDQUFDOzs7SUFBeEMsaUJBQXdDOztJQUM1Qiw4QkFBZ0M7O0FBRzlDLE1BQU0sT0FBTyxVQUFVOzs7O0lBRXJCLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs7QUFEaEMsZUFBSSxHQUFHLGVBQWUsQ0FBQzs7O0lBQXZDLGdCQUF1Qzs7SUFDM0IsNkJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBjbGFzcyBMb2FkZXJTdGFydCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tMb2FkZXJdIFN0YXJ0JztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEh0dHBSZXF1ZXN0PGFueT4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2FkZXJTdG9wIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xvYWRlcl0gU3RvcCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBIdHRwUmVxdWVzdDxhbnk+KSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9sb2FkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxPQUFPLFdBQVc7Ozs7SUFFdEIsWUFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDOztBQURoQyxnQkFBSSxHQUFHLGdCQUFnQixDQUFDOzs7SUFBeEMsaUJBQXdDOztJQUM1Qiw4QkFBZ0M7O0FBRzlDLE1BQU0sT0FBTyxVQUFVOzs7O0lBRXJCLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs7QUFEaEMsZUFBSSxHQUFHLGVBQWUsQ0FBQzs7O0lBQXZDLGdCQUF1Qzs7SUFDM0IsNkJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFydExvYWRlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tMb2FkZXJdIFN0YXJ0JztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEh0dHBSZXF1ZXN0PGFueT4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBTdG9wTG9hZGVyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xvYWRlcl0gU3RvcCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBIdHRwUmVxdWVzdDxhbnk+KSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/actions/profile.actions.js b/npm/ng-packs/dist/core/esm2015/lib/actions/profile.actions.js index cfa7bf35e4..9edb0a11eb 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/actions/profile.actions.js +++ b/npm/ng-packs/dist/core/esm2015/lib/actions/profile.actions.js @@ -2,14 +2,14 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class ProfileGet { +export class GetProfile { } -ProfileGet.type = '[Profile] Get'; +GetProfile.type = '[Profile] Get'; if (false) { /** @type {?} */ - ProfileGet.type; + GetProfile.type; } -export class ProfileUpdate { +export class UpdateProfile { /** * @param {?} payload */ @@ -17,14 +17,14 @@ export class ProfileUpdate { this.payload = payload; } } -ProfileUpdate.type = '[Profile] Update'; +UpdateProfile.type = '[Profile] Update'; if (false) { /** @type {?} */ - ProfileUpdate.type; + UpdateProfile.type; /** @type {?} */ - ProfileUpdate.prototype.payload; + UpdateProfile.prototype.payload; } -export class ProfileChangePassword { +export class ChangePassword { /** * @param {?} payload */ @@ -32,11 +32,11 @@ export class ProfileChangePassword { this.payload = payload; } } -ProfileChangePassword.type = '[Profile] Change Password'; +ChangePassword.type = '[Profile] Change Password'; if (false) { /** @type {?} */ - ProfileChangePassword.type; + ChangePassword.type; /** @type {?} */ - ProfileChangePassword.prototype.payload; + ChangePassword.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sVUFBVTs7QUFDTCxlQUFJLEdBQUcsZUFBZSxDQUFDOzs7SUFBdkMsZ0JBQXVDOztBQUd6QyxNQUFNLE9BQU8sYUFBYTs7OztJQUV4QixZQUFtQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7O0FBRGhDLGtCQUFJLEdBQUcsa0JBQWtCLENBQUM7OztJQUExQyxtQkFBMEM7O0lBQzlCLGdDQUFnQzs7QUFHOUMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQUVoQyxZQUFtQixPQUFzQztRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUErQjtJQUFHLENBQUM7O0FBRDdDLDBCQUFJLEdBQUcsMkJBQTJCLENBQUM7OztJQUFuRCwyQkFBbUQ7O0lBQ3ZDLHdDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUHJvZmlsZUdldCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQcm9maWxlXSBHZXQnO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvZmlsZVVwZGF0ZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQcm9maWxlXSBVcGRhdGUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUHJvZmlsZS5SZXNwb25zZSkge31cbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDaGFuZ2VQYXNzd29yZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQcm9maWxlXSBDaGFuZ2UgUGFzc3dvcmQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sVUFBVTs7QUFDTCxlQUFJLEdBQUcsZUFBZSxDQUFDOzs7SUFBdkMsZ0JBQXVDOztBQUd6QyxNQUFNLE9BQU8sYUFBYTs7OztJQUV4QixZQUFtQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7O0FBRGhDLGtCQUFJLEdBQUcsa0JBQWtCLENBQUM7OztJQUExQyxtQkFBMEM7O0lBQzlCLGdDQUFnQzs7QUFHOUMsTUFBTSxPQUFPLGNBQWM7Ozs7SUFFekIsWUFBbUIsT0FBc0M7UUFBdEMsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7SUFBRyxDQUFDOztBQUQ3QyxtQkFBSSxHQUFHLDJCQUEyQixDQUFDOzs7SUFBbkQsb0JBQW1EOztJQUN2QyxpQ0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEdldFByb2ZpbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gR2V0Jztcbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVByb2ZpbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gVXBkYXRlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFByb2ZpbGUuUmVzcG9uc2UpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQcm9maWxlXSBDaGFuZ2UgUGFzc3dvcmQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/actions/session.actions.js b/npm/ng-packs/dist/core/esm2015/lib/actions/session.actions.js index c50105a8bf..6be546d47b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/actions/session.actions.js +++ b/npm/ng-packs/dist/core/esm2015/lib/actions/session.actions.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class SessionSetLanguage { +export class SetLanguage { /** * @param {?} payload */ @@ -10,11 +10,26 @@ export class SessionSetLanguage { this.payload = payload; } } -SessionSetLanguage.type = '[Session] Set Language'; +SetLanguage.type = '[Session] Set Language'; if (false) { /** @type {?} */ - SessionSetLanguage.type; + SetLanguage.type; /** @type {?} */ - SessionSetLanguage.prototype.payload; + SetLanguage.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sa0JBQWtCOzs7O0lBRTdCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQzs7QUFEdEIsdUJBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELHdCQUFnRDs7SUFDcEMscUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNlc3Npb25TZXRMYW5ndWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tTZXNzaW9uXSBTZXQgTGFuZ3VhZ2UnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuIl19 \ No newline at end of file +export class SetTenant { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +SetTenant.type = '[Session] Set Tenant'; +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sV0FBVzs7OztJQUV0QixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGdCQUFJLEdBQUcsd0JBQXdCLENBQUM7OztJQUFoRCxpQkFBZ0Q7O0lBQ3BDLDhCQUFzQjs7QUFFcEMsTUFBTSxPQUFPLFNBQVM7Ozs7SUFFcEIsWUFBbUIsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUFHLENBQUM7O0FBRDdCLGNBQUksR0FBRyxzQkFBc0IsQ0FBQzs7O0lBQTlDLGVBQThDOztJQUNsQyw0QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgU2V0TGFuZ3VhZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbU2Vzc2lvbl0gU2V0IExhbmd1YWdlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cbmV4cG9ydCBjbGFzcyBTZXRUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbU2Vzc2lvbl0gU2V0IFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBBQlAuQmFzaWNJdGVtKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js b/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js index f8aade9e9e..84c94ab070 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js +++ b/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js @@ -109,7 +109,7 @@ function findLayout(segments, routes) { if (route.layout) { layout = route.layout; } - if (route.children && route.children.length) { + if (route.children && route.children.length && segments.length > 1) { /** @type {?} */ const child = route.children.find((/** * @param {?} c @@ -123,4 +123,4 @@ function findLayout(segments, routes) { } return layout; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQVd0QixNQUFNLE9BQU8sc0JBQXNCOzs7OztJQU1qQyxZQUFvQixNQUFjLEVBQVUsS0FBWTtRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO3NCQUM1QixFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87c0JBQ3BFLEVBQ0osWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3NCQUUzQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUM7YUFDNUc7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7O1lBL0JqQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7OztHQUtUO2FBQ0Y7Ozs7WUFqQnVCLE1BQU07WUFDYixLQUFLOztBQW1CcEI7SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztzQ0FDNUIsVUFBVTs2REFBc0I7OztJQUQvQywrQ0FDK0M7O0lBRS9DLHdDQUFrQjs7Ozs7SUFFTix3Q0FBc0I7Ozs7O0lBQUUsdUNBQW9COzs7Ozs7O0FBbUIxRCxTQUFTLFVBQVUsQ0FBQyxRQUFzQixFQUFFLE1BQXVCOztRQUM3RCxNQUFNLHNCQUFvQjs7VUFFeEIsS0FBSyxHQUFHLE1BQU07U0FDakIsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFFLEVBQUUsQ0FBQztTQUNuRixJQUFJOzs7O0lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7SUFFekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7O2tCQUNyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFFbkUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUN2QjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBBQlAsIENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXQgPyBjb21wb25lbnRPdXRsZXQgOiByb3V0ZXJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcm91dGVyT3V0bGV0Pjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3V0bGV0PjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyZXF1aXJlbWVudHMnKSlcbiAgcmVxdWlyZW1lbnRzJDogT2JzZXJ2YWJsZTxDb25maWcuUmVxdWlyZW1lbnRzPjtcblxuICBsYXlvdXQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IHsgc2VnbWVudHMgfSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGV2ZW50LnVybCkucm9vdC5jaGlsZHJlbi5wcmltYXJ5O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgcmVxdWlyZW1lbnRzOiB7IGxheW91dHMgfSxcbiAgICAgICAgICByb3V0ZXMsXG4gICAgICAgIH0gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFsbCk7XG5cbiAgICAgICAgY29uc3QgbGF5b3V0ID0gZmluZExheW91dChzZWdtZW50cywgcm91dGVzKTtcblxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dHMuZmlsdGVyKGwgPT4gISFsKS5maW5kKGwgPT4gc25xKCgpID0+IGwudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobGF5b3V0KSwgLTEpID4gLTEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuXG5mdW5jdGlvbiBmaW5kTGF5b3V0KHNlZ21lbnRzOiBVcmxTZWdtZW50W10sIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKTogZUxheW91dFR5cGUge1xuICBsZXQgbGF5b3V0ID0gZUxheW91dFR5cGUuZW1wdHk7XG5cbiAgY29uc3Qgcm91dGUgPSByb3V0ZXNcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gKHZhbC53cmFwcGVyID8gWy4uLmFjYywgLi4udmFsLmNoaWxkcmVuXSA6IFsuLi5hY2MsIHZhbF0pLCBbXSlcbiAgICAuZmluZChyID0+IHIucGF0aCA9PT0gc2VnbWVudHNbMF0ucGF0aCk7XG5cbiAgaWYgKHJvdXRlKSB7XG4gICAgaWYgKHJvdXRlLmxheW91dCkge1xuICAgICAgbGF5b3V0ID0gcm91dGUubGF5b3V0O1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoaWxkID0gcm91dGUuY2hpbGRyZW4uZmluZChjID0+IGMucGF0aCA9PT0gc2VnbWVudHNbMV0ucGF0aCk7XG5cbiAgICAgIGlmIChjaGlsZC5sYXlvdXQpIHtcbiAgICAgICAgbGF5b3V0ID0gY2hpbGQubGF5b3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsYXlvdXQ7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQVd0QixNQUFNLE9BQU8sc0JBQXNCOzs7OztJQU1qQyxZQUFvQixNQUFjLEVBQVUsS0FBWTtRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO3NCQUM1QixFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87c0JBQ3BFLEVBQ0osWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3NCQUUzQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUM7YUFDNUc7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7O1lBL0JqQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7OztHQUtUO2FBQ0Y7Ozs7WUFqQnVCLE1BQU07WUFDYixLQUFLOztBQW1CcEI7SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztzQ0FDNUIsVUFBVTs2REFBc0I7OztJQUQvQywrQ0FDK0M7O0lBRS9DLHdDQUFrQjs7Ozs7SUFFTix3Q0FBc0I7Ozs7O0lBQUUsdUNBQW9COzs7Ozs7O0FBbUIxRCxTQUFTLFVBQVUsQ0FBQyxRQUFzQixFQUFFLE1BQXVCOztRQUM3RCxNQUFNLHNCQUFvQjs7VUFFeEIsS0FBSyxHQUFHLE1BQU07U0FDakIsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFFLEVBQUUsQ0FBQztTQUNuRixJQUFJOzs7O0lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7SUFFekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUM1RCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFFbkUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUN2QjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBBQlAsIENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXQgPyBjb21wb25lbnRPdXRsZXQgOiByb3V0ZXJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcm91dGVyT3V0bGV0Pjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3V0bGV0PjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyZXF1aXJlbWVudHMnKSlcbiAgcmVxdWlyZW1lbnRzJDogT2JzZXJ2YWJsZTxDb25maWcuUmVxdWlyZW1lbnRzPjtcblxuICBsYXlvdXQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IHsgc2VnbWVudHMgfSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGV2ZW50LnVybCkucm9vdC5jaGlsZHJlbi5wcmltYXJ5O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgcmVxdWlyZW1lbnRzOiB7IGxheW91dHMgfSxcbiAgICAgICAgICByb3V0ZXMsXG4gICAgICAgIH0gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFsbCk7XG5cbiAgICAgICAgY29uc3QgbGF5b3V0ID0gZmluZExheW91dChzZWdtZW50cywgcm91dGVzKTtcblxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dHMuZmlsdGVyKGwgPT4gISFsKS5maW5kKGwgPT4gc25xKCgpID0+IGwudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobGF5b3V0KSwgLTEpID4gLTEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuXG5mdW5jdGlvbiBmaW5kTGF5b3V0KHNlZ21lbnRzOiBVcmxTZWdtZW50W10sIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKTogZUxheW91dFR5cGUge1xuICBsZXQgbGF5b3V0ID0gZUxheW91dFR5cGUuZW1wdHk7XG5cbiAgY29uc3Qgcm91dGUgPSByb3V0ZXNcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gKHZhbC53cmFwcGVyID8gWy4uLmFjYywgLi4udmFsLmNoaWxkcmVuXSA6IFsuLi5hY2MsIHZhbF0pLCBbXSlcbiAgICAuZmluZChyID0+IHIucGF0aCA9PT0gc2VnbWVudHNbMF0ucGF0aCk7XG5cbiAgaWYgKHJvdXRlKSB7XG4gICAgaWYgKHJvdXRlLmxheW91dCkge1xuICAgICAgbGF5b3V0ID0gcm91dGUubGF5b3V0O1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGggJiYgc2VnbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgY2hpbGQgPSByb3V0ZS5jaGlsZHJlbi5maW5kKGMgPT4gYy5wYXRoID09PSBzZWdtZW50c1sxXS5wYXRoKTtcblxuICAgICAgaWYgKGNoaWxkLmxheW91dCkge1xuICAgICAgICBsYXlvdXQgPSBjaGlsZC5sYXlvdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxheW91dDtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/core.module.js b/npm/ng-packs/dist/core/esm2015/lib/core.module.js index ca881df30a..a8aa5c9574 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/core.module.js +++ b/npm/ng-packs/dist/core/esm2015/lib/core.module.js @@ -22,6 +22,9 @@ import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; import { getInitialData } from './utils/initial-utils'; import { EllipsisDirective } from './directives/ellipsis.directive'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; export class CoreModule { /** * @param {?=} options @@ -70,10 +73,13 @@ CoreModule.decorators = [ declarations: [ RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - LocalizationPipe, - EllipsisDirective, + InputEventDebounceDirective, + ClickEventStopPropagationDirective, ], exports: [ CommonModule, @@ -83,13 +89,17 @@ CoreModule.decorators = [ RouterModule, RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - EllipsisDirective, + InputEventDebounceDirective, LocalizationPipe, + ClickEventStopPropagationDirective, ], providers: [LocalizationPipe], entryComponents: [RouterOutletComponent, DynamicLayoutComponent], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFxQ3BFLE1BQU0sT0FBTyxVQUFVOzs7OztJQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxtQkFBQSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBOURGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQztvQkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO29CQUNoQyxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0QixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixzQkFBc0I7b0JBQ3RCLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdCLGVBQWUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDO2FBQ2pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IE5neHNTdG9yYWdlUGx1Z2luTW9kdWxlIH0gZnJvbSAnQG5neHMvc3RvcmFnZS1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c01vZHVsZSwgTkdYU19QTFVHSU5TIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVmlzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92aXNpYmlsaXR5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBcGlJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuL21vZGVscy9jb21tb24nO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgQ29uZmlnUGx1Z2luLCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvY29uZmlnLnN0YXRlJztcbmltcG9ydCB7IFByb2ZpbGVTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL3Byb2ZpbGUuc3RhdGUnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBnZXRJbml0aWFsRGF0YSB9IGZyb20gJy4vdXRpbHMvaW5pdGlhbC11dGlscyc7XG5pbXBvcnQgeyBFbGxpcHNpc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxuICAgIFZpc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTG9jYWxpemF0aW9uUGlwZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW1JvdXRlck91dGxldENvbXBvbmVudCwgRHluYW1pY0xheW91dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zID0ge30gYXMgQUJQLlJvb3QpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfUExVR0lOUyxcbiAgICAgICAgICB1c2VDbGFzczogQ29uZmlnUGx1Z2luLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXBpSW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRJbml0aWFsRGF0YSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUE0QzdGLE1BQU0sT0FBTyxVQUFVOzs7OztJQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxtQkFBQSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBckVGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQztvQkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO29CQUNoQyxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQixrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQiwyQkFBMkI7b0JBQzNCLGdCQUFnQjtvQkFDaEIsa0NBQWtDO2lCQUNuQztnQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0IsZUFBZSxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7YUFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c1N0b3JhZ2VQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yYWdlLXBsdWdpbic7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBOR1hTX1BMVUdJTlMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBDb25maWdQbHVnaW4sIE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuaW1wb3J0IHsgUHJvZmlsZVN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IEVsbGlwc2lzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtSb3V0ZXJPdXRsZXRDb21wb25lbnQsIER5bmFtaWNMYXlvdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IENvbmZpZ1BsdWdpbixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEFwaUludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/autofocus.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/autofocus.directive.js new file mode 100644 index 0000000000..373e8a478d --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/autofocus.directive.js @@ -0,0 +1,45 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, Input } from '@angular/core'; +export class AutofocusDirective { + /** + * @param {?} elRef + */ + constructor(elRef) { + this.elRef = elRef; + this.delay = 0; + } + /** + * @return {?} + */ + ngAfterViewInit() { + setTimeout((/** + * @return {?} + */ + () => this.elRef.nativeElement.focus()), this.delay); + } +} +AutofocusDirective.decorators = [ + { type: Directive, args: [{ + selector: '[autofocus]', + },] } +]; +/** @nocollapse */ +AutofocusDirective.ctorParameters = () => [ + { type: ElementRef } +]; +AutofocusDirective.propDecorators = { + delay: [{ type: Input, args: ['autofocus',] }] +}; +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2F1dG9mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLNUUsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUk3QixZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRnJDLFVBQUssR0FBVyxDQUFDLENBQUM7SUFFc0IsQ0FBQzs7OztJQUV6QyxlQUFlO1FBQ2IsVUFBVTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OztZQVhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTthQUN4Qjs7OztZQUptQixVQUFVOzs7b0JBTTNCLEtBQUssU0FBQyxXQUFXOzs7O0lBQWxCLG1DQUNrQjs7Ozs7SUFFTixtQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdXRvZm9jdXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgnYXV0b2ZvY3VzJylcbiAgZGVsYXk6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgdGhpcy5kZWxheSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/debounce.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/debounce.directive.js new file mode 100644 index 0000000000..eb06e6e994 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/debounce.directive.js @@ -0,0 +1,65 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, Output, Renderer2, ElementRef, EventEmitter, Input } from '@angular/core'; +import { fromEvent } from 'rxjs'; +import { debounceTime } from 'rxjs/operators'; +import { takeUntilDestroy } from '@ngx-validate/core'; +export class InputEventDebounceDirective { + /** + * @param {?} renderer + * @param {?} el + */ + constructor(renderer, el) { + this.renderer = renderer; + this.el = el; + this.debounce = 300; + this.debounceEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ngOnInit() { + fromEvent(this.el.nativeElement, 'input') + .pipe(debounceTime(this.debounce), takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + (event) => { + this.debounceEvent.emit(event); + })); + } +} +InputEventDebounceDirective.decorators = [ + { type: Directive, args: [{ + selector: '[input.debounce]', + },] } +]; +/** @nocollapse */ +InputEventDebounceDirective.ctorParameters = () => [ + { type: Renderer2 }, + { type: ElementRef } +]; +InputEventDebounceDirective.propDecorators = { + debounce: [{ type: Input }], + debounceEvent: [{ type: Output, args: ['input.debounce',] }] +}; +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLdEQsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7SUFLdEMsWUFBb0IsUUFBbUIsRUFBVSxFQUFjO1FBQTNDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSnRELGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFTixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFRixDQUFDOzs7O0lBRW5FLFFBQVE7UUFDTixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQ3RDLElBQUksQ0FDSCxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FDdkI7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7OztZQW5CRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjthQUM3Qjs7OztZQVAyQixTQUFTO1lBQUUsVUFBVTs7O3VCQVM5QyxLQUFLOzRCQUVMLE1BQU0sU0FBQyxnQkFBZ0I7Ozs7SUFGeEIsK0NBQWdDOztJQUVoQyxvREFBb0U7Ozs7O0lBRXhELCtDQUEyQjs7Ozs7SUFBRSx5Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBPbkluaXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpbnB1dC5kZWJvdW5jZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkZWJvdW5jZTogbnVtYmVyID0gMzAwO1xuXG4gIEBPdXRwdXQoJ2lucHV0LmRlYm91bmNlJykgZGVib3VuY2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZGVib3VuY2VFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js index 5743a25846..167f56f56e 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js @@ -23,7 +23,7 @@ export class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '180px' : undefined; + return this.enabled ? this.witdh || '160px' : undefined; } /** * @return {?} @@ -77,4 +77,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2l0ZGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aXRkaCB8fCAnMTgwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2l0ZGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aXRkaCB8fCAnMTYwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/index.js b/npm/ng-packs/dist/core/esm2015/lib/directives/index.js index f4318663b7..58ddf9b1e1 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/index.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/index.js @@ -2,7 +2,8 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { AutofocusDirective } from './autofocus.directive'; export { EllipsisDirective } from './ellipsis.directive'; export { PermissionDirective } from './permission.directive'; export { VisibilityDirective } from './visibility.directive'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlzaWJpbGl0eS5kaXJlY3RpdmUnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/stop-propagation.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/stop-propagation.directive.js new file mode 100644 index 0000000000..413d2d1c2a --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/stop-propagation.directive.js @@ -0,0 +1,61 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, EventEmitter, Output, Renderer2 } from '@angular/core'; +import { fromEvent } from 'rxjs'; +import { takeUntilDestroy } from '@ngx-validate/core'; +export class ClickEventStopPropagationDirective { + /** + * @param {?} renderer + * @param {?} el + */ + constructor(renderer, el) { + this.renderer = renderer; + this.el = el; + this.stopPropEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ngOnInit() { + fromEvent(this.el.nativeElement, 'click') + .pipe(takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + (event) => { + event.stopPropagation(); + this.stopPropEvent.emit(event); + })); + } +} +ClickEventStopPropagationDirective.decorators = [ + { type: Directive, args: [{ + selector: '[click.stop]', + },] } +]; +/** @nocollapse */ +ClickEventStopPropagationDirective.ctorParameters = () => [ + { type: Renderer2 }, + { type: ElementRef } +]; +ClickEventStopPropagationDirective.propDecorators = { + stopPropEvent: [{ type: Output, args: ['click.stop',] }] +}; +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUt0RCxNQUFNLE9BQU8sa0NBQWtDOzs7OztJQUc3QyxZQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFGekMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRUgsQ0FBQzs7OztJQUVuRSxRQUFRO1FBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUIsU0FBUzs7OztRQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQy9CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7OztZQWZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7OztZQU42RCxTQUFTO1lBQW5ELFVBQVU7Ozs0QkFRM0IsTUFBTSxTQUFDLFlBQVk7Ozs7SUFBcEIsMkRBQXFFOzs7OztJQUV6RCxzREFBMkI7Ozs7O0lBQUUsZ0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbGljay5zdG9wXScsXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCdjbGljay5zdG9wJykgc3RvcFByb3BFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zdG9wUHJvcEV2ZW50LmVtaXQoZXZlbnQpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/interceptors/api.interceptor.js b/npm/ng-packs/dist/core/esm2015/lib/interceptors/api.interceptor.js index 4a1478c4b7..baca3b773b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/interceptors/api.interceptor.js +++ b/npm/ng-packs/dist/core/esm2015/lib/interceptors/api.interceptor.js @@ -6,7 +6,7 @@ import { Injectable } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; import { Store } from '@ngxs/store'; import { SessionState } from '../states'; -import { LoaderStart, LoaderStop } from '../actions/loader.actions'; +import { StartLoader, StopLoader } from '../actions/loader.actions'; import { finalize } from 'rxjs/operators'; export class ApiInterceptor { /** @@ -23,7 +23,7 @@ export class ApiInterceptor { * @return {?} */ intercept(request, next) { - this.store.dispatch(new LoaderStart(request)); + this.store.dispatch(new StartLoader(request)); /** @type {?} */ const headers = (/** @type {?} */ ({})); /** @type {?} */ @@ -36,6 +36,11 @@ export class ApiInterceptor { if (!request.headers.has('Accept-Language') && lang) { headers['Accept-Language'] = lang; } + /** @type {?} */ + const tenant = this.store.selectSnapshot(SessionState.getTenant); + if (!request.headers.has('__tenant') && tenant) { + headers['__tenant'] = tenant.id; + } return next .handle(request.clone({ setHeaders: headers, @@ -43,7 +48,7 @@ export class ApiInterceptor { .pipe(finalize((/** * @return {?} */ - () => this.store.dispatch(new LoaderStop(request))))); + () => this.store.dispatch(new StopLoader(request))))); } } ApiInterceptor.decorators = [ @@ -66,4 +71,4 @@ if (false) { */ ApiInterceptor.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2ludGVyY2VwdG9ycy9hcGkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxNQUFNLE9BQU8sY0FBYzs7Ozs7SUFDekIsWUFBb0IsWUFBMEIsRUFBVSxLQUFZO1FBQWhELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7OztJQUV4RSxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOztjQUV4QyxPQUFPLEdBQUcsbUJBQUEsRUFBRSxFQUFPOztjQUVuQixLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUU7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUNsRCxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQztTQUM5Qzs7Y0FFSyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDbkQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ25DO1FBRUQsT0FBTyxJQUFJO2FBQ1IsTUFBTSxDQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDWixVQUFVLEVBQUUsT0FBTztTQUNwQixDQUFDLENBQ0g7YUFDQSxJQUFJLENBQUMsUUFBUTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7O1lBMUJGLFVBQVU7Ozs7WUFORixZQUFZO1lBQ1osS0FBSzs7Ozs7OztJQU9BLHNDQUFrQzs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3IsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgTG9hZGVyU3RhcnQsIExvYWRlclN0b3AgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWRlci5hY3Rpb25zJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBpSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9BdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBMb2FkZXJTdGFydChyZXF1ZXN0KSk7XG5cbiAgICBjb25zdCBoZWFkZXJzID0ge30gYXMgYW55O1xuXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLm9BdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpO1xuICAgIGlmICghcmVxdWVzdC5oZWFkZXJzLmhhcygnQXV0aG9yaXphdGlvbicpICYmIHRva2VuKSB7XG4gICAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgICB9XG5cbiAgICBjb25zdCBsYW5nID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICAgIGlmICghcmVxdWVzdC5oZWFkZXJzLmhhcygnQWNjZXB0LUxhbmd1YWdlJykgJiYgbGFuZykge1xuICAgICAgaGVhZGVyc1snQWNjZXB0LUxhbmd1YWdlJ10gPSBsYW5nO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0XG4gICAgICAuaGFuZGxlKFxuICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBzZXRIZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IExvYWRlclN0b3AocmVxdWVzdCkpKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2ludGVyY2VwdG9ycy9hcGkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxNQUFNLE9BQU8sY0FBYzs7Ozs7SUFDekIsWUFBb0IsWUFBMEIsRUFBVSxLQUFZO1FBQWhELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7OztJQUV4RSxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOztjQUV4QyxPQUFPLEdBQUcsbUJBQUEsRUFBRSxFQUFPOztjQUVuQixLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUU7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUNsRCxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQztTQUM5Qzs7Y0FFSyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDbkQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ25DOztjQUVLLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLEVBQUU7WUFDOUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUk7YUFDUixNQUFNLENBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7WUEvQkYsVUFBVTs7OztZQU5GLFlBQVk7WUFDWixLQUFLOzs7Ozs7O0lBT0Esc0NBQWtDOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBTdGFydExvYWRlciwgU3RvcExvYWRlciB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZGVyLmFjdGlvbnMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFN0YXJ0TG9hZGVyKHJlcXVlc3QpKTtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSB7fSBhcyBhbnk7XG5cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBdXRob3JpemF0aW9uJykgJiYgdG9rZW4pIHtcbiAgICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICAgIH1cblxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSk7XG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBY2NlcHQtTGFuZ3VhZ2UnKSAmJiBsYW5nKSB7XG4gICAgICBoZWFkZXJzWydBY2NlcHQtTGFuZ3VhZ2UnXSA9IGxhbmc7XG4gICAgfVxuXG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0VGVuYW50KTtcbiAgICBpZiAoIXJlcXVlc3QuaGVhZGVycy5oYXMoJ19fdGVuYW50JykgJiYgdGVuYW50KSB7XG4gICAgICBoZWFkZXJzWydfX3RlbmFudCddID0gdGVuYW50LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0XG4gICAgICAuaGFuZGxlKFxuICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBzZXRIZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFN0b3BMb2FkZXIocmVxdWVzdCkpKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/models/common.js b/npm/ng-packs/dist/core/esm2015/lib/models/common.js index 5f4bc9a50a..b636460473 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/models/common.js +++ b/npm/ng-packs/dist/core/esm2015/lib/models/common.js @@ -62,6 +62,8 @@ export var ABP; Route.prototype.path; /** @type {?|undefined} */ Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; } /** * @record @@ -86,4 +88,4 @@ export var ABP; BasicItem.prototype.name; } })(ABP || (ABP = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxHQUFHLENBeUNuQjtBQXpDRCxXQUFpQixHQUFHOzs7O0lBQ2xCLG1CQUdDOzs7O1FBRkMsMkJBQXlDOztRQUN6Qyw0QkFBa0M7Ozs7OztJQU9wQyxpQ0FFQzs7OztRQURDLG1DQUFXOzs7OztJQUdiLDhCQUtDOzs7O1FBSkMsaUNBQWdCOztRQUNoQixrQ0FBaUI7O1FBQ2pCLG9DQUFtQjs7UUFDbkIseUNBQXdCOzs7OztJQUcxQixvQkFTQzs7OztRQVJDLHlCQUFtQjs7UUFDbkIsMEJBQW9COztRQUNwQix1QkFBcUI7O1FBQ3JCLHFCQUFhOztRQUNiLHNCQUFlOztRQUNmLDJCQUFvQjs7UUFDcEIscUJBQWE7O1FBQ2IsK0JBQXdCOzs7OztJQUcxQix3QkFHQzs7OztRQUZDLHdCQUFhOztRQUNiLDRCQUFrQjs7Ozs7SUFHcEIsd0JBR0M7Ozs7UUFGQyx1QkFBVzs7UUFDWCx5QkFBYTs7QUFFakIsQ0FBQyxFQXpDZ0IsR0FBRyxLQUFILEdBQUcsUUF5Q25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQUJQIHtcbiAgZXhwb3J0IGludGVyZmFjZSBSb290IHtcbiAgICBlbnZpcm9ubWVudDogUGFydGlhbDxDb25maWcuRW52aXJvbm1lbnQ+O1xuICAgIHJlcXVpcmVtZW50czogQ29uZmlnLlJlcXVpcmVtZW50cztcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIFBhZ2VkUmVzcG9uc2U8VD4gPSB7XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICB9ICYgUGFnZWRJdGVtc1Jlc3BvbnNlPFQ+O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFnZWRJdGVtc1Jlc3BvbnNlPFQ+IHtcbiAgICBpdGVtczogVFtdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYWdlUXVlcnlQYXJhbXMge1xuICAgIGZpbHRlcj86IHN0cmluZztcbiAgICBzb3J0aW5nPzogc3RyaW5nO1xuICAgIHNraXBDb3VudD86IG51bWJlcjtcbiAgICBtYXhSZXN1bHRDb3VudD86IG51bWJlcjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUm91dGUge1xuICAgIGNoaWxkcmVuPzogUm91dGVbXTtcbiAgICBpbnZpc2libGU/OiBib29sZWFuO1xuICAgIGxheW91dD86IGVMYXlvdXRUeXBlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBwYXJlbnROYW1lPzogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICByZXF1aXJlZFBvbGljeT86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVsbFJvdXRlIGV4dGVuZHMgUm91dGUge1xuICAgIHVybD86IHN0cmluZztcbiAgICB3cmFwcGVyPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQmFzaWNJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxHQUFHLENBMENuQjtBQTFDRCxXQUFpQixHQUFHOzs7O0lBQ2xCLG1CQUdDOzs7O1FBRkMsMkJBQXlDOztRQUN6Qyw0QkFBa0M7Ozs7OztJQU9wQyxpQ0FFQzs7OztRQURDLG1DQUFXOzs7OztJQUdiLDhCQUtDOzs7O1FBSkMsaUNBQWdCOztRQUNoQixrQ0FBaUI7O1FBQ2pCLG9DQUFtQjs7UUFDbkIseUNBQXdCOzs7OztJQUcxQixvQkFVQzs7OztRQVRDLHlCQUFtQjs7UUFDbkIsMEJBQW9COztRQUNwQix1QkFBcUI7O1FBQ3JCLHFCQUFhOztRQUNiLHNCQUFlOztRQUNmLDJCQUFvQjs7UUFDcEIscUJBQWE7O1FBQ2IsK0JBQXdCOztRQUN4QiwwQkFBbUI7Ozs7O0lBR3JCLHdCQUdDOzs7O1FBRkMsd0JBQWE7O1FBQ2IsNEJBQWtCOzs7OztJQUdwQix3QkFHQzs7OztRQUZDLHVCQUFXOztRQUNYLHlCQUFhOztBQUVqQixDQUFDLEVBMUNnQixHQUFHLEtBQUgsR0FBRyxRQTBDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IG5hbWVzcGFjZSBBQlAge1xuICBleHBvcnQgaW50ZXJmYWNlIFJvb3Qge1xuICAgIGVudmlyb25tZW50OiBQYXJ0aWFsPENvbmZpZy5FbnZpcm9ubWVudD47XG4gICAgcmVxdWlyZW1lbnRzOiBDb25maWcuUmVxdWlyZW1lbnRzO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUGFnZWRSZXNwb25zZTxUPiA9IHtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gIH0gJiBQYWdlZEl0ZW1zUmVzcG9uc2U8VD47XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYWdlZEl0ZW1zUmVzcG9uc2U8VD4ge1xuICAgIGl0ZW1zOiBUW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFBhZ2VRdWVyeVBhcmFtcyB7XG4gICAgZmlsdGVyPzogc3RyaW5nO1xuICAgIHNvcnRpbmc/OiBzdHJpbmc7XG4gICAgc2tpcENvdW50PzogbnVtYmVyO1xuICAgIG1heFJlc3VsdENvdW50PzogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSb3V0ZSB7XG4gICAgY2hpbGRyZW4/OiBSb3V0ZVtdO1xuICAgIGludmlzaWJsZT86IGJvb2xlYW47XG4gICAgbGF5b3V0PzogZUxheW91dFR5cGU7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHBhcmVudE5hbWU/OiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHJlcXVpcmVkUG9saWN5Pzogc3RyaW5nO1xuICAgIGljb25DbGFzcz86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVsbFJvdXRlIGV4dGVuZHMgUm91dGUge1xuICAgIHVybD86IHN0cmluZztcbiAgICB3cmFwcGVyPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQmFzaWNJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/models/config.js b/npm/ng-packs/dist/core/esm2015/lib/models/config.js index d79d225037..40d9fa406b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/models/config.js +++ b/npm/ng-packs/dist/core/esm2015/lib/models/config.js @@ -15,6 +15,8 @@ export var Config; function Environment() { } Config.Environment = Environment; if (false) { + /** @type {?} */ + Environment.prototype.application; /** @type {?} */ Environment.prototype.production; /** @type {?} */ @@ -22,6 +24,17 @@ export var Config; /** @type {?} */ Environment.prototype.apis; } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } /** * @record */ @@ -37,4 +50,4 @@ export var Config; Requirements.prototype.layouts; } })(Config || (Config = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxNQUFNLENBa0J0QjtBQWxCRCxXQUFpQixNQUFNOzs7O0lBQ3JCLG9CQUVDOzs7OztJQUVELDBCQUlDOzs7O1FBSEMsaUNBQW9COztRQUNwQixrQ0FBd0I7O1FBQ3hCLDJCQUFXOzs7OztJQUdiLG1CQUVDOzs7OztJQUVELDJCQUVDOzs7O1FBREMsK0JBQXFCOztBQUV6QixDQUFDLEVBbEJnQixNQUFNLEtBQU4sTUFBTSxRQWtCdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgICBvQXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgICBhcGlzOiBBcGlzO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBcGlzIHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlbWVudHMge1xuICAgIGxheW91dHM6IFR5cGU8YW55PltdO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxNQUFNLENBd0J0QjtBQXhCRCxXQUFpQixNQUFNOzs7O0lBQ3JCLG9CQUVDOzs7OztJQUVELDBCQUtDOzs7O1FBSkMsa0NBQXlCOztRQUN6QixpQ0FBb0I7O1FBQ3BCLGtDQUF3Qjs7UUFDeEIsMkJBQVc7Ozs7O0lBR2IsMEJBR0M7Ozs7UUFGQywyQkFBYTs7UUFDYiw4QkFBaUI7Ozs7O0lBR25CLG1CQUVDOzs7OztJQUVELDJCQUVDOzs7O1FBREMsK0JBQXFCOztBQUV6QixDQUFDLEVBeEJnQixNQUFNLEtBQU4sTUFBTSxRQXdCdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gICAgYXBwbGljYXRpb246IEFwcGxpY2F0aW9uO1xuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XG4gICAgb0F1dGhDb25maWc6IEF1dGhDb25maWc7XG4gICAgYXBpczogQXBpcztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBsb2dvVXJsPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBcGlzIHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlbWVudHMge1xuICAgIGxheW91dHM6IFR5cGU8YW55PltdO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/models/session.js b/npm/ng-packs/dist/core/esm2015/lib/models/session.js index 900196e920..7b819b5155 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/models/session.js +++ b/npm/ng-packs/dist/core/esm2015/lib/models/session.js @@ -12,6 +12,8 @@ export var Session; if (false) { /** @type {?} */ State.prototype.language; + /** @type {?} */ + State.prototype.tenant; } })(Session || (Session = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxLQUFXLE9BQU8sQ0FJdkI7QUFKRCxXQUFpQixPQUFPOzs7O0lBQ3RCLG9CQUVDOzs7O1FBREMseUJBQWlCOztBQUVyQixDQUFDLEVBSmdCLE9BQU8sS0FBUCxPQUFPLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBTZXNzaW9uIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLE9BQU8sQ0FLdkI7QUFMRCxXQUFpQixPQUFPOzs7O0lBQ3RCLG9CQUdDOzs7O1FBRkMseUJBQWlCOztRQUNqQix1QkFBc0I7O0FBRTFCLENBQUMsRUFMZ0IsT0FBTyxLQUFQLE9BQU8sUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIFNlc3Npb24ge1xuICBleHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgICBsYW5ndWFnZTogc3RyaW5nO1xuICAgIHRlbmFudDogQUJQLkJhc2ljSXRlbTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js index e44693e4d1..268f6e12d5 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js @@ -2,9 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Injectable, Inject, InjectionToken } from '@angular/core'; -import { setValue, actionMatcher, InitState, UpdateState } from '@ngxs/store'; +import { Inject, Injectable, InjectionToken } from '@angular/core'; import { Router } from '@angular/router'; +import { actionMatcher, InitState, setValue, UpdateState } from '@ngxs/store'; import snq from 'snq'; import { organizeRoutes } from '../utils/route-utils'; /** @type {?} */ @@ -105,7 +105,7 @@ function transformRoutes(routes = [], wrappers = []) { * @param {?} route * @return {?} */ - route => route.component || route.loadChildren)) + route => (route.data || {}).routes && (route.component || route.loadChildren))) .forEach((/** * @param {?} route * @return {?} @@ -116,7 +116,10 @@ function transformRoutes(routes = [], wrappers = []) { * @param {?} abp * @return {?} */ - abp => abp.path.toLowerCase() === route.path.toLowerCase())); + abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + () => route.data.routes.length), false))); const { length } = transformed; if (abpPackage) { transformed.push(abpPackage); @@ -160,4 +163,4 @@ function setUrls(routes, parentUrl) { children: setUrls(route.children, `/${route.path}`), }))))); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQWMsUUFBUSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUM1RyxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBNkIsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRWpGLE1BQU0sT0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQztBQUcxRixNQUFNLE9BQU8sWUFBWTs7Ozs7SUFHdkIsWUFBd0QsT0FBaUIsRUFBVSxNQUFjO1FBQXpDLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnpGLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRStELENBQUM7Ozs7Ozs7SUFFckcsTUFBTSxDQUFDLEtBQVUsRUFBRSxLQUFVLEVBQUUsSUFBc0I7O2NBQzdDLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDOztjQUM5QixZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFL0QsNkdBQTZHO1FBQzdHLElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDakMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlELE1BQU0sR0FBRyxjQUFjLENBQUMs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QVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQzlCLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7WUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoRSxDQUFDLEVBQ0osRUFBQyxDQUFDO0tBQ0w7SUFFRCxPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFDdEIsS0FBSyxJQUNSLEdBQUcsRUFBRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFDbEIsQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtRQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEQsQ0FBQyxFQUNKLEVBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBVcGRhdGVTdGF0ZSwgTmd4c05leHRQbHVnaW5GbiB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBzZXRDaGlsZFJvdXRlLCBzb3J0Um91dGVzLCBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUycpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnUGx1Z2luIGltcGxlbWVudHMgTmd4c1BsdWdpbiB7XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IEFCUC5Sb290LCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGFjdGlvbk1hdGNoZXIoZXZlbnQpO1xuICAgIGNvbnN0IGlzSW5pdEFjdGlvbiA9IG1hdGNoZXMoSW5pdFN0YXRlKSB8fCBtYXRjaGVzKFVwZGF0ZVN0YXRlKTtcblxuICAgIC8vIGNvbnN0IGxheW91dHMgPSBzbnEoKCkgPT4gdGhpcy5vcHRpb25zLnJlcXVpcmVtZW50cy5sYXlvdXRzLmZpbHRlcihsYXlvdXQgPT4gbGF5b3V0IGluc3RhbmNlb2YgVHlwZSksIFtdKTtcbiAgICBpZiAoaXNJbml0QWN0aW9uICYmICF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICBsZXQgeyByb3V0ZXMsIHdyYXBwZXJzIH0gPSB0cmFuc2Zvcm1Sb3V0ZXModGhpcy5yb3V0ZXIuY29uZmlnKTtcbiAgICAgIHJvdXRlcyA9IG9yZ2FuaXplUm91dGVzKHJvdXRlcywgd3JhcHBlcnMpO1xuXG4gICAgICBzdGF0ZSA9IHNldFZhbHVlKHN0YXRlLCAnQ29uZmlnU3RhdGUnLCB7XG4gICAgICAgIC4uLihzdGF0ZS5Db25maWdTdGF0ZSAmJiB7IC4uLnN0YXRlLkNvbmZpZ1N0YXRlIH0pLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgIHJvdXRlcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvdXRlcyhyb3V0ZXM6IFJvdXRlcyA9IFtdLCB3cmFwcGVyczogQUJQLkZ1bGxSb3V0ZVtdID0gW10pOiBhbnkge1xuICBjb25zdCBhYnBSb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IHJvdXRlc1xuICAgIC5maWx0ZXIocm91dGUgPT4ge1xuICAgICAgcmV0dXJuIHNucSgoKSA9PiByb3V0ZS5kYXRhLnJvdXRlcy5maW5kKHIgPT4gci5wYXRoID09PSByb3V0ZS5wYXRoKSwgZmFsc2UpO1xuICAgIH0pXG4gICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5kYXRhLnJvdXRlc10sIFtdKTtcblxuICB3cmFwcGVycyA9IGFicFJvdXRlcy5maWx0ZXIoYXIgPT4gYXIud3JhcHBlcik7XG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuICByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHJvdXRlLmNvbXBvbmVudCB8fCByb3V0ZS5sb2FkQ2hpbGRyZW4pXG4gICAgLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgY29uc3QgYWJwUGFja2FnZSA9IGFicFJvdXRlcy5maW5kKGFicCA9PiBhYnAucGF0aC50b0xvd2VyQ2FzZSgpID09PSByb3V0ZS5wYXRoLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgY29uc3QgeyBsZW5ndGggfSA9IHRyYW5zZm9ybWVkO1xuXG4gICAgICBpZiAoYWJwUGFja2FnZSkge1xuICAgICAgICB0cmFuc2Zvcm1lZC5wdXNoKGFicFBhY2thZ2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHJhbnNmb3JtZWQubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaCh7XG4gICAgICAgICAgcGF0aDogcm91dGUucGF0aCxcbiAgICAgICAgICBuYW1lOiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMubmFtZSwgcm91dGUucGF0aCksXG4gICAgICAgICAgY2hpbGRyZW46IHJvdXRlLmRhdGEucm91dGVzLmNoaWxkcmVuIHx8IFtdLFxuICAgICAgICB9IGFzIEFCUC5GdWxsUm91dGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiB7IHJvdXRlczogc2V0VXJscyh0cmFuc2Zvcm1lZCksIHdyYXBwZXJzIH07XG59XG5cbmZ1bmN0aW9uIHNldFVybHMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhcmVudFVybD86IHN0cmluZyk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGlmIChwYXJlbnRVcmwpIHtcbiAgICAvLyB0aGlzIGlmIGJsb2NrIHVzaW5nIGZvciBvbmx5IHJlY3Vyc2l2ZSBjYWxsXG5cbiAgICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgICAgLi4ucm91dGUsXG4gICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWAsXG4gICAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgICBjaGlsZHJlbjogc2V0VXJscyhyb3V0ZS5jaGlsZHJlbiwgYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9YCksXG4gICAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXMubWFwKHJvdXRlID0+ICh7XG4gICAgLi4ucm91dGUsXG4gICAgdXJsOiBgLyR7cm91dGUucGF0aH1gLFxuICAgIC4uLihyb3V0ZS5jaGlsZHJlbiAmJlxuICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAvJHtyb3V0ZS5wYXRofWApLFxuICAgICAgfSksXG4gIH0pKTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQWdDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUcsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFdEQsTUFBTSxPQUFPLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFDLDRCQUE0QixDQUFDO0FBRzFGLE1BQU0sT0FBTyxZQUFZOzs7OztJQUd2QixZQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyxNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjs7Y0FDN0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7O2NBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUUvRCw2R0FBNkc7UUFDN0csSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFMUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsYUFBYSxvQkFDaEMsQ0FBQyxLQUFLLENBQUMsV0FBVyxzQkFBUyxLQUFLLENBQUMsV0FBVyxDQUFFLENBQUMsRUFDL0MsSUFBSSxDQUFDLE9BQU8sSUFDZixNQUFNLElBQ04sQ0FBQztZQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OztZQXpCRixVQUFVOzs7OzRDQUlJLE1BQU0sU0FBQywwQkFBMEI7WUFadkMsTUFBTTs7Ozs7OztJQVViLG1DQUFxQzs7Ozs7SUFFekIsK0JBQTZEOzs7OztJQUFFLDhCQUFzQjs7Ozs7OztBQXdCbkcsU0FBUyxlQUFlLENBQUMsU0FBaUIsRUFBRSxFQUFFLFdBQTRCLEVBQUU7O1VBQ3BFLFNBQVMsR0FBb0IsTUFBTTtTQUN0QyxNQUFNOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUU7UUFDZCxPQUFPLEdBQUc7OztRQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksRUFBQyxHQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUMsRUFBQztTQUNELE1BQU07Ozs7O0lBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRSxFQUFFLENBQUM7SUFFekQsUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNOzs7O0lBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDLENBQUM7O1VBQ3hDLFdBQVcsR0FBRyxtQkFBQSxFQUFFLEVBQW1CO0lBQ3pDLE1BQU07U0FDSCxNQUFNOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUM7U0FDckYsT0FBTzs7OztJQUFDLEtBQUssQ0FBQyxFQUFFOztjQUNULFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSTs7OztRQUMvQixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUUsS0FBSyxDQUFDLEVBQ3pHO2NBQ0ssRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXO1FBRTlCLElBQUksVUFBVSxFQUFFO1lBQ2QsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDakMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBQTtnQkFDZixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxHQUFHOzs7Z0JBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ25ELFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRTthQUMzQyxFQUFpQixDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDLEVBQUMsQ0FBQztJQUVMLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3BELENBQUM7Ozs7OztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUM5QixDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsQ0FBQyxFQUNKLEVBQUMsQ0FBQztLQUNMO0lBRUQsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztJQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQ2xCLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7UUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMuZmluZChyID0+IHIucGF0aCA9PT0gcm91dGUucGF0aCksIGZhbHNlKTtcbiAgICB9KVxuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwuZGF0YS5yb3V0ZXNdLCBbXSk7XG5cbiAgd3JhcHBlcnMgPSBhYnBSb3V0ZXMuZmlsdGVyKGFyID0+IGFyLndyYXBwZXIpO1xuICBjb25zdCB0cmFuc2Zvcm1lZCA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXTtcbiAgcm91dGVzXG4gICAgLmZpbHRlcihyb3V0ZSA9PiAocm91dGUuZGF0YSB8fCB7fSkucm91dGVzICYmIChyb3V0ZS5jb21wb25lbnQgfHwgcm91dGUubG9hZENoaWxkcmVuKSlcbiAgICAuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBhYnBQYWNrYWdlID0gYWJwUm91dGVzLmZpbmQoXG4gICAgICAgIGFicCA9PiBhYnAucGF0aC50b0xvd2VyQ2FzZSgpID09PSByb3V0ZS5wYXRoLnRvTG93ZXJDYXNlKCkgJiYgc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js b/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js index 73ac0ccfc6..8465c71244 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js +++ b/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js @@ -39,16 +39,17 @@ export class ProfileService { } /** * @param {?} body + * @param {?=} throwErr * @return {?} */ - changePassword(body) { + changePassword(body, throwErr = false) { /** @type {?} */ const request = { method: 'POST', - url: '/api/identity/my-profile/changePassword', + url: '/api/identity/my-profile/change-password', body, }; - return this.rest.request(request); + return this.rest.request(request, { throwErr }); } } ProfileService.decorators = [ @@ -68,4 +69,4 @@ if (false) { */ ProfileService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sY0FBYzs7OztJQUN6QixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6QyxHQUFHOztjQUNLLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsSUFBc0I7O2NBQ3JCLE9BQU8sR0FBbUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1lBQy9CLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLElBQW1DOztjQUMxQyxPQUFPLEdBQWdEO1lBQzNELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHlDQUF5QztZQUM5QyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7WUFqQ0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVzs7Ozs7Ozs7SUFPTiw4QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2ZpbGUsIFJlc3QgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9teS1wcm9maWxlJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFByb2ZpbGUuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlKGJvZHk6IFByb2ZpbGUuUmVzcG9uc2UpOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8UHJvZmlsZS5SZXNwb25zZT4gPSB7XG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9teS1wcm9maWxlJyxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxQcm9maWxlLlJlc3BvbnNlLCBQcm9maWxlLlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGNoYW5nZVBhc3N3b3JkKGJvZHk6IFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9teS1wcm9maWxlL2NoYW5nZVBhc3N3b3JkJyxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sY0FBYzs7OztJQUN6QixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6QyxHQUFHOztjQUNLLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsSUFBc0I7O2NBQ3JCLE9BQU8sR0FBbUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1lBQy9CLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Ozs7OztJQUVELGNBQWMsQ0FBQyxJQUFtQyxFQUFFLFdBQW9CLEtBQUs7O2NBQ3JFLE9BQU8sR0FBZ0Q7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsMENBQTBDO1lBQy9DLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXNDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7O1lBakNGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUxRLFdBQVc7Ozs7Ozs7O0lBT04sOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlLCBSZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBQcm9maWxlLlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZShib2R5OiBQcm9maWxlLlJlc3BvbnNlKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2U+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5SZXNwb25zZSwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChib2R5OiBQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdCwgdGhyb3dFcnI6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZS9jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0LCBudWxsPihyZXF1ZXN0LCB7IHRocm93RXJyIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js index 6c72fb2e31..13a8d7d106 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js @@ -5,11 +5,11 @@ var ConfigState_1; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { State, Selector, createSelector, Action, Store } from '@ngxs/store'; -import { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; +import { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; import { ApplicationConfigurationService } from '../services/application-configuration.service'; import { tap, switchMap } from 'rxjs/operators'; import snq from 'snq'; -import { SessionSetLanguage } from '../actions'; +import { SetLanguage } from '../actions'; import { SessionState } from './session.state'; import { of } from 'rxjs'; import { organizeRoutes } from '../utils/route-utils'; @@ -29,6 +29,13 @@ let ConfigState = ConfigState_1 = class ConfigState { static getAll(state) { return state; } + /** + * @param {?} state + * @return {?} + */ + static getApplicationInfo(state) { + return state.environment.application || {}; + } /** * @param {?} key * @return {?} @@ -172,6 +179,8 @@ let ConfigState = ConfigState_1 = class ConfigState { * @return {?} */ function (state) { + if (!state.localization) + return key; const { defaultResourceName } = state.environment.localization; if (keys[0] === '') { if (!defaultResourceName) { @@ -200,14 +209,18 @@ let ConfigState = ConfigState_1 = class ConfigState { } return undefined; }), state.localization.values); + interpolateParams = interpolateParams.filter((/** + * @param {?} params + * @return {?} + */ + params => params != null)); if (copy && interpolateParams && interpolateParams.length) { interpolateParams.forEach((/** * @param {?} param - * @param {?} index * @return {?} */ - (param, index) => { - copy = copy.replace(`'{${index}}'`, param); + param => { + copy = copy.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param); })); } return copy || key; @@ -229,7 +242,7 @@ let ConfigState = ConfigState_1 = class ConfigState { */ configuration => this.store.selectSnapshot(SessionState.getLanguage) ? of(null) - : dispatch(new SessionSetLanguage(snq((/** + : dispatch(new SetLanguage(snq((/** * @return {?} */ () => configuration.setting.values['Abp.Localization.DefaultLanguage']))))))); @@ -255,7 +268,7 @@ let ConfigState = ConfigState_1 = class ConfigState { } }; tslib_1.__decorate([ - Action(ConfigGetAppConfiguration), + Action(GetAppConfiguration), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) @@ -272,6 +285,12 @@ tslib_1.__decorate([ tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], ConfigState, "getAll", null); +tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", void 0) +], ConfigState, "getApplicationInfo", null); ConfigState = ConfigState_1 = tslib_1.__decorate([ State({ name: 'ConfigState', @@ -329,4 +348,4 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { } return organizeRoutes(routes); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQTZCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0lBTXBFLFdBQVcseUJBQVgsV0FBVzs7Ozs7SUEwSXRCLFlBQW9CLHVCQUF3RCxFQUFVLEtBQVk7UUFBOUUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7OztJQXhJdEcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFtQjtRQUMvQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXOztjQUNqQixRQUFRLEdBQUcsY0FBYyxDQUM3QixDQUFDLGFBQVcsQ0FBQzs7OztRQUNiLFVBQVMsS0FBbUI7WUFDMUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENB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QUssQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEc7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWcsIEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdHZXRBcHBDb25maWd1cmF0aW9uLCBQYXRjaFJvdXRlQnlOYW1lIH0gZnJvbSAnLi4vYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgU2Vzc2lvblNldExhbmd1YWdlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNldENoaWxkUm91dGUsIHNvcnRSb3V0ZXMsIG9yZ2FuaXplUm91dGVzIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuXG5AU3RhdGU8Q29uZmlnLlN0YXRlPih7XG4gIG5hbWU6ICdDb25maWdTdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBDb25maWcuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1N0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFsbChzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgc3RhdGljIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGVba2V5XTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBrZXlzID09PSAnc3RyaW5nJykge1xuICAgICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIChrZXlzIGFzIHN0cmluZ1tdKS5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHN0YXRlKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBcGlVcmwoa2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50LmFwaXNba2V5IHx8ICdkZWZhdWx0J10udXJsO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldFNldHRpbmcoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHNucSgoKSA9PiBzdGF0ZS5zZXR0aW5nLnZhbHVlc1trZXldKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRHcmFudGVkUG9saWN5KGNvbmRpdGlvbjogc3RyaW5nID0gJycpIHtcbiAgICBjb25zdCBrZXlzID0gY29uZGl0aW9uXG4gICAgICAucmVwbGFjZSgvXFwofFxcKXxcXCF8XFxzL2csICcnKVxuICAgICAgLnNwbGl0KC9cXHxcXHx8JiYvKVxuICAgICAgLmZpbHRlcihrZXkgPT4ga2V5KTtcblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWtleXMubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjb25zdCBnZXRQb2xpY3kgPSBrZXkgPT4gc25xKCgpID0+IHN0YXRlLmF1dGguZ3JhbnRlZFBvbGljaWVzW2tleV0sIGZhbHNlKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRQb2xpY3koa2V5KTtcbiAgICAgICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbi5yZXBsYWNlKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ldmFsXG4gICAgICAgICAgcmV0dXJuIGV2YWwoYCEhJHtjb25kaXRpb259YCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0UG9saWN5KGNvbmRpdGlvbik7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29weShrZXk6IHN0cmluZywgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCFrZXkpIGtleSA9ICcnO1xuXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnOjonKSBhcyBzdHJpbmdbXTtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0UmVzb3VyY2VOYW1lIH0gPSBzdGF0ZS5lbnZpcm9ubWVudC5sb2NhbGl6YXRpb247XG4gICAgICAgIGlmIChrZXlzWzBdID09PSAnJykge1xuICAgICAgICAgIGlmICghZGVmYXVsdFJlc291cmNlTmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgUGxlYXNlIGNoZWNrIHlvdXIgZW52aXJvbm1lbnQuIE1heSB5b3UgZm9yZ2V0IHNldCBkZWZhdWx0UmVzb3VyY2VOYW1lPyBcbiAgICAgICAgICAgICAgSGVyZSBpcyB0aGUgZXhhbXBsZTpcbiAgICAgICAgICAgICAgIHsgcHJvZHVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbjoge1xuICAgICAgICAgICAgICAgICAgIGRlZmF1bHRSZXNvdXJjZU5hbWU6ICdNeVByb2plY3ROYW1lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGtleXNbMF0gPSBzbnEoKCkgPT4gZGVmYXVsdFJlc291cmNlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29weSA9IGtleXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZS5sb2NhbGl6YXRpb24udmFsdWVzKTtcblxuICAgICAgICBpZiAoY29weSAmJiBpbnRlcnBvbGF0ZVBhcmFtcyAmJiBpbnRlcnBvbGF0ZVBhcmFtcy5sZW5ndGgpIHtcbiAgICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtcy5mb3JFYWNoKChwYXJhbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvcHkgPSBjb3B5LnJlcGxhY2UoYCd7JHtpbmRleH19J2AsIHBhcmFtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3B5IHx8IGtleTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlndXJhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIEBBY3Rpb24oQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSlcbiAgICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgICAgOiBkaXNwYXRjaChcbiAgICAgICAgICAgICAgbmV3IFNlc3Npb25TZXRMYW5ndWFnZShzbnEoKCkgPT4gY29uZmlndXJhdGlvbi5zZXR0aW5nLnZhbHVlc1snQWJwLkxvY2FsaXphdGlvbi5EZWZhdWx0TGFuZ3VhZ2UnXSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oUGF0Y2hSb3V0ZUJ5TmFtZSlcbiAgcGF0Y2hSb3V0ZSh7IHBhdGNoU3RhdGUsIGdldFN0YXRlIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+LCB7IG5hbWUsIG5ld1ZhbHVlIH06IFBhdGNoUm91dGVCeU5hbWUpIHtcbiAgICBsZXQgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSBnZXRTdGF0ZSgpLnJvdXRlcztcblxuICAgIGNvbnN0IGluZGV4ID0gcm91dGVzLmZpbmRJbmRleChyb3V0ZSA9PiByb3V0ZS5uYW1lID09PSBuYW1lKTtcblxuICAgIHJvdXRlcyA9IHBhdGNoUm91dGVEZWVwKHJvdXRlcywgbmFtZSwgbmV3VmFsdWUpO1xuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgcm91dGVzLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUm91dGVEZWVwKFxuICByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSxcbiAgbmFtZTogc3RyaW5nLFxuICBuZXdWYWx1ZTogUGFydGlhbDxBQlAuRnVsbFJvdXRlPixcbiAgcGFyZW50VXJsOiBzdHJpbmcgPSBudWxsLFxuKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgcm91dGVzID0gcm91dGVzLm1hcChyb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZS5wYXRoKSB7XG4gICAgICAgIG5ld1ZhbHVlLnVybCA9IGAke3BhcmVudFVybH0vJHtuZXdWYWx1ZS5wYXRofWA7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdWYWx1ZS5jaGlsZHJlbiAmJiBuZXdWYWx1ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgbmV3VmFsdWUuY2hpbGRyZW4gPSBuZXdWYWx1ZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gKHtcbiAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofS8ke2NoaWxkLnBhdGh9YCxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyAuLi5yb3V0ZSwgLi4ubmV3VmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcm91dGUuY2hpbGRyZW4gPSBwYXRjaFJvdXRlRGVlcChyb3V0ZS5jaGlsZHJlbiwgbmFtZSwgbmV3VmFsdWUsIChwYXJlbnRVcmwgfHwgJy8nKSArIHJvdXRlLnBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZTtcbiAgfSk7XG5cbiAgaWYgKHBhcmVudFVybCkge1xuICAgIC8vIHJlY3Vyc2l2ZSBibG9ja1xuICAgIHJldHVybiByb3V0ZXM7XG4gIH1cblxuICByZXR1cm4gb3JnYW5pemVSb3V0ZXMocm91dGVzKTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUE2QixjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztJQU1wRSxXQUFXLHlCQUFYLFdBQVc7Ozs7O0lBa0p0QixZQUFvQix1QkFBd0QsRUFBVSxLQUFZO1FBQTlFLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBaUM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFoSnRHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVzs7Y0FDakIsUUFBUSxHQUFHLGNBQWMsQ0FDN0IsQ0FBQyxhQUFXLENBQUM7Ozs7UUFDYixVQUFTLEtBQW1CO1lBQzFCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsRUFDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUF1QjtRQUNwQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTs7Y0FFSyxRQUFRLEdBQUcsY0FBYyxDQUM3QixDQUFDLGFBQVcsQ0FBQzs7OztRQUNiLFVBQVMsS0FBbUI7WUFDMUIsT0FBTyxDQUFDLG1CQUFBLElBQUksRUFBWSxDQUFDLENBQUMsTUFBTTs7Ozs7WUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2pCO2dCQUVELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsR0FBRSxLQUFLLENBQUMsQ0FBQztRQUNaLENBQUMsRUFDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFZOztjQUNyQixRQUFRLEdBQUcsY0FBYyxDQUM3QixDQUFDLGFBQVcsQ0FBQzs7OztRQUNiLFVBQVMsS0FBbUI7WUFDMUIsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3RELENBQUMsRUFDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFXOztjQUNyQixRQUFRLEdBQUcsY0FBYyxDQUM3QixDQUFDLGFBQVcsQ0FBQzs7OztRQUNiLFVBQVMsS0FBbUI7WUFDMUIsT0FBTyxHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1FBQzlDLENBQUMsRUFDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CLEVBQUU7O2NBQ3RDLElBQUksR0FBRyxTQUFTO2FBQ25CLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2FBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDaEIsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFDOztjQUVmLFFBQVEsR0FBRyxjQUFjLENBQzdCLENBQUMsYUFBVyxDQUFDOzs7O1FBQ2IsVUFBUyxLQUFtQjtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUM7O2tCQUV4QixTQUFTOzs7O1lBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRSxLQUFLLENBQUMsQ0FBQTtZQUMxRSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsT0FBTzs7OztnQkFBQyxHQUFHLENBQUMsRUFBRTs7MEJBQ1gsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7b0JBQzVCLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxFQUFDLENBQUM7Z0JBRUgsb0NBQW9DO2dCQUNwQyxPQUFPLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDL0I7WUFFRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7Ozs7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVcsRUFBRSxHQUFHLGlCQUEyQjtRQUN4RCxJQUFJLENBQUMsR0FBRztZQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7O2NBRWIsSUFBSSxHQUFHLG1CQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQVk7O2NBQ2xDLFFBQVEsR0FBRyxjQUFjLENBQzdCLENBQUMsYUFBVyxDQUFDOzs7O1FBQ2IsVUFBUyxLQUFtQjtZQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQUUsT0FBTyxHQUFHLENBQUM7a0JBRTlCLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVk7WUFDOUQsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQ2I7Ozs7OztpQkFNRyxDQUNKLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBQyxDQUFDO2FBQzFDOztnQkFFRyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU07Ozs7O1lBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksR0FBRyxFQUFFO29CQUNQLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQjtnQkFFRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLEdBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFFN0IsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsTUFBTTs7OztZQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksRUFBQyxDQUFDO1lBQ3ZFLElBQUksSUFBSSxJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtnQkFDekQsaUJBQWlCLENBQUMsT0FBTzs7OztnQkFBQyxLQUFLLENBQUMsRUFBRTtvQkFDaEMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELENBQUMsRUFBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLElBQUksSUFBSSxHQUFHLENBQUM7UUFDckIsQ0FBQyxFQUNGO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7Ozs7SUFLRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUE4QjtRQUMxRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FDekQsR0FBRzs7OztRQUFDLGFBQWEsQ0FBQyxFQUFFLENBQ2xCLFVBQVUsbUJBQ0wsYUFBYSxFQUNoQixFQUNILEVBQ0QsU0FBUzs7OztRQUFDLGFBQWEsQ0FBQyxFQUFFLENBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDakQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDVixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUc7OztZQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQzNHLENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQThCLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFvQjs7WUFDL0YsTUFBTSxHQUFvQixRQUFRLEVBQUUsQ0FBQyxNQUFNOztjQUV6QyxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFDO1FBRTVELE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVoRCxPQUFPLFVBQVUsQ0FBQztZQUNoQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUEzQkM7SUFEQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7Ozs7MENBYzNCO0FBR0Q7SUFEQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7O3FEQUM0RCxnQkFBZ0I7OzZDQVVwRztBQTdLRDtJQURDLFFBQVEsRUFBRTs7OzsrQkFHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzs7OzJDQUdWO0FBVFUsV0FBVztJQUp2QixLQUFLLENBQWU7UUFDbkIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsRUFBZ0I7S0FDN0IsQ0FBQzs2Q0FtSjZDLCtCQUErQixFQUFpQixLQUFLO0dBbEp2RixXQUFXLENBZ0x2QjtTQWhMWSxXQUFXOzs7Ozs7SUFrSlYsOENBQWdFOzs7OztJQUFFLDRCQUFvQjs7Ozs7Ozs7O0FBZ0NwRyxTQUFTLGNBQWMsQ0FDckIsTUFBdUIsRUFDdkIsSUFBWSxFQUNaLFFBQWdDLEVBQ2hDLFlBQW9CLElBQUk7SUFFeEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUN2QixJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pCLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2hEO1lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNqRCxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRzs7OztnQkFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUM5QyxLQUFLLElBQ1IsR0FBRyxFQUFFLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUMvQyxFQUFDLENBQUM7YUFDTDtZQUVELHlCQUFZLEtBQUssRUFBSyxRQUFRLEVBQUc7U0FDbEM7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsS0FBSyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsRUFBRTtRQUNiLGtCQUFrQjtRQUNsQixPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZywgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIFBhdGNoUm91dGVCeU5hbWUgfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBTZXRMYW5ndWFnZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZXRDaGlsZFJvdXRlLCBzb3J0Um91dGVzLCBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuQFN0YXRlPENvbmZpZy5TdGF0ZT4oe1xuICBuYW1lOiAnQ29uZmlnU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgQ29uZmlnLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBbGwoc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBcHBsaWNhdGlvbkluZm8oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbiB8fCB7fTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlW2tleV07XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVlcChrZXlzOiBzdHJpbmdbXSB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGtleXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhcmd1bWVudCBtdXN0IGJlIGEgZG90IHN0cmluZyBvciBhbiBzdHJpbmcgYXJyYXkuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXBpVXJsKGtleT86IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcGlzW2tleSB8fCAnZGVmYXVsdCddLnVybDtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXR0aW5nKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzbnEoKCkgPT4gc3RhdGUuc2V0dGluZy52YWx1ZXNba2V5XSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0R3JhbnRlZFBvbGljeShjb25kaXRpb246IHN0cmluZyA9ICcnKSB7XG4gICAgY29uc3Qga2V5cyA9IGNvbmRpdGlvblxuICAgICAgLnJlcGxhY2UoL1xcKHxcXCl8XFwhfFxccy9nLCAnJylcbiAgICAgIC5zcGxpdCgvXFx8XFx8fCYmLylcbiAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSk7XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFrZXlzLmxlbmd0aCkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgY29uc3QgZ2V0UG9saWN5ID0ga2V5ID0+IHNucSgoKSA9PiBzdGF0ZS5hdXRoLmdyYW50ZWRQb2xpY2llc1trZXldLCBmYWxzZSk7XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0UG9saWN5KGtleSk7XG4gICAgICAgICAgICBjb25kaXRpb24gPSBjb25kaXRpb24ucmVwbGFjZShrZXksIHZhbHVlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZXZhbFxuICAgICAgICAgIHJldHVybiBldmFsKGAhISR7Y29uZGl0aW9ufWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldFBvbGljeShjb25kaXRpb24pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldENvcHkoa2V5OiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIGlmICgha2V5KSBrZXkgPSAnJztcblxuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJzo6JykgYXMgc3RyaW5nW107XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIGlmICghc3RhdGUubG9jYWxpemF0aW9uKSByZXR1cm4ga2V5O1xuXG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdFJlc291cmNlTmFtZSB9ID0gc3RhdGUuZW52aXJvbm1lbnQubG9jYWxpemF0aW9uO1xuICAgICAgICBpZiAoa2V5c1swXSA9PT0gJycpIHtcbiAgICAgICAgICBpZiAoIWRlZmF1bHRSZXNvdXJjZU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFBsZWFzZSBjaGVjayB5b3VyIGVudmlyb25tZW50LiBNYXkgeW91IGZvcmdldCBzZXQgZGVmYXVsdFJlc291cmNlTmFtZT8gXG4gICAgICAgICAgICAgIEhlcmUgaXMgdGhlIGV4YW1wbGU6XG4gICAgICAgICAgICAgICB7IHByb2R1Y3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb246IHtcbiAgICAgICAgICAgICAgICAgICBkZWZhdWx0UmVzb3VyY2VOYW1lOiAnTXlQcm9qZWN0TmFtZSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBrZXlzWzBdID0gc25xKCgpID0+IGRlZmF1bHRSZXNvdXJjZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNvcHkgPSBrZXlzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlcyk7XG5cbiAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgICAgICAgaWYgKGNvcHkgJiYgaW50ZXJwb2xhdGVQYXJhbXMgJiYgaW50ZXJwb2xhdGVQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb3B5ID0gY29weS5yZXBsYWNlKC9bXFwnXFxcIl0/XFx7W1xcZF0rXFx9W1xcJ1xcXCJdPy8sIHBhcmFtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3B5IHx8IGtleTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlndXJhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIEBBY3Rpb24oR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSlcbiAgICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgICAgOiBkaXNwYXRjaChuZXcgU2V0TGFuZ3VhZ2Uoc25xKCgpID0+IGNvbmZpZ3VyYXRpb24uc2V0dGluZy52YWx1ZXNbJ0FicC5Mb2NhbGl6YXRpb24uRGVmYXVsdExhbmd1YWdlJ10pKSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFBhdGNoUm91dGVCeU5hbWUpXG4gIHBhdGNoUm91dGUoeyBwYXRjaFN0YXRlLCBnZXRTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPiwgeyBuYW1lLCBuZXdWYWx1ZSB9OiBQYXRjaFJvdXRlQnlOYW1lKSB7XG4gICAgbGV0IHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdID0gZ2V0U3RhdGUoKS5yb3V0ZXM7XG5cbiAgICBjb25zdCBpbmRleCA9IHJvdXRlcy5maW5kSW5kZXgocm91dGUgPT4gcm91dGUubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByb3V0ZXMgPSBwYXRjaFJvdXRlRGVlcChyb3V0ZXMsIG5hbWUsIG5ld1ZhbHVlKTtcblxuICAgIHJldHVybiBwYXRjaFN0YXRlKHtcbiAgICAgIHJvdXRlcyxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXRjaFJvdXRlRGVlcChcbiAgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10sXG4gIG5hbWU6IHN0cmluZyxcbiAgbmV3VmFsdWU6IFBhcnRpYWw8QUJQLkZ1bGxSb3V0ZT4sXG4gIHBhcmVudFVybDogc3RyaW5nID0gbnVsbCxcbik6IEFCUC5GdWxsUm91dGVbXSB7XG4gIHJvdXRlcyA9IHJvdXRlcy5tYXAocm91dGUgPT4ge1xuICAgIGlmIChyb3V0ZS5uYW1lID09PSBuYW1lKSB7XG4gICAgICBpZiAobmV3VmFsdWUucGF0aCkge1xuICAgICAgICBuZXdWYWx1ZS51cmwgPSBgJHtwYXJlbnRVcmx9LyR7bmV3VmFsdWUucGF0aH1gO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUuY2hpbGRyZW4gJiYgbmV3VmFsdWUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIG5ld1ZhbHVlLmNoaWxkcmVuID0gbmV3VmFsdWUuY2hpbGRyZW4ubWFwKGNoaWxkID0+ICh7XG4gICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH0vJHtjaGlsZC5wYXRofWAsXG4gICAgICAgIH0pKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4ucm91dGUsIC4uLm5ld1ZhbHVlIH07XG4gICAgfSBlbHNlIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHJvdXRlLmNoaWxkcmVuID0gcGF0Y2hSb3V0ZURlZXAocm91dGUuY2hpbGRyZW4sIG5hbWUsIG5ld1ZhbHVlLCAocGFyZW50VXJsIHx8ICcvJykgKyByb3V0ZS5wYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGU7XG4gIH0pO1xuXG4gIGlmIChwYXJlbnRVcmwpIHtcbiAgICAvLyByZWN1cnNpdmUgYmxvY2tcbiAgICByZXR1cm4gcm91dGVzO1xuICB9XG5cbiAgcmV0dXJuIG9yZ2FuaXplUm91dGVzKHJvdXRlcyk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/profile.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/profile.state.js index 9ee53298a7..8fe298dbc9 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/profile.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/profile.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions'; +import { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions'; import { ProfileService } from '../services/profile.service'; import { tap } from 'rxjs/operators'; let ProfileState = class ProfileState { @@ -54,25 +54,25 @@ let ProfileState = class ProfileState { * @return {?} */ changePassword(_, { payload }) { - return this.profileService.changePassword(payload); + return this.profileService.changePassword(payload, true); } }; tslib_1.__decorate([ - Action(ProfileGet), + Action(GetProfile), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "profileGet", null); tslib_1.__decorate([ - Action(ProfileUpdate), + Action(UpdateProfile), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, ProfileUpdate]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateProfile]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "profileUpdate", null); tslib_1.__decorate([ - Action(ProfileChangePassword), + Action(ChangePassword), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, ProfileChangePassword]), + tslib_1.__metadata("design:paramtypes", [Object, ChangePassword]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "changePassword", null); tslib_1.__decorate([ @@ -96,4 +96,4 @@ if (false) { */ ProfileState.prototype.profileService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0lBTXhCLFlBQVksU0FBWixZQUFZOzs7O0lBTXZCLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7Ozs7O0lBSnRELE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQzFDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBS0QsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUErQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNuQyxHQUFHOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDWixVQUFVLENBQUM7WUFDVCxPQUFPO1NBQ1IsQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBK0IsRUFBRSxFQUFFLE9BQU8sRUFBaUI7UUFDbkYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzdDLEdBQUc7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUNaLFVBQVUsQ0FBQztZQUNULE9BQU87U0FDUixDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBeUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YsQ0FBQTtBQXpCQztJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7Ozs7OENBU2xCO0FBR0Q7SUFEQyxNQUFNLENBQUMsYUFBYSxDQUFDOztxREFDa0QsYUFBYTs7aURBUXBGO0FBR0Q7SUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUM7O3FEQUNDLHFCQUFxQjs7a0RBRW5EO0FBL0JEO0lBREMsUUFBUSxFQUFFOzs7O29DQUdWO0FBSlUsWUFBWTtJQUp4QixLQUFLLENBQWdCO1FBQ3BCLElBQUksRUFBRSxjQUFjO1FBQ3BCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEVBQWlCO0tBQzlCLENBQUM7NkNBT29DLGNBQWM7R0FOdkMsWUFBWSxDQWtDeEI7U0FsQ1ksWUFBWTs7Ozs7O0lBTVgsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFByb2ZpbGVHZXQsIFByb2ZpbGVDaGFuZ2VQYXNzd29yZCwgUHJvZmlsZVVwZGF0ZSB9IGZyb20gJy4uL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zJztcbmltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuLi9tb2RlbHMvcHJvZmlsZSc7XG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBTdGF0ZTxQcm9maWxlLlN0YXRlPih7XG4gIG5hbWU6ICdQcm9maWxlU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgUHJvZmlsZS5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFByb2ZpbGUoeyBwcm9maWxlIH06IFByb2ZpbGUuU3RhdGUpOiBQcm9maWxlLlJlc3BvbnNlIHtcbiAgICByZXR1cm4gcHJvZmlsZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oUHJvZmlsZUdldClcbiAgcHJvZmlsZUdldCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFByb2ZpbGUuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIHRhcChwcm9maWxlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHByb2ZpbGUsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihQcm9maWxlVXBkYXRlKVxuICBwcm9maWxlVXBkYXRlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8UHJvZmlsZS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBQcm9maWxlVXBkYXRlKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocHJvZmlsZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBwcm9maWxlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oUHJvZmlsZUNoYW5nZVBhc3N3b3JkKVxuICBjaGFuZ2VQYXNzd29yZChfLCB7IHBheWxvYWQgfTogUHJvZmlsZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuY2hhbmdlUGFzc3dvcmQocGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztJQU14QixZQUFZLFNBQVosWUFBWTs7OztJQU12QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDOzs7OztJQUp0RCxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFpQjtRQUMxQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs7OztJQUtELFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBK0I7UUFDcEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkMsR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ1osVUFBVSxDQUFDO1lBQ1QsT0FBTztTQUNSLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxhQUFhLENBQUMsRUFBRSxVQUFVLEVBQStCLEVBQUUsRUFBRSxPQUFPLEVBQWlCO1FBQ25GLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3QyxHQUFHOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDWixVQUFVLENBQUM7WUFDVCxPQUFPO1NBQ1IsQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELGNBQWMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRixDQUFBO0FBekJDO0lBREMsTUFBTSxDQUFDLFVBQVUsQ0FBQzs7Ozs4Q0FTbEI7QUFHRDtJQURDLE1BQU0sQ0FBQyxhQUFhLENBQUM7O3FEQUNrRCxhQUFhOztpREFRcEY7QUFHRDtJQURDLE1BQU0sQ0FBQyxjQUFjLENBQUM7O3FEQUNRLGNBQWM7O2tEQUU1QztBQS9CRDtJQURDLFFBQVEsRUFBRTs7OztvQ0FHVjtBQUpVLFlBQVk7SUFKeEIsS0FBSyxDQUFnQjtRQUNwQixJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtLQUM5QixDQUFDOzZDQU9vQyxjQUFjO0dBTnZDLFlBQVksQ0FrQ3hCO1NBbENZLFlBQVk7Ozs7OztJQU1YLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU2VsZWN0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBHZXRQcm9maWxlLCBDaGFuZ2VQYXNzd29yZCwgVXBkYXRlUHJvZmlsZSB9IGZyb20gJy4uL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zJztcbmltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuLi9tb2RlbHMvcHJvZmlsZSc7XG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBTdGF0ZTxQcm9maWxlLlN0YXRlPih7XG4gIG5hbWU6ICdQcm9maWxlU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgUHJvZmlsZS5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFByb2ZpbGUoeyBwcm9maWxlIH06IFByb2ZpbGUuU3RhdGUpOiBQcm9maWxlLlJlc3BvbnNlIHtcbiAgICByZXR1cm4gcHJvZmlsZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oR2V0UHJvZmlsZSlcbiAgcHJvZmlsZUdldCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFByb2ZpbGUuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIHRhcChwcm9maWxlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHByb2ZpbGUsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVQcm9maWxlKVxuICBwcm9maWxlVXBkYXRlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8UHJvZmlsZS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBVcGRhdGVQcm9maWxlKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocHJvZmlsZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBwcm9maWxlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oQ2hhbmdlUGFzc3dvcmQpXG4gIGNoYW5nZVBhc3N3b3JkKF8sIHsgcGF5bG9hZCB9OiBDaGFuZ2VQYXNzd29yZCkge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmNoYW5nZVBhc3N3b3JkKHBheWxvYWQsIHRydWUpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js index acfb6e5af7..7fa7359f8d 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js @@ -3,8 +3,8 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { State, Action, Selector } from '@ngxs/store'; -import { SessionSetLanguage } from '../actions/session.actions'; +import { Action, Selector, State } from '@ngxs/store'; +import { SetLanguage, SetTenant } from '../actions/session.actions'; let SessionState = class SessionState { constructor() { } /** @@ -14,29 +14,58 @@ let SessionState = class SessionState { static getLanguage({ language }) { return language; } + /** + * @param {?} __0 + * @return {?} + */ + static getTenant({ tenant }) { + return tenant; + } /** * @param {?} __0 * @param {?} __1 * @return {?} */ - sessionSetLanguage({ patchState }, { payload }) { + setLanguage({ patchState }, { payload }) { patchState({ language: payload, }); } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + setTenantId({ patchState }, { payload }) { + patchState({ + tenant: payload, + }); + } }; tslib_1.__decorate([ - Action(SessionSetLanguage), + Action(SetLanguage), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, SetLanguage]), + tslib_1.__metadata("design:returntype", void 0) +], SessionState.prototype, "setLanguage", null); +tslib_1.__decorate([ + Action(SetTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, SessionSetLanguage]), + tslib_1.__metadata("design:paramtypes", [Object, SetTenant]), tslib_1.__metadata("design:returntype", void 0) -], SessionState.prototype, "sessionSetLanguage", null); +], SessionState.prototype, "setTenantId", null); tslib_1.__decorate([ Selector(), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", String) ], SessionState, "getLanguage", null); +tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", Object) +], SessionState, "getTenant", null); SessionState = tslib_1.__decorate([ State({ name: 'SessionState', @@ -45,4 +74,4 @@ SessionState = tslib_1.__decorate([ tslib_1.__metadata("design:paramtypes", []) ], SessionState); export { SessionState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7SUFPbkQsWUFBWSxTQUFaLFlBQVk7SUFNdkIsZ0JBQWUsQ0FBQzs7Ozs7SUFKaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBaUI7UUFDNUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7Ozs7O0lBS0Qsa0JBQWtCLENBQUMsRUFBRSxVQUFVLEVBQStCLEVBQUUsRUFBRSxPQUFPLEVBQXNCO1FBQzdGLFVBQVUsQ0FBQztZQUNULFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBTEM7SUFEQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7O3FEQUNrRCxrQkFBa0I7O3NEQUk5RjtBQVhEO0lBREMsUUFBUSxFQUFFOzs7O3FDQUdWO0FBSlUsWUFBWTtJQUp4QixLQUFLLENBQWdCO1FBQ3BCLElBQUksRUFBRSxjQUFjO1FBQ3BCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEVBQWlCO0tBQzlCLENBQUM7O0dBQ1csWUFBWSxDQWN4QjtTQWRZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgQWN0aW9uLCBTdGF0ZUNvbnRleHQsIFNlbGVjdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgU2Vzc2lvblNldExhbmd1YWdlIH0gZnJvbSAnLi4vYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uJztcblxuQFN0YXRlPFNlc3Npb24uU3RhdGU+KHtcbiAgbmFtZTogJ1Nlc3Npb25TdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBTZXNzaW9uLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TGFuZ3VhZ2UoeyBsYW5ndWFnZSB9OiBTZXNzaW9uLlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQEFjdGlvbihTZXNzaW9uU2V0TGFuZ3VhZ2UpXG4gIHNlc3Npb25TZXRMYW5ndWFnZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2Vzc2lvblNldExhbmd1YWdlKSB7XG4gICAgcGF0Y2hTdGF0ZSh7XG4gICAgICBsYW5ndWFnZTogcGF5bG9hZCxcbiAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztJQU92RCxZQUFZLFNBQVosWUFBWTtJQVd2QixnQkFBZSxDQUFDOzs7OztJQVRoQixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFpQjtRQUM1QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQWlCO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUtELFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBK0IsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUMvRSxVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFHRCxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQStCLEVBQUUsRUFBRSxPQUFPLEVBQWE7UUFDN0UsVUFBVSxDQUFDO1lBQ1QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUFaQztJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUNrRCxXQUFXOzsrQ0FJaEY7QUFHRDtJQURDLE1BQU0sQ0FBQyxTQUFTLENBQUM7O3FEQUNvRCxTQUFTOzsrQ0FJOUU7QUF2QkQ7SUFEQyxRQUFRLEVBQUU7Ozs7cUNBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7OzttQ0FHVjtBQVRVLFlBQVk7SUFKeEIsS0FBSyxDQUFnQjtRQUNwQixJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtLQUM5QixDQUFDOztHQUNXLFlBQVksQ0EwQnhCO1NBMUJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0IH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgU2V0TGFuZ3VhZ2UsIFNldFRlbmFudCB9IGZyb20gJy4uL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zJztcbmltcG9ydCB7IEFCUCwgU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBTdGF0ZTxTZXNzaW9uLlN0YXRlPih7XG4gIG5hbWU6ICdTZXNzaW9uU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgU2Vzc2lvbi5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldExhbmd1YWdlKHsgbGFuZ3VhZ2UgfTogU2Vzc2lvbi5TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxhbmd1YWdlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFRlbmFudCh7IHRlbmFudCB9OiBTZXNzaW9uLlN0YXRlKTogQUJQLkJhc2ljSXRlbSB7XG4gICAgcmV0dXJuIHRlbmFudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAQWN0aW9uKFNldExhbmd1YWdlKVxuICBzZXRMYW5ndWFnZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0TGFuZ3VhZ2UpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIGxhbmd1YWdlOiBwYXlsb2FkLFxuICAgIH0pO1xuICB9XG5cbiAgQEFjdGlvbihTZXRUZW5hbnQpXG4gIHNldFRlbmFudElkKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvbi5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBTZXRUZW5hbnQpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIHRlbmFudDogcGF5bG9hZCxcbiAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js b/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js index cd07b11c5b..157483e2bc 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js +++ b/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Store } from '@ngxs/store'; -import { ConfigGetAppConfiguration } from '../actions/config.actions'; +import { GetAppConfiguration } from '../actions/config.actions'; /** * @param {?} injector * @return {?} @@ -16,8 +16,8 @@ export function getInitialData(injector) { function () { /** @type {?} */ const store = injector.get(Store); - return store.dispatch(new ConfigGetAppConfiguration()).toPromise(); + return store.dispatch(new GetAppConfiguration()).toPromise(); }); return fn; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUV0RSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztVQUN6QyxFQUFFOzs7SUFBRzs7Y0FDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JFLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVoRSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztVQUN6QyxFQUFFOzs7SUFBRzs7Y0FDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/utils/route-utils.js b/npm/ng-packs/dist/core/esm2015/lib/utils/route-utils.js index 379be51051..06b73c7e2f 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/utils/route-utils.js +++ b/npm/ng-packs/dist/core/esm2015/lib/utils/route-utils.js @@ -16,7 +16,7 @@ export function organizeRoutes(routes, wrappers = [], parentNameArr = (/** @type * @return {?} */ route => { - if (route.children) { + if (route.children && route.children.length) { route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name); } if (route.parentName && route.parentName !== parentName) { @@ -42,8 +42,7 @@ export function organizeRoutes(routes, wrappers = [], parentNameArr = (/** @type * @return {?} */ export function setChildRoute(routes, parentNameArr) { - return routes - .map((/** + return routes.map((/** * @param {?} route * @return {?} */ @@ -61,12 +60,7 @@ export function setChildRoute(routes, parentNameArr) { route.children = [...(route.children || []), ...foundedChildren]; } return route; - })) - .filter((/** - * @param {?} route - * @return {?} - */ - route => route.path || (route.children && route.children.length))); + })); } /** * @param {?=} routes @@ -93,4 +87,4 @@ export function sortRoutes(routes = []) { return route; })); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSxNQUFNLFVBQVUsY0FBYyxDQUM1QixNQUF1QixFQUN2QixXQUE0QixFQUFFLEVBQzlCLGFBQWEsR0FBRyxtQkFBQSxFQUFFLEVBQW1CLEVBQ3JDLGFBQXFCLElBQUk7O1VBRW5CLE1BQU07Ozs7SUFBRyxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsS0FBSyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RjtRQUVELElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUN2RCxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQTtJQUVELElBQUksVUFBVSxFQUFFO1FBQ2Qsa0JBQWtCO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM5Qjs7VUFFSyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFFNUMsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztLQUNuRjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBdUIsRUFBRSxhQUE4QjtJQUNuRixPQUFPLE1BQU07U0FDVixHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUU7UUFDWCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMvRDs7Y0FFSyxlQUFlLEdBQUcsYUFBYSxDQUFDLE1BQU07Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksRUFBQztRQUN4RixJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQzdDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7U0FDRCxNQUFNOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7QUFDOUUsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQTBCLEVBQUU7SUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUIsT0FBTyxNQUFNO1NBQ1YsSUFBSTs7Ozs7SUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBQztTQUNqQyxHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUU7UUFDWCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gb3JnYW5pemVSb3V0ZXMoXG4gIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLFxuICB3cmFwcGVyczogQUJQLkZ1bGxSb3V0ZVtdID0gW10sXG4gIHBhcmVudE5hbWVBcnIgPSBbXSBhcyBBQlAuRnVsbFJvdXRlW10sXG4gIHBhcmVudE5hbWU6IHN0cmluZyA9IG51bGwsXG4pOiBBQlAuRnVsbFJvdXRlW10ge1xuICBjb25zdCBmaWx0ZXIgPSByb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IG9yZ2FuaXplUm91dGVzKHJvdXRlLmNoaWxkcmVuLCB3cmFwcGVycywgcGFyZW50TmFtZUFyciwgcm91dGUubmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLnBhcmVudE5hbWUgJiYgcm91dGUucGFyZW50TmFtZSAhPT0gcGFyZW50TmFtZSkge1xuICAgICAgcGFyZW50TmFtZUFyci5wdXNoKHJvdXRlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBpZiAocGFyZW50TmFtZSkge1xuICAgIC8vIHJlY3Vyc2l2ZSBibG9ja1xuICAgIHJldHVybiByb3V0ZXMuZmlsdGVyKGZpbHRlcik7XG4gIH1cblxuICBjb25zdCBmaWx0ZXJlZFJvdXRlcyA9IHJvdXRlcy5maWx0ZXIoZmlsdGVyKTtcblxuICBpZiAocGFyZW50TmFtZUFyci5sZW5ndGgpIHtcbiAgICByZXR1cm4gc29ydFJvdXRlcyhzZXRDaGlsZFJvdXRlKFsuLi5maWx0ZXJlZFJvdXRlcywgLi4ud3JhcHBlcnNdLCBwYXJlbnROYW1lQXJyKSk7XG4gIH1cblxuICByZXR1cm4gZmlsdGVyZWRSb3V0ZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDaGlsZFJvdXRlKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnROYW1lQXJyOiBBQlAuRnVsbFJvdXRlW10pOiBBQlAuRnVsbFJvdXRlW10ge1xuICByZXR1cm4gcm91dGVzXG4gICAgLm1hcChyb3V0ZSA9PiB7XG4gICAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIHJvdXRlLmNoaWxkcmVuID0gc2V0Q2hpbGRSb3V0ZShyb3V0ZS5jaGlsZHJlbiwgcGFyZW50TmFtZUFycik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvdW5kZWRDaGlsZHJlbiA9IHBhcmVudE5hbWVBcnIuZmlsdGVyKHBhcmVudCA9PiBwYXJlbnQucGFyZW50TmFtZSA9PT0gcm91dGUubmFtZSk7XG4gICAgICBpZiAoZm91bmRlZENoaWxkcmVuICYmIGZvdW5kZWRDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgcm91dGUuY2hpbGRyZW4gPSBbLi4uKHJvdXRlLmNoaWxkcmVuIHx8IFtdKSwgLi4uZm91bmRlZENoaWxkcmVuXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJvdXRlO1xuICAgIH0pXG4gICAgLmZpbHRlcihyb3V0ZSA9PiByb3V0ZS5wYXRoIHx8IChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSb3V0ZXMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSBbXSk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGlmICghcm91dGVzLmxlbmd0aCkgcmV0dXJuIFtdO1xuICByZXR1cm4gcm91dGVzXG4gICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKVxuICAgIC5tYXAocm91dGUgPT4ge1xuICAgICAgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICByb3V0ZS5jaGlsZHJlbiA9IHNvcnRSb3V0ZXMocm91dGUuY2hpbGRyZW4pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSxNQUFNLFVBQVUsY0FBYyxDQUM1QixNQUF1QixFQUN2QixXQUE0QixFQUFFLEVBQzlCLGFBQWEsR0FBRyxtQkFBQSxFQUFFLEVBQW1CLEVBQ3JDLGFBQXFCLElBQUk7O1VBRW5CLE1BQU07Ozs7SUFBRyxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RjtRQUVELElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUN2RCxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQTtJQUVELElBQUksVUFBVSxFQUFFO1FBQ2Qsa0JBQWtCO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM5Qjs7VUFFSyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFFNUMsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztLQUNuRjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBdUIsRUFBRSxhQUE4QjtJQUNuRixPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzNDLEtBQUssQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDL0Q7O2NBRUssZUFBZSxHQUFHLGFBQWEsQ0FBQyxNQUFNOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUM7UUFDeEYsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM3QyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsU0FBMEIsRUFBRTtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixPQUFPLE1BQU07U0FDVixJQUFJOzs7OztJQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFDO1NBQ2pDLEdBQUc7Ozs7SUFBQyxLQUFLLENBQUMsRUFBRTtRQUNYLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDN0M7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmdhbml6ZVJvdXRlcyhcbiAgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10sXG4gIHdyYXBwZXJzOiBBQlAuRnVsbFJvdXRlW10gPSBbXSxcbiAgcGFyZW50TmFtZUFyciA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXSxcbiAgcGFyZW50TmFtZTogc3RyaW5nID0gbnVsbCxcbik6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGNvbnN0IGZpbHRlciA9IHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IG9yZ2FuaXplUm91dGVzKHJvdXRlLmNoaWxkcmVuLCB3cmFwcGVycywgcGFyZW50TmFtZUFyciwgcm91dGUubmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLnBhcmVudE5hbWUgJiYgcm91dGUucGFyZW50TmFtZSAhPT0gcGFyZW50TmFtZSkge1xuICAgICAgcGFyZW50TmFtZUFyci5wdXNoKHJvdXRlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBpZiAocGFyZW50TmFtZSkge1xuICAgIC8vIHJlY3Vyc2l2ZSBibG9ja1xuICAgIHJldHVybiByb3V0ZXMuZmlsdGVyKGZpbHRlcik7XG4gIH1cblxuICBjb25zdCBmaWx0ZXJlZFJvdXRlcyA9IHJvdXRlcy5maWx0ZXIoZmlsdGVyKTtcblxuICBpZiAocGFyZW50TmFtZUFyci5sZW5ndGgpIHtcbiAgICByZXR1cm4gc29ydFJvdXRlcyhzZXRDaGlsZFJvdXRlKFsuLi5maWx0ZXJlZFJvdXRlcywgLi4ud3JhcHBlcnNdLCBwYXJlbnROYW1lQXJyKSk7XG4gIH1cblxuICByZXR1cm4gZmlsdGVyZWRSb3V0ZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDaGlsZFJvdXRlKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnROYW1lQXJyOiBBQlAuRnVsbFJvdXRlW10pOiBBQlAuRnVsbFJvdXRlW10ge1xuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcm91dGUuY2hpbGRyZW4gPSBzZXRDaGlsZFJvdXRlKHJvdXRlLmNoaWxkcmVuLCBwYXJlbnROYW1lQXJyKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZGVkQ2hpbGRyZW4gPSBwYXJlbnROYW1lQXJyLmZpbHRlcihwYXJlbnQgPT4gcGFyZW50LnBhcmVudE5hbWUgPT09IHJvdXRlLm5hbWUpO1xuICAgIGlmIChmb3VuZGVkQ2hpbGRyZW4gJiYgZm91bmRlZENoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcm91dGUuY2hpbGRyZW4gPSBbLi4uKHJvdXRlLmNoaWxkcmVuIHx8IFtdKSwgLi4uZm91bmRlZENoaWxkcmVuXTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGU7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydFJvdXRlcyhyb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgaWYgKCFyb3V0ZXMubGVuZ3RoKSByZXR1cm4gW107XG4gIHJldHVybiByb3V0ZXNcbiAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpXG4gICAgLm1hcChyb3V0ZSA9PiB7XG4gICAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIHJvdXRlLmNoaWxkcmVuID0gc29ydFJvdXRlcyhyb3V0ZS5jaGlsZHJlbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3V0ZTtcbiAgICB9KTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/public-api.js b/npm/ng-packs/dist/core/esm2015/public-api.js index 122dd3e6b5..f5d49e97b3 100644 --- a/npm/ng-packs/dist/core/esm2015/public-api.js +++ b/npm/ng-packs/dist/core/esm2015/public-api.js @@ -6,10 +6,10 @@ * Public API Surface of core */ // export * from './lib/handlers'; -export { PatchRouteByName, ConfigGetAppConfiguration, LoaderStart, LoaderStop, ProfileGet, ProfileUpdate, ProfileChangePassword, RestOccurError, SessionSetLanguage } from './lib/actions'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant } from './lib/actions'; export { DynamicLayoutComponent, RouterOutletComponent } from './lib/components'; // export * from './lib/constants'; -export { EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; +export { AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; export {} from './lib/enums'; export { AuthGuard, PermissionGuard } from './lib/guards'; export { ApiInterceptor } from './lib/interceptors'; @@ -20,4 +20,4 @@ export { ProfileState, ConfigState, SessionState } from './lib/states'; export { environmentFactory, configFactory, ENVIRONMENT, CONFIG } from './lib/tokens'; export { uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; export { CoreModule } from './lib/core.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSwyS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLDRFQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLGdHQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/abp-ng.core.js b/npm/ng-packs/dist/core/esm5/abp-ng.core.js index b2b7632fa9..a89512db8a 100644 --- a/npm/ng-packs/dist/core/esm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/esm5/abp-ng.core.js @@ -5,24 +5,27 @@ /** * Generated bundle index. Do not edit. */ -export { PatchRouteByName, ConfigGetAppConfiguration, LoaderStart, LoaderStop, ProfileGet, ProfileUpdate, ProfileChangePassword, RestOccurError, SessionSetLanguage, DynamicLayoutComponent, RouterOutletComponent, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; -export { ConfigGetAppConfiguration as ɵm, PatchRouteByName as ɵl } from './lib/actions/config.actions'; -export { ProfileChangePassword as ɵf, ProfileGet as ɵd, ProfileUpdate as ɵe } from './lib/actions/profile.actions'; -export { SessionSetLanguage as ɵi } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵo } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵn } from './lib/components/router-outlet.component'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; +export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; +export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵq } from './lib/directives/permission.directive'; -export { VisibilityDirective as ɵr } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵx } from './lib/interceptors/api.interceptor'; -export { LocalizationPipe as ɵs } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵv, NGXS_CONFIG_PLUGIN_OPTIONS as ɵu } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵk } from './lib/services/application-configuration.service'; +export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; +export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; +export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵp } from './lib/states'; -export { ConfigState as ɵj } from './lib/states/config.state'; +export { ConfigState as ɵr } from './lib/states'; +export { ConfigState as ɵl } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵy } from './lib/utils/initial-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc3FCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDL0csT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDaEcsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0NvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24gYXMgybVtLFBhdGNoUm91dGVCeU5hbWUgYXMgybVsfSBmcm9tICcuL2xpYi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCB7UHJvZmlsZUNoYW5nZVBhc3N3b3JkIGFzIMm1ZixQcm9maWxlR2V0IGFzIMm1ZCxQcm9maWxlVXBkYXRlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXNzaW9uU2V0TGFuZ3VhZ2UgYXMgybVpfSBmcm9tICcuL2xpYi9hY3Rpb25zL3Nlc3Npb24uYWN0aW9ucyc7XG5leHBvcnQge0R5bmFtaWNMYXlvdXRDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge1JvdXRlck91dGxldENvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXF9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtWaXNpYmlsaXR5RGlyZWN0aXZlIGFzIMm1cn0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy92aXNpYmlsaXR5LmRpcmVjdGl2ZSc7XG5leHBvcnQge0FwaUludGVyY2VwdG9yIGFzIMm1eH0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtXcsUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybVzfSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtXYsTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgYXMgybV1fSBmcm9tICcuL2xpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuZXhwb3J0IHtBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIGFzIMm1a30gZnJvbSAnLi9saWIvc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCB7UHJvZmlsZVNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9maWxlLnNlcnZpY2UnO1xuZXhwb3J0IHtSZXN0U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1cH0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7Q29uZmlnU3RhdGUgYXMgybVqfSBmcm9tICcuL2xpYi9zdGF0ZXMvY29uZmlnLnN0YXRlJztcbmV4cG9ydCB7UHJvZmlsZVN0YXRlIGFzIMm1YX0gZnJvbSAnLi9saWIvc3RhdGVzL3Byb2ZpbGUuc3RhdGUnO1xuZXhwb3J0IHtTZXNzaW9uU3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZSc7XG5leHBvcnQge2dldEluaXRpYWxEYXRhIGFzIMm1eX0gZnJvbSAnLi9saWIvdXRpbHMvaW5pdGlhbC11dGlscyc7Il19 \ No newline at end of file +export { getInitialData as ɵbc } from './lib/utils/initial-utils'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaXJCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtHZXRBcHBDb25maWd1cmF0aW9uIGFzIMm1byxQYXRjaFJvdXRlQnlOYW1lIGFzIMm1bn0gZnJvbSAnLi9saWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkIGFzIMm1ZixHZXRQcm9maWxlIGFzIMm1ZCxVcGRhdGVQcm9maWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXRMYW5ndWFnZSBhcyDJtWksU2V0VGVuYW50IGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuZXhwb3J0IHtEeW5hbWljTGF5b3V0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtSb3V0ZXJPdXRsZXRDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b2ZvY3VzRGlyZWN0aXZlIGFzIMm1c30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIGFzIMm1eH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXZ9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIGFzIMm1eX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Zpc2liaWxpdHlEaXJlY3RpdmUgYXMgybV3fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7QXBpSW50ZXJjZXB0b3IgYXMgybViYn0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtWssUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybV1fSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtWJhLE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIGFzIMm1en0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmV4cG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1Byb2ZpbGVTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvcHJvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCB7UmVzdFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtXJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1bH0gZnJvbSAnLi9saWIvc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5leHBvcnQge1Byb2ZpbGVTdGF0ZSBhcyDJtWF9IGZyb20gJy4vbGliL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmV4cG9ydCB7U2Vzc2lvblN0YXRlIGFzIMm1aH0gZnJvbSAnLi9saWIvc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuZXhwb3J0IHtnZXRJbml0aWFsRGF0YSBhcyDJtWJjfSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/actions/config.actions.js b/npm/ng-packs/dist/core/esm5/lib/actions/config.actions.js index fc8458ce1e..fce561825b 100644 --- a/npm/ng-packs/dist/core/esm5/lib/actions/config.actions.js +++ b/npm/ng-packs/dist/core/esm5/lib/actions/config.actions.js @@ -19,15 +19,15 @@ if (false) { /** @type {?} */ PatchRouteByName.prototype.newValue; } -var ConfigGetAppConfiguration = /** @class */ (function () { - function ConfigGetAppConfiguration() { +var GetAppConfiguration = /** @class */ (function () { + function GetAppConfiguration() { } - ConfigGetAppConfiguration.type = '[Config] Get App Configuration'; - return ConfigGetAppConfiguration; + GetAppConfiguration.type = '[Config] Get App Configuration'; + return GetAppConfiguration; }()); -export { ConfigGetAppConfiguration }; +export { GetAppConfiguration }; if (false) { /** @type {?} */ - ConfigGetAppConfiguration.type; + GetAppConfiguration.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFFRSwwQkFBbUIsSUFBWSxFQUFTLFFBQTRCO1FBQWpELFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtJQUFHLENBQUM7SUFEeEQscUJBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUV4RCx1QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGdCQUFnQjs7O0lBQzNCLHNCQUFzRDs7SUFDMUMsZ0NBQW1COztJQUFFLG9DQUFtQzs7QUFHdEU7SUFBQTtJQUVBLENBQUM7SUFEaUIsOEJBQUksR0FBRyxnQ0FBZ0MsQ0FBQztJQUMxRCxnQ0FBQztDQUFBLEFBRkQsSUFFQztTQUZZLHlCQUF5Qjs7O0lBQ3BDLCtCQUF3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBQYXRjaFJvdXRlQnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0NvbmZpZ10gUGF0Y2ggUm91dGUgQnkgTmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcsIHB1YmxpYyBuZXdWYWx1ZTogUGFydGlhbDxBQlAuUm91dGU+KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbiB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tDb25maWddIEdldCBBcHAgQ29uZmlndXJhdGlvbic7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFFRSwwQkFBbUIsSUFBWSxFQUFTLFFBQTRCO1FBQWpELFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtJQUFHLENBQUM7SUFEeEQscUJBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUV4RCx1QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGdCQUFnQjs7O0lBQzNCLHNCQUFzRDs7SUFDMUMsZ0NBQW1COztJQUFFLG9DQUFtQzs7QUFHdEU7SUFBQTtJQUVBLENBQUM7SUFEaUIsd0JBQUksR0FBRyxnQ0FBZ0MsQ0FBQztJQUMxRCwwQkFBQztDQUFBLEFBRkQsSUFFQztTQUZZLG1CQUFtQjs7O0lBQzlCLHlCQUF3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBQYXRjaFJvdXRlQnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0NvbmZpZ10gUGF0Y2ggUm91dGUgQnkgTmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcsIHB1YmxpYyBuZXdWYWx1ZTogUGFydGlhbDxBQlAuUm91dGU+KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgR2V0QXBwQ29uZmlndXJhdGlvbiB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tDb25maWddIEdldCBBcHAgQ29uZmlndXJhdGlvbic7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/actions/index.js b/npm/ng-packs/dist/core/esm5/lib/actions/index.js index 1b4928b55d..54f7b1d88a 100644 --- a/npm/ng-packs/dist/core/esm5/lib/actions/index.js +++ b/npm/ng-packs/dist/core/esm5/lib/actions/index.js @@ -2,9 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { PatchRouteByName, ConfigGetAppConfiguration } from './config.actions'; -export { LoaderStart, LoaderStop } from './loader.actions'; -export { ProfileGet, ProfileUpdate, ProfileChangePassword } from './profile.actions'; +export { PatchRouteByName, GetAppConfiguration } from './config.actions'; +export { StartLoader, StopLoader } from './loader.actions'; +export { GetProfile, UpdateProfile, ChangePassword } from './profile.actions'; export { RestOccurError } from './rest.actions'; -export { SessionSetLanguage } from './session.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNERBQWMsa0JBQWtCLENBQUM7QUFDakMsd0NBQWMsa0JBQWtCLENBQUM7QUFDakMsaUVBQWMsbUJBQW1CLENBQUM7QUFDbEMsK0JBQWMsZ0JBQWdCLENBQUM7QUFDL0IsbUNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uLmFjdGlvbnMnO1xuIl19 \ No newline at end of file +export { SetLanguage, SetTenant } from './session.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0RBQWMsa0JBQWtCLENBQUM7QUFDakMsd0NBQWMsa0JBQWtCLENBQUM7QUFDakMsMERBQWMsbUJBQW1CLENBQUM7QUFDbEMsK0JBQWMsZ0JBQWdCLENBQUM7QUFDL0IsdUNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uLmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/actions/loader.actions.js b/npm/ng-packs/dist/core/esm5/lib/actions/loader.actions.js index ec3461bec1..b750ada23e 100644 --- a/npm/ng-packs/dist/core/esm5/lib/actions/loader.actions.js +++ b/npm/ng-packs/dist/core/esm5/lib/actions/loader.actions.js @@ -2,32 +2,32 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LoaderStart = /** @class */ (function () { - function LoaderStart(payload) { +var StartLoader = /** @class */ (function () { + function StartLoader(payload) { this.payload = payload; } - LoaderStart.type = '[Loader] Start'; - return LoaderStart; + StartLoader.type = '[Loader] Start'; + return StartLoader; }()); -export { LoaderStart }; +export { StartLoader }; if (false) { /** @type {?} */ - LoaderStart.type; + StartLoader.type; /** @type {?} */ - LoaderStart.prototype.payload; + StartLoader.prototype.payload; } -var LoaderStop = /** @class */ (function () { - function LoaderStop(payload) { +var StopLoader = /** @class */ (function () { + function StopLoader(payload) { this.payload = payload; } - LoaderStop.type = '[Loader] Stop'; - return LoaderStop; + StopLoader.type = '[Loader] Stop'; + return StopLoader; }()); -export { LoaderStop }; +export { StopLoader }; if (false) { /** @type {?} */ - LoaderStop.type; + StopLoader.type; /** @type {?} */ - LoaderStop.prototype.payload; + StopLoader.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9sb2FkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFFRSxxQkFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDO0lBRGhDLGdCQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFFMUMsa0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxXQUFXOzs7SUFDdEIsaUJBQXdDOztJQUM1Qiw4QkFBZ0M7O0FBRzlDO0lBRUUsb0JBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQztJQURoQyxlQUFJLEdBQUcsZUFBZSxDQUFDO0lBRXpDLGlCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksVUFBVTs7O0lBQ3JCLGdCQUF1Qzs7SUFDM0IsNkJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBjbGFzcyBMb2FkZXJTdGFydCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tMb2FkZXJdIFN0YXJ0JztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEh0dHBSZXF1ZXN0PGFueT4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2FkZXJTdG9wIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xvYWRlcl0gU3RvcCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBIdHRwUmVxdWVzdDxhbnk+KSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9sb2FkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFFRSxxQkFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDO0lBRGhDLGdCQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFFMUMsa0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxXQUFXOzs7SUFDdEIsaUJBQXdDOztJQUM1Qiw4QkFBZ0M7O0FBRzlDO0lBRUUsb0JBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQztJQURoQyxlQUFJLEdBQUcsZUFBZSxDQUFDO0lBRXpDLGlCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksVUFBVTs7O0lBQ3JCLGdCQUF1Qzs7SUFDM0IsNkJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFydExvYWRlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tMb2FkZXJdIFN0YXJ0JztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEh0dHBSZXF1ZXN0PGFueT4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBTdG9wTG9hZGVyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xvYWRlcl0gU3RvcCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBIdHRwUmVxdWVzdDxhbnk+KSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/actions/profile.actions.js b/npm/ng-packs/dist/core/esm5/lib/actions/profile.actions.js index d69577dd49..670b2881fe 100644 --- a/npm/ng-packs/dist/core/esm5/lib/actions/profile.actions.js +++ b/npm/ng-packs/dist/core/esm5/lib/actions/profile.actions.js @@ -2,43 +2,43 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var ProfileGet = /** @class */ (function () { - function ProfileGet() { +var GetProfile = /** @class */ (function () { + function GetProfile() { } - ProfileGet.type = '[Profile] Get'; - return ProfileGet; + GetProfile.type = '[Profile] Get'; + return GetProfile; }()); -export { ProfileGet }; +export { GetProfile }; if (false) { /** @type {?} */ - ProfileGet.type; + GetProfile.type; } -var ProfileUpdate = /** @class */ (function () { - function ProfileUpdate(payload) { +var UpdateProfile = /** @class */ (function () { + function UpdateProfile(payload) { this.payload = payload; } - ProfileUpdate.type = '[Profile] Update'; - return ProfileUpdate; + UpdateProfile.type = '[Profile] Update'; + return UpdateProfile; }()); -export { ProfileUpdate }; +export { UpdateProfile }; if (false) { /** @type {?} */ - ProfileUpdate.type; + UpdateProfile.type; /** @type {?} */ - ProfileUpdate.prototype.payload; + UpdateProfile.prototype.payload; } -var ProfileChangePassword = /** @class */ (function () { - function ProfileChangePassword(payload) { +var ChangePassword = /** @class */ (function () { + function ChangePassword(payload) { this.payload = payload; } - ProfileChangePassword.type = '[Profile] Change Password'; - return ProfileChangePassword; + ChangePassword.type = '[Profile] Change Password'; + return ChangePassword; }()); -export { ProfileChangePassword }; +export { ChangePassword }; if (false) { /** @type {?} */ - ProfileChangePassword.type; + ChangePassword.type; /** @type {?} */ - ProfileChangePassword.prototype.payload; + ChangePassword.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUFBO0lBRUEsQ0FBQztJQURpQixlQUFJLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLGlCQUFDO0NBQUEsQUFGRCxJQUVDO1NBRlksVUFBVTs7O0lBQ3JCLGdCQUF1Qzs7QUFHekM7SUFFRSx1QkFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDO0lBRGhDLGtCQUFJLEdBQUcsa0JBQWtCLENBQUM7SUFFNUMsb0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxhQUFhOzs7SUFDeEIsbUJBQTBDOztJQUM5QixnQ0FBZ0M7O0FBRzlDO0lBRUUsK0JBQW1CLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO0lBQUcsQ0FBQztJQUQ3QywwQkFBSSxHQUFHLDJCQUEyQixDQUFDO0lBRXJELDRCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFkscUJBQXFCOzs7SUFDaEMsMkJBQW1EOztJQUN2Qyx3Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVHZXQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gR2V0Jztcbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVVcGRhdGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gVXBkYXRlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFByb2ZpbGUuUmVzcG9uc2UpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9maWxlQ2hhbmdlUGFzc3dvcmQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gQ2hhbmdlIFBhc3N3b3JkJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0KSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUFBO0lBRUEsQ0FBQztJQURpQixlQUFJLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLGlCQUFDO0NBQUEsQUFGRCxJQUVDO1NBRlksVUFBVTs7O0lBQ3JCLGdCQUF1Qzs7QUFHekM7SUFFRSx1QkFBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFBRyxDQUFDO0lBRGhDLGtCQUFJLEdBQUcsa0JBQWtCLENBQUM7SUFFNUMsb0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxhQUFhOzs7SUFDeEIsbUJBQTBDOztJQUM5QixnQ0FBZ0M7O0FBRzlDO0lBRUUsd0JBQW1CLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO0lBQUcsQ0FBQztJQUQ3QyxtQkFBSSxHQUFHLDJCQUEyQixDQUFDO0lBRXJELHFCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksY0FBYzs7O0lBQ3pCLG9CQUFtRDs7SUFDdkMsaUNBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBHZXRQcm9maWxlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Byb2ZpbGVdIEdldCc7XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVQcm9maWxlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Byb2ZpbGVdIFVwZGF0ZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBQcm9maWxlLlJlc3BvbnNlKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUHJvZmlsZV0gQ2hhbmdlIFBhc3N3b3JkJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0KSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/actions/session.actions.js b/npm/ng-packs/dist/core/esm5/lib/actions/session.actions.js index a76613b257..552bd39ba7 100644 --- a/npm/ng-packs/dist/core/esm5/lib/actions/session.actions.js +++ b/npm/ng-packs/dist/core/esm5/lib/actions/session.actions.js @@ -2,18 +2,32 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var SessionSetLanguage = /** @class */ (function () { - function SessionSetLanguage(payload) { +var SetLanguage = /** @class */ (function () { + function SetLanguage(payload) { this.payload = payload; } - SessionSetLanguage.type = '[Session] Set Language'; - return SessionSetLanguage; + SetLanguage.type = '[Session] Set Language'; + return SetLanguage; }()); -export { SessionSetLanguage }; +export { SetLanguage }; if (false) { /** @type {?} */ - SessionSetLanguage.type; + SetLanguage.type; /** @type {?} */ - SessionSetLanguage.prototype.payload; + SetLanguage.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUVFLDRCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsdUJBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCx5QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGtCQUFrQjs7O0lBQzdCLHdCQUFnRDs7SUFDcEMscUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNlc3Npb25TZXRMYW5ndWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tTZXNzaW9uXSBTZXQgTGFuZ3VhZ2UnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuIl19 \ No newline at end of file +var SetTenant = /** @class */ (function () { + function SetTenant(payload) { + this.payload = payload; + } + SetTenant.type = '[Session] Set Tenant'; + return SetTenant; +}()); +export { SetTenant }; +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUVFLHFCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsZ0JBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCxrQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFdBQVc7OztJQUN0QixpQkFBZ0Q7O0lBQ3BDLDhCQUFzQjs7QUFFcEM7SUFFRSxtQkFBbUIsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUFHLENBQUM7SUFEN0IsY0FBSSxHQUFHLHNCQUFzQixDQUFDO0lBRWhELGdCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksU0FBUzs7O0lBQ3BCLGVBQThDOztJQUNsQyw0QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgU2V0TGFuZ3VhZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbU2Vzc2lvbl0gU2V0IExhbmd1YWdlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cbmV4cG9ydCBjbGFzcyBTZXRUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbU2Vzc2lvbl0gU2V0IFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBBQlAuQmFzaWNJdGVtKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js b/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js index 945f8d48df..ba600f99a2 100644 --- a/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js +++ b/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js @@ -106,7 +106,7 @@ function findLayout(segments, routes) { if (route.layout) { layout = route.layout; } - if (route.children && route.children.length) { + if (route.children && route.children.length && segments.length > 1) { /** @type {?} */ var child = route.children.find((/** * @param {?} c @@ -120,4 +120,4 @@ function findLayout(segments, routes) { } return layout; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QjtJQWVFLGdDQUFvQixNQUFjLEVBQVUsS0FBWTtRQUF4RCxpQkFjQztRQWRtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQzdELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDMUIsSUFBQSwwRUFBUTtnQkFDVixJQUFBLG1EQUcyQyxFQUYvQixpQ0FBTyxFQUN2QixrQkFDK0M7O29CQUUzQyxRQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLEtBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsRUFBQyxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQU0sQ0FBQyxFQUFwQyxDQUFvQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQXhELENBQXdELEVBQUMsQ0FBQzthQUM1RztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDRDQUFXOzs7SUFBWCxjQUFlLENBQUM7O2dCQS9CakIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxvU0FLVDtpQkFDRjs7OztnQkFqQnVCLE1BQU07Z0JBQ2IsS0FBSzs7SUFtQnBCO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7MENBQzVCLFVBQVU7aUVBQXNCO0lBcUJqRCw2QkFBQztDQUFBLEFBaENELElBZ0NDO1NBdkJZLHNCQUFzQjs7O0lBQ2pDLCtDQUMrQzs7SUFFL0Msd0NBQWtCOzs7OztJQUVOLHdDQUFzQjs7Ozs7SUFBRSx1Q0FBb0I7Ozs7Ozs7QUFtQjFELFNBQVMsVUFBVSxDQUFDLFFBQXNCLEVBQUUsTUFBdUI7O1FBQzdELE1BQU0sc0JBQW9COztRQUV4QixLQUFLLEdBQUcsTUFBTTtTQUNqQixNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFLLEdBQUcsRUFBSyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQUssR0FBRyxHQUFFLEdBQUcsRUFBQyxDQUFDLEVBQXpELENBQXlELEdBQUUsRUFBRSxDQUFDO1NBQ25GLElBQUk7Ozs7SUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztJQUV6QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUN2QjtRQUVELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTs7Z0JBQ3JDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztZQUVuRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3ZCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IEFCUCwgQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1keW5hbWljLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxheW91dCA/IGNvbXBvbmVudE91dGxldCA6IHJvdXRlck91dGxldFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyb3V0ZXJPdXRsZXQ+PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPdXRsZXQ+PG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJsYXlvdXRcIj48L25nLWNvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JlcXVpcmVtZW50cycpKVxuICByZXF1aXJlbWVudHMkOiBPYnNlcnZhYmxlPENvbmZpZy5SZXF1aXJlbWVudHM+O1xuXG4gIGxheW91dDogVHlwZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveSh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgY29uc3QgeyBzZWdtZW50cyB9ID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwoZXZlbnQudXJsKS5yb290LmNoaWxkcmVuLnByaW1hcnk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICByZXF1aXJlbWVudHM6IHsgbGF5b3V0cyB9LFxuICAgICAgICAgIHJvdXRlcyxcbiAgICAgICAgfSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QWxsKTtcblxuICAgICAgICBjb25zdCBsYXlvdXQgPSBmaW5kTGF5b3V0KHNlZ21lbnRzLCByb3V0ZXMpO1xuXG4gICAgICAgIHRoaXMubGF5b3V0ID0gbGF5b3V0cy5maWx0ZXIobCA9PiAhIWwpLmZpbmQobCA9PiBzbnEoKCkgPT4gbC50eXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihsYXlvdXQpLCAtMSkgPiAtMSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmRMYXlvdXQoc2VnbWVudHM6IFVybFNlZ21lbnRbXSwgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10pOiBlTGF5b3V0VHlwZSB7XG4gIGxldCBsYXlvdXQgPSBlTGF5b3V0VHlwZS5lbXB0eTtcblxuICBjb25zdCByb3V0ZSA9IHJvdXRlc1xuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiAodmFsLndyYXBwZXIgPyBbLi4uYWNjLCAuLi52YWwuY2hpbGRyZW5dIDogWy4uLmFjYywgdmFsXSksIFtdKVxuICAgIC5maW5kKHIgPT4gci5wYXRoID09PSBzZWdtZW50c1swXS5wYXRoKTtcblxuICBpZiAocm91dGUpIHtcbiAgICBpZiAocm91dGUubGF5b3V0KSB7XG4gICAgICBsYXlvdXQgPSByb3V0ZS5sYXlvdXQ7XG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgY29uc3QgY2hpbGQgPSByb3V0ZS5jaGlsZHJlbi5maW5kKGMgPT4gYy5wYXRoID09PSBzZWdtZW50c1sxXS5wYXRoKTtcblxuICAgICAgaWYgKGNoaWxkLmxheW91dCkge1xuICAgICAgICBsYXlvdXQgPSBjaGlsZC5sYXlvdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxheW91dDtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QjtJQWVFLGdDQUFvQixNQUFjLEVBQVUsS0FBWTtRQUF4RCxpQkFjQztRQWRtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQzdELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDMUIsSUFBQSwwRUFBUTtnQkFDVixJQUFBLG1EQUcyQyxFQUYvQixpQ0FBTyxFQUN2QixrQkFDK0M7O29CQUUzQyxRQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLEtBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsRUFBQyxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQU0sQ0FBQyxFQUFwQyxDQUFvQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQXhELENBQXdELEVBQUMsQ0FBQzthQUM1RztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDRDQUFXOzs7SUFBWCxjQUFlLENBQUM7O2dCQS9CakIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxvU0FLVDtpQkFDRjs7OztnQkFqQnVCLE1BQU07Z0JBQ2IsS0FBSzs7SUFtQnBCO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7MENBQzVCLFVBQVU7aUVBQXNCO0lBcUJqRCw2QkFBQztDQUFBLEFBaENELElBZ0NDO1NBdkJZLHNCQUFzQjs7O0lBQ2pDLCtDQUMrQzs7SUFFL0Msd0NBQWtCOzs7OztJQUVOLHdDQUFzQjs7Ozs7SUFBRSx1Q0FBb0I7Ozs7Ozs7QUFtQjFELFNBQVMsVUFBVSxDQUFDLFFBQXNCLEVBQUUsTUFBdUI7O1FBQzdELE1BQU0sc0JBQW9COztRQUV4QixLQUFLLEdBQUcsTUFBTTtTQUNqQixNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFLLEdBQUcsRUFBSyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQUssR0FBRyxHQUFFLEdBQUcsRUFBQyxDQUFDLEVBQXpELENBQXlELEdBQUUsRUFBRSxDQUFDO1NBQ25GLElBQUk7Ozs7SUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztJQUV6QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUN2QjtRQUVELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7Z0JBQzVELEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztZQUVuRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3ZCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IEFCUCwgQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1keW5hbWljLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxheW91dCA/IGNvbXBvbmVudE91dGxldCA6IHJvdXRlck91dGxldFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyb3V0ZXJPdXRsZXQ+PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPdXRsZXQ+PG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJsYXlvdXRcIj48L25nLWNvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JlcXVpcmVtZW50cycpKVxuICByZXF1aXJlbWVudHMkOiBPYnNlcnZhYmxlPENvbmZpZy5SZXF1aXJlbWVudHM+O1xuXG4gIGxheW91dDogVHlwZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveSh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgY29uc3QgeyBzZWdtZW50cyB9ID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwoZXZlbnQudXJsKS5yb290LmNoaWxkcmVuLnByaW1hcnk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICByZXF1aXJlbWVudHM6IHsgbGF5b3V0cyB9LFxuICAgICAgICAgIHJvdXRlcyxcbiAgICAgICAgfSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QWxsKTtcblxuICAgICAgICBjb25zdCBsYXlvdXQgPSBmaW5kTGF5b3V0KHNlZ21lbnRzLCByb3V0ZXMpO1xuXG4gICAgICAgIHRoaXMubGF5b3V0ID0gbGF5b3V0cy5maWx0ZXIobCA9PiAhIWwpLmZpbmQobCA9PiBzbnEoKCkgPT4gbC50eXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihsYXlvdXQpLCAtMSkgPiAtMSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmRMYXlvdXQoc2VnbWVudHM6IFVybFNlZ21lbnRbXSwgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10pOiBlTGF5b3V0VHlwZSB7XG4gIGxldCBsYXlvdXQgPSBlTGF5b3V0VHlwZS5lbXB0eTtcblxuICBjb25zdCByb3V0ZSA9IHJvdXRlc1xuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiAodmFsLndyYXBwZXIgPyBbLi4uYWNjLCAuLi52YWwuY2hpbGRyZW5dIDogWy4uLmFjYywgdmFsXSksIFtdKVxuICAgIC5maW5kKHIgPT4gci5wYXRoID09PSBzZWdtZW50c1swXS5wYXRoKTtcblxuICBpZiAocm91dGUpIHtcbiAgICBpZiAocm91dGUubGF5b3V0KSB7XG4gICAgICBsYXlvdXQgPSByb3V0ZS5sYXlvdXQ7XG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiBzZWdtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IHJvdXRlLmNoaWxkcmVuLmZpbmQoYyA9PiBjLnBhdGggPT09IHNlZ21lbnRzWzFdLnBhdGgpO1xuXG4gICAgICBpZiAoY2hpbGQubGF5b3V0KSB7XG4gICAgICAgIGxheW91dCA9IGNoaWxkLmxheW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbGF5b3V0O1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/core.module.js b/npm/ng-packs/dist/core/esm5/lib/core.module.js index c128a3ddf8..ae9ce47082 100644 --- a/npm/ng-packs/dist/core/esm5/lib/core.module.js +++ b/npm/ng-packs/dist/core/esm5/lib/core.module.js @@ -22,6 +22,9 @@ import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; import { getInitialData } from './utils/initial-utils'; import { EllipsisDirective } from './directives/ellipsis.directive'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; var CoreModule = /** @class */ (function () { function CoreModule() { } @@ -76,10 +79,13 @@ var CoreModule = /** @class */ (function () { declarations: [ RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - LocalizationPipe, - EllipsisDirective, + InputEventDebounceDirective, + ClickEventStopPropagationDirective, ], exports: [ CommonModule, @@ -89,10 +95,14 @@ var CoreModule = /** @class */ (function () { RouterModule, RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - EllipsisDirective, + InputEventDebounceDirective, LocalizationPipe, + ClickEventStopPropagationDirective, ], providers: [LocalizationPipe], entryComponents: [RouterOutletComponent, DynamicLayoutComponent], @@ -101,4 +111,4 @@ var CoreModule = /** @class */ (function () { return CoreModule; }()); export { CoreModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEU7SUFBQTtJQStEQSxDQUFDOzs7OztJQTNCUSxrQkFBTzs7OztJQUFkLFVBQWUsT0FBd0I7UUFBeEIsd0JBQUEsRUFBQSw2QkFBVSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBOURGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7d0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQzt3QkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO3dCQUNoQyxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLGVBQWUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDO2lCQUNqRTs7SUE2QkQsaUJBQUM7Q0FBQSxBQS9ERCxJQStEQztTQTVCWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IE5neHNTdG9yYWdlUGx1Z2luTW9kdWxlIH0gZnJvbSAnQG5neHMvc3RvcmFnZS1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c01vZHVsZSwgTkdYU19QTFVHSU5TIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVmlzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92aXNpYmlsaXR5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBcGlJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuL21vZGVscy9jb21tb24nO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgQ29uZmlnUGx1Z2luLCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvY29uZmlnLnN0YXRlJztcbmltcG9ydCB7IFByb2ZpbGVTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL3Byb2ZpbGUuc3RhdGUnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBnZXRJbml0aWFsRGF0YSB9IGZyb20gJy4vdXRpbHMvaW5pdGlhbC11dGlscyc7XG5pbXBvcnQgeyBFbGxpcHNpc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxuICAgIFZpc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTG9jYWxpemF0aW9uUGlwZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW1JvdXRlck91dGxldENvbXBvbmVudCwgRHluYW1pY0xheW91dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zID0ge30gYXMgQUJQLlJvb3QpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfUExVR0lOUyxcbiAgICAgICAgICB1c2VDbGFzczogQ29uZmlnUGx1Z2luLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXBpSW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRJbml0aWFsRGF0YSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFN0Y7SUFBQTtJQXNFQSxDQUFDOzs7OztJQTNCUSxrQkFBTzs7OztJQUFkLFVBQWUsT0FBd0I7UUFBeEIsd0JBQUEsRUFBQSw2QkFBVSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBckVGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7d0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQzt3QkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO3dCQUNoQyxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLGdCQUFnQjt3QkFDaEIsa0NBQWtDO3FCQUNuQztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDN0IsZUFBZSxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ2pFOztJQTZCRCxpQkFBQztDQUFBLEFBdEVELElBc0VDO1NBNUJZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c1N0b3JhZ2VQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yYWdlLXBsdWdpbic7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBOR1hTX1BMVUdJTlMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBDb25maWdQbHVnaW4sIE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuaW1wb3J0IHsgUHJvZmlsZVN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IEVsbGlwc2lzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtSb3V0ZXJPdXRsZXRDb21wb25lbnQsIER5bmFtaWNMYXlvdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IENvbmZpZ1BsdWdpbixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEFwaUludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/autofocus.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/autofocus.directive.js new file mode 100644 index 0000000000..a9de9538af --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/directives/autofocus.directive.js @@ -0,0 +1,48 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, Input } from '@angular/core'; +var AutofocusDirective = /** @class */ (function () { + function AutofocusDirective(elRef) { + this.elRef = elRef; + this.delay = 0; + } + /** + * @return {?} + */ + AutofocusDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + setTimeout((/** + * @return {?} + */ + function () { return _this.elRef.nativeElement.focus(); }), this.delay); + }; + AutofocusDirective.decorators = [ + { type: Directive, args: [{ + selector: '[autofocus]', + },] } + ]; + /** @nocollapse */ + AutofocusDirective.ctorParameters = function () { return [ + { type: ElementRef } + ]; }; + AutofocusDirective.propDecorators = { + delay: [{ type: Input, args: ['autofocus',] }] + }; + return AutofocusDirective; +}()); +export { AutofocusDirective }; +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2F1dG9mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFNUU7SUFPRSw0QkFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUZyQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRXNCLENBQUM7Ozs7SUFFekMsNENBQWU7OztJQUFmO1FBQUEsaUJBRUM7UUFEQyxVQUFVOzs7UUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQWhDLENBQWdDLEdBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O2dCQVhGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7Ozs7Z0JBSm1CLFVBQVU7Ozt3QkFNM0IsS0FBSyxTQUFDLFdBQVc7O0lBUXBCLHlCQUFDO0NBQUEsQUFaRCxJQVlDO1NBVFksa0JBQWtCOzs7SUFDN0IsbUNBQ2tCOzs7OztJQUVOLG1DQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1dG9mb2N1c10nLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvZm9jdXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCdhdXRvZm9jdXMnKVxuICBkZWxheTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpLCB0aGlzLmRlbGF5KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/debounce.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/debounce.directive.js new file mode 100644 index 0000000000..b1e3c93f2a --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/directives/debounce.directive.js @@ -0,0 +1,67 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, Output, Renderer2, ElementRef, EventEmitter, Input } from '@angular/core'; +import { fromEvent } from 'rxjs'; +import { debounceTime } from 'rxjs/operators'; +import { takeUntilDestroy } from '@ngx-validate/core'; +var InputEventDebounceDirective = /** @class */ (function () { + function InputEventDebounceDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.debounce = 300; + this.debounceEvent = new EventEmitter(); + } + /** + * @return {?} + */ + InputEventDebounceDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + fromEvent(this.el.nativeElement, 'input') + .pipe(debounceTime(this.debounce), takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + _this.debounceEvent.emit(event); + })); + }; + InputEventDebounceDirective.decorators = [ + { type: Directive, args: [{ + selector: '[input.debounce]', + },] } + ]; + /** @nocollapse */ + InputEventDebounceDirective.ctorParameters = function () { return [ + { type: Renderer2 }, + { type: ElementRef } + ]; }; + InputEventDebounceDirective.propDecorators = { + debounce: [{ type: Input }], + debounceEvent: [{ type: Output, args: ['input.debounce',] }] + }; + return InputEventDebounceDirective; +}()); +export { InputEventDebounceDirective }; +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7SUFRRSxxQ0FBb0IsUUFBbUIsRUFBVSxFQUFjO1FBQTNDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSnRELGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFTixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFRixDQUFDOzs7O0lBRW5FLDhDQUFROzs7SUFBUjtRQUFBLGlCQVNDO1FBUkMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUN0QyxJQUFJLENBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDM0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUMsS0FBWTtZQUN0QixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7O2dCQW5CRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7Ozs7Z0JBUDJCLFNBQVM7Z0JBQUUsVUFBVTs7OzJCQVM5QyxLQUFLO2dDQUVMLE1BQU0sU0FBQyxnQkFBZ0I7O0lBYzFCLGtDQUFDO0NBQUEsQUFwQkQsSUFvQkM7U0FqQlksMkJBQTJCOzs7SUFDdEMsK0NBQWdDOztJQUVoQyxvREFBb0U7Ozs7O0lBRXhELCtDQUEyQjs7Ozs7SUFBRSx5Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBPbkluaXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpbnB1dC5kZWJvdW5jZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkZWJvdW5jZTogbnVtYmVyID0gMzAwO1xuXG4gIEBPdXRwdXQoJ2lucHV0LmRlYm91bmNlJykgZGVib3VuY2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZGVib3VuY2VFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js index fc92fe99ec..974ff3259e 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js @@ -24,7 +24,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '180px' : undefined; + return this.enabled ? this.witdh || '160px' : undefined; }, enumerable: true, configurable: true @@ -87,4 +87,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpdGRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2l0ZGggfHwgJzE4MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpdGRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2l0ZGggfHwgJzE2MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/index.js b/npm/ng-packs/dist/core/esm5/lib/directives/index.js index f4318663b7..58ddf9b1e1 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/index.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/index.js @@ -2,7 +2,8 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { AutofocusDirective } from './autofocus.directive'; export { EllipsisDirective } from './ellipsis.directive'; export { PermissionDirective } from './permission.directive'; export { VisibilityDirective } from './visibility.directive'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlzaWJpbGl0eS5kaXJlY3RpdmUnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/stop-propagation.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/stop-propagation.directive.js new file mode 100644 index 0000000000..f8aaa7ce6c --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/directives/stop-propagation.directive.js @@ -0,0 +1,63 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, EventEmitter, Output, Renderer2 } from '@angular/core'; +import { fromEvent } from 'rxjs'; +import { takeUntilDestroy } from '@ngx-validate/core'; +var ClickEventStopPropagationDirective = /** @class */ (function () { + function ClickEventStopPropagationDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.stopPropEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ClickEventStopPropagationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + fromEvent(this.el.nativeElement, 'click') + .pipe(takeUntilDestroy(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + event.stopPropagation(); + _this.stopPropEvent.emit(event); + })); + }; + ClickEventStopPropagationDirective.decorators = [ + { type: Directive, args: [{ + selector: '[click.stop]', + },] } + ]; + /** @nocollapse */ + ClickEventStopPropagationDirective.ctorParameters = function () { return [ + { type: Renderer2 }, + { type: ElementRef } + ]; }; + ClickEventStopPropagationDirective.propDecorators = { + stopPropEvent: [{ type: Output, args: ['click.stop',] }] + }; + return ClickEventStopPropagationDirective; +}()); +export { ClickEventStopPropagationDirective }; +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RDtJQU1FLDRDQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFGekMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRUgsQ0FBQzs7OztJQUVuRSxxREFBUTs7O0lBQVI7UUFBQSxpQkFPQztRQU5DLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCLFNBQVM7Ozs7UUFBQyxVQUFDLEtBQWlCO1lBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7O2dCQWZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7Ozs7Z0JBTjZELFNBQVM7Z0JBQW5ELFVBQVU7OztnQ0FRM0IsTUFBTSxTQUFDLFlBQVk7O0lBWXRCLHlDQUFDO0NBQUEsQUFoQkQsSUFnQkM7U0FiWSxrQ0FBa0M7OztJQUM3QywyREFBcUU7Ozs7O0lBRXpELHNEQUEyQjs7Ozs7SUFBRSxnREFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsaWNrLnN0b3BdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tFdmVudFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoJ2NsaWNrLnN0b3AnKSBzdG9wUHJvcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveSh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnN0b3BQcm9wRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/interceptors/api.interceptor.js b/npm/ng-packs/dist/core/esm5/lib/interceptors/api.interceptor.js index 6cad514741..3136240d1b 100644 --- a/npm/ng-packs/dist/core/esm5/lib/interceptors/api.interceptor.js +++ b/npm/ng-packs/dist/core/esm5/lib/interceptors/api.interceptor.js @@ -6,7 +6,7 @@ import { Injectable } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; import { Store } from '@ngxs/store'; import { SessionState } from '../states'; -import { LoaderStart, LoaderStop } from '../actions/loader.actions'; +import { StartLoader, StopLoader } from '../actions/loader.actions'; import { finalize } from 'rxjs/operators'; var ApiInterceptor = /** @class */ (function () { function ApiInterceptor(oAuthService, store) { @@ -25,7 +25,7 @@ var ApiInterceptor = /** @class */ (function () { */ function (request, next) { var _this = this; - this.store.dispatch(new LoaderStart(request)); + this.store.dispatch(new StartLoader(request)); /** @type {?} */ var headers = (/** @type {?} */ ({})); /** @type {?} */ @@ -38,6 +38,11 @@ var ApiInterceptor = /** @class */ (function () { if (!request.headers.has('Accept-Language') && lang) { headers['Accept-Language'] = lang; } + /** @type {?} */ + var tenant = this.store.selectSnapshot(SessionState.getTenant); + if (!request.headers.has('__tenant') && tenant) { + headers['__tenant'] = tenant.id; + } return next .handle(request.clone({ setHeaders: headers, @@ -45,7 +50,7 @@ var ApiInterceptor = /** @class */ (function () { .pipe(finalize((/** * @return {?} */ - function () { return _this.store.dispatch(new LoaderStop(request)); }))); + function () { return _this.store.dispatch(new StopLoader(request)); }))); }; ApiInterceptor.decorators = [ { type: Injectable } @@ -70,4 +75,4 @@ if (false) { */ ApiInterceptor.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2ludGVyY2VwdG9ycy9hcGkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQztJQUVFLHdCQUFvQixZQUEwQixFQUFVLEtBQVk7UUFBaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7O0lBRXhFLGtDQUFTOzs7OztJQUFULFVBQVUsT0FBeUIsRUFBRSxJQUFpQjtRQUF0RCxpQkFzQkM7UUFyQkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7WUFFeEMsT0FBTyxHQUFHLG1CQUFBLEVBQUUsRUFBTzs7WUFFbkIsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDbEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQVUsS0FBTyxDQUFDO1NBQzlDOztZQUVLLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNuRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDbkM7UUFFRCxPQUFPLElBQUk7YUFDUixNQUFNLENBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxRQUFROzs7UUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBNUMsQ0FBNEMsRUFBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7Z0JBMUJGLFVBQVU7Ozs7Z0JBTkYsWUFBWTtnQkFDWixLQUFLOztJQWdDZCxxQkFBQztDQUFBLEFBM0JELElBMkJDO1NBMUJZLGNBQWM7Ozs7OztJQUNiLHNDQUFrQzs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3IsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgTG9hZGVyU3RhcnQsIExvYWRlclN0b3AgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWRlci5hY3Rpb25zJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBpSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9BdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBMb2FkZXJTdGFydChyZXF1ZXN0KSk7XG5cbiAgICBjb25zdCBoZWFkZXJzID0ge30gYXMgYW55O1xuXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLm9BdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpO1xuICAgIGlmICghcmVxdWVzdC5oZWFkZXJzLmhhcygnQXV0aG9yaXphdGlvbicpICYmIHRva2VuKSB7XG4gICAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgICB9XG5cbiAgICBjb25zdCBsYW5nID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICAgIGlmICghcmVxdWVzdC5oZWFkZXJzLmhhcygnQWNjZXB0LUxhbmd1YWdlJykgJiYgbGFuZykge1xuICAgICAgaGVhZGVyc1snQWNjZXB0LUxhbmd1YWdlJ10gPSBsYW5nO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0XG4gICAgICAuaGFuZGxlKFxuICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBzZXRIZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IExvYWRlclN0b3AocmVxdWVzdCkpKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2ludGVyY2VwdG9ycy9hcGkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQztJQUVFLHdCQUFvQixZQUEwQixFQUFVLEtBQVk7UUFBaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7O0lBRXhFLGtDQUFTOzs7OztJQUFULFVBQVUsT0FBeUIsRUFBRSxJQUFpQjtRQUF0RCxpQkEyQkM7UUExQkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7WUFFeEMsT0FBTyxHQUFHLG1CQUFBLEVBQUUsRUFBTzs7WUFFbkIsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDbEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQVUsS0FBTyxDQUFDO1NBQzlDOztZQUVLLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNuRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDbkM7O1lBRUssTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUM5QyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSTthQUNSLE1BQU0sQ0FDTCxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ1osVUFBVSxFQUFFLE9BQU87U0FDcEIsQ0FBQyxDQUNIO2FBQ0EsSUFBSSxDQUFDLFFBQVE7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUE1QyxDQUE0QyxFQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOztnQkEvQkYsVUFBVTs7OztnQkFORixZQUFZO2dCQUNaLEtBQUs7O0lBcUNkLHFCQUFDO0NBQUEsQUFoQ0QsSUFnQ0M7U0EvQlksY0FBYzs7Ozs7O0lBQ2Isc0NBQWtDOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBTdGFydExvYWRlciwgU3RvcExvYWRlciB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZGVyLmFjdGlvbnMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFN0YXJ0TG9hZGVyKHJlcXVlc3QpKTtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSB7fSBhcyBhbnk7XG5cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBdXRob3JpemF0aW9uJykgJiYgdG9rZW4pIHtcbiAgICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICAgIH1cblxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSk7XG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBY2NlcHQtTGFuZ3VhZ2UnKSAmJiBsYW5nKSB7XG4gICAgICBoZWFkZXJzWydBY2NlcHQtTGFuZ3VhZ2UnXSA9IGxhbmc7XG4gICAgfVxuXG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0VGVuYW50KTtcbiAgICBpZiAoIXJlcXVlc3QuaGVhZGVycy5oYXMoJ19fdGVuYW50JykgJiYgdGVuYW50KSB7XG4gICAgICBoZWFkZXJzWydfX3RlbmFudCddID0gdGVuYW50LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0XG4gICAgICAuaGFuZGxlKFxuICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBzZXRIZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFN0b3BMb2FkZXIocmVxdWVzdCkpKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/models/common.js b/npm/ng-packs/dist/core/esm5/lib/models/common.js index 5f4bc9a50a..b636460473 100644 --- a/npm/ng-packs/dist/core/esm5/lib/models/common.js +++ b/npm/ng-packs/dist/core/esm5/lib/models/common.js @@ -62,6 +62,8 @@ export var ABP; Route.prototype.path; /** @type {?|undefined} */ Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; } /** * @record @@ -86,4 +88,4 @@ export var ABP; BasicItem.prototype.name; } })(ABP || (ABP = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxHQUFHLENBeUNuQjtBQXpDRCxXQUFpQixHQUFHOzs7O0lBQ2xCLG1CQUdDOzs7O1FBRkMsMkJBQXlDOztRQUN6Qyw0QkFBa0M7Ozs7OztJQU9wQyxpQ0FFQzs7OztRQURDLG1DQUFXOzs7OztJQUdiLDhCQUtDOzs7O1FBSkMsaUNBQWdCOztRQUNoQixrQ0FBaUI7O1FBQ2pCLG9DQUFtQjs7UUFDbkIseUNBQXdCOzs7OztJQUcxQixvQkFTQzs7OztRQVJDLHlCQUFtQjs7UUFDbkIsMEJBQW9COztRQUNwQix1QkFBcUI7O1FBQ3JCLHFCQUFhOztRQUNiLHNCQUFlOztRQUNmLDJCQUFvQjs7UUFDcEIscUJBQWE7O1FBQ2IsK0JBQXdCOzs7OztJQUcxQix3QkFHQzs7OztRQUZDLHdCQUFhOztRQUNiLDRCQUFrQjs7Ozs7SUFHcEIsd0JBR0M7Ozs7UUFGQyx1QkFBVzs7UUFDWCx5QkFBYTs7QUFFakIsQ0FBQyxFQXpDZ0IsR0FBRyxLQUFILEdBQUcsUUF5Q25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQUJQIHtcbiAgZXhwb3J0IGludGVyZmFjZSBSb290IHtcbiAgICBlbnZpcm9ubWVudDogUGFydGlhbDxDb25maWcuRW52aXJvbm1lbnQ+O1xuICAgIHJlcXVpcmVtZW50czogQ29uZmlnLlJlcXVpcmVtZW50cztcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIFBhZ2VkUmVzcG9uc2U8VD4gPSB7XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICB9ICYgUGFnZWRJdGVtc1Jlc3BvbnNlPFQ+O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFnZWRJdGVtc1Jlc3BvbnNlPFQ+IHtcbiAgICBpdGVtczogVFtdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYWdlUXVlcnlQYXJhbXMge1xuICAgIGZpbHRlcj86IHN0cmluZztcbiAgICBzb3J0aW5nPzogc3RyaW5nO1xuICAgIHNraXBDb3VudD86IG51bWJlcjtcbiAgICBtYXhSZXN1bHRDb3VudD86IG51bWJlcjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUm91dGUge1xuICAgIGNoaWxkcmVuPzogUm91dGVbXTtcbiAgICBpbnZpc2libGU/OiBib29sZWFuO1xuICAgIGxheW91dD86IGVMYXlvdXRUeXBlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBwYXJlbnROYW1lPzogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICByZXF1aXJlZFBvbGljeT86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVsbFJvdXRlIGV4dGVuZHMgUm91dGUge1xuICAgIHVybD86IHN0cmluZztcbiAgICB3cmFwcGVyPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQmFzaWNJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxHQUFHLENBMENuQjtBQTFDRCxXQUFpQixHQUFHOzs7O0lBQ2xCLG1CQUdDOzs7O1FBRkMsMkJBQXlDOztRQUN6Qyw0QkFBa0M7Ozs7OztJQU9wQyxpQ0FFQzs7OztRQURDLG1DQUFXOzs7OztJQUdiLDhCQUtDOzs7O1FBSkMsaUNBQWdCOztRQUNoQixrQ0FBaUI7O1FBQ2pCLG9DQUFtQjs7UUFDbkIseUNBQXdCOzs7OztJQUcxQixvQkFVQzs7OztRQVRDLHlCQUFtQjs7UUFDbkIsMEJBQW9COztRQUNwQix1QkFBcUI7O1FBQ3JCLHFCQUFhOztRQUNiLHNCQUFlOztRQUNmLDJCQUFvQjs7UUFDcEIscUJBQWE7O1FBQ2IsK0JBQXdCOztRQUN4QiwwQkFBbUI7Ozs7O0lBR3JCLHdCQUdDOzs7O1FBRkMsd0JBQWE7O1FBQ2IsNEJBQWtCOzs7OztJQUdwQix3QkFHQzs7OztRQUZDLHVCQUFXOztRQUNYLHlCQUFhOztBQUVqQixDQUFDLEVBMUNnQixHQUFHLEtBQUgsR0FBRyxRQTBDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IG5hbWVzcGFjZSBBQlAge1xuICBleHBvcnQgaW50ZXJmYWNlIFJvb3Qge1xuICAgIGVudmlyb25tZW50OiBQYXJ0aWFsPENvbmZpZy5FbnZpcm9ubWVudD47XG4gICAgcmVxdWlyZW1lbnRzOiBDb25maWcuUmVxdWlyZW1lbnRzO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUGFnZWRSZXNwb25zZTxUPiA9IHtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gIH0gJiBQYWdlZEl0ZW1zUmVzcG9uc2U8VD47XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYWdlZEl0ZW1zUmVzcG9uc2U8VD4ge1xuICAgIGl0ZW1zOiBUW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFBhZ2VRdWVyeVBhcmFtcyB7XG4gICAgZmlsdGVyPzogc3RyaW5nO1xuICAgIHNvcnRpbmc/OiBzdHJpbmc7XG4gICAgc2tpcENvdW50PzogbnVtYmVyO1xuICAgIG1heFJlc3VsdENvdW50PzogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSb3V0ZSB7XG4gICAgY2hpbGRyZW4/OiBSb3V0ZVtdO1xuICAgIGludmlzaWJsZT86IGJvb2xlYW47XG4gICAgbGF5b3V0PzogZUxheW91dFR5cGU7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHBhcmVudE5hbWU/OiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHJlcXVpcmVkUG9saWN5Pzogc3RyaW5nO1xuICAgIGljb25DbGFzcz86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVsbFJvdXRlIGV4dGVuZHMgUm91dGUge1xuICAgIHVybD86IHN0cmluZztcbiAgICB3cmFwcGVyPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQmFzaWNJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/models/config.js b/npm/ng-packs/dist/core/esm5/lib/models/config.js index d79d225037..40d9fa406b 100644 --- a/npm/ng-packs/dist/core/esm5/lib/models/config.js +++ b/npm/ng-packs/dist/core/esm5/lib/models/config.js @@ -15,6 +15,8 @@ export var Config; function Environment() { } Config.Environment = Environment; if (false) { + /** @type {?} */ + Environment.prototype.application; /** @type {?} */ Environment.prototype.production; /** @type {?} */ @@ -22,6 +24,17 @@ export var Config; /** @type {?} */ Environment.prototype.apis; } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } /** * @record */ @@ -37,4 +50,4 @@ export var Config; Requirements.prototype.layouts; } })(Config || (Config = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxNQUFNLENBa0J0QjtBQWxCRCxXQUFpQixNQUFNOzs7O0lBQ3JCLG9CQUVDOzs7OztJQUVELDBCQUlDOzs7O1FBSEMsaUNBQW9COztRQUNwQixrQ0FBd0I7O1FBQ3hCLDJCQUFXOzs7OztJQUdiLG1CQUVDOzs7OztJQUVELDJCQUVDOzs7O1FBREMsK0JBQXFCOztBQUV6QixDQUFDLEVBbEJnQixNQUFNLEtBQU4sTUFBTSxRQWtCdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgICBvQXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgICBhcGlzOiBBcGlzO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBcGlzIHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlbWVudHMge1xuICAgIGxheW91dHM6IFR5cGU8YW55PltdO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQU0sS0FBVyxNQUFNLENBd0J0QjtBQXhCRCxXQUFpQixNQUFNOzs7O0lBQ3JCLG9CQUVDOzs7OztJQUVELDBCQUtDOzs7O1FBSkMsa0NBQXlCOztRQUN6QixpQ0FBb0I7O1FBQ3BCLGtDQUF3Qjs7UUFDeEIsMkJBQVc7Ozs7O0lBR2IsMEJBR0M7Ozs7UUFGQywyQkFBYTs7UUFDYiw4QkFBaUI7Ozs7O0lBR25CLG1CQUVDOzs7OztJQUVELDJCQUVDOzs7O1FBREMsK0JBQXFCOztBQUV6QixDQUFDLEVBeEJnQixNQUFNLEtBQU4sTUFBTSxRQXdCdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gICAgYXBwbGljYXRpb246IEFwcGxpY2F0aW9uO1xuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XG4gICAgb0F1dGhDb25maWc6IEF1dGhDb25maWc7XG4gICAgYXBpczogQXBpcztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBsb2dvVXJsPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBcGlzIHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlbWVudHMge1xuICAgIGxheW91dHM6IFR5cGU8YW55PltdO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/models/session.js b/npm/ng-packs/dist/core/esm5/lib/models/session.js index 900196e920..7b819b5155 100644 --- a/npm/ng-packs/dist/core/esm5/lib/models/session.js +++ b/npm/ng-packs/dist/core/esm5/lib/models/session.js @@ -12,6 +12,8 @@ export var Session; if (false) { /** @type {?} */ State.prototype.language; + /** @type {?} */ + State.prototype.tenant; } })(Session || (Session = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxLQUFXLE9BQU8sQ0FJdkI7QUFKRCxXQUFpQixPQUFPOzs7O0lBQ3RCLG9CQUVDOzs7O1FBREMseUJBQWlCOztBQUVyQixDQUFDLEVBSmdCLE9BQU8sS0FBUCxPQUFPLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBTZXNzaW9uIHtcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLE9BQU8sQ0FLdkI7QUFMRCxXQUFpQixPQUFPOzs7O0lBQ3RCLG9CQUdDOzs7O1FBRkMseUJBQWlCOztRQUNqQix1QkFBc0I7O0FBRTFCLENBQUMsRUFMZ0IsT0FBTyxLQUFQLE9BQU8sUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIFNlc3Npb24ge1xuICBleHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgICBsYW5ndWFnZTogc3RyaW5nO1xuICAgIHRlbmFudDogQUJQLkJhc2ljSXRlbTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js b/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js index dcb9eb9a57..fe6b15c68b 100644 --- a/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js @@ -3,9 +3,9 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { Injectable, Inject, InjectionToken } from '@angular/core'; -import { setValue, actionMatcher, InitState, UpdateState } from '@ngxs/store'; +import { Inject, Injectable, InjectionToken } from '@angular/core'; import { Router } from '@angular/router'; +import { actionMatcher, InitState, setValue, UpdateState } from '@ngxs/store'; import snq from 'snq'; import { organizeRoutes } from '../utils/route-utils'; /** @type {?} */ @@ -112,7 +112,7 @@ function transformRoutes(routes, wrappers) { * @param {?} route * @return {?} */ - function (route) { return route.component || route.loadChildren; })) + function (route) { return (route.data || {}).routes && (route.component || route.loadChildren); })) .forEach((/** * @param {?} route * @return {?} @@ -123,7 +123,10 @@ function transformRoutes(routes, wrappers) { * @param {?} abp * @return {?} */ - function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase(); })); + function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + function () { return route.data.routes.length; }), false); })); var length = transformed.length; if (abpPackage) { transformed.push(abpPackage); @@ -167,4 +170,4 @@ function setUrls(routes, parentUrl) { children: setUrls(route.children, "/" + route.path), }))); })); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFjLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDNUcsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQTZCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVqRixNQUFNLEtBQU8sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUM7QUFFMUY7SUFJRSxzQkFBd0QsT0FBaUIsRUFBVSxNQUFjO1FBQXpDLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnpGLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRStELENBQUM7Ozs7Ozs7SUFFckcsNkJBQU07Ozs7OztJQUFOLFVBQU8sS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjs7WUFDN0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7O1lBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUUvRCw2R0FBNkc7UUFDN0csSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2pDLElBQUEsd0NBQTBELEVBQXhELGtCQUFNLEVBQUUsc0JBQWdEO1lBQzlELE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTFDLEtBQUssR0FBRyxR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LEdBQUc7Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLHNCQUN0QixLQUFLLElBQ1IsR0FBRyxFQUFLLFNBQVMsU0FBSSxLQUFLLENBQUMsSUFBTSxJQUM5QixDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBSyxTQUFTLFNBQUksS0FBSyxDQUFDLElBQU0sQ0FBQztTQUNoRSxDQUFDLEVBQ0osRUFQeUIsQ0FPekIsRUFBQyxDQUFDO0tBQ0w7SUFFRCxPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O0lBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxzQkFDdEIsS0FBSyxJQUNSLEdBQUcsRUFBRSxNQUFJLEtBQUssQ0FBQyxJQUFNLElBQ2xCLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7UUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQUksS0FBSyxDQUFDLElBQU0sQ0FBQztLQUNwRCxDQUFDLEVBQ0osRUFQeUIsQ0FPekIsRUFBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neHNQbHVnaW4sIHNldFZhbHVlLCBhY3Rpb25NYXRjaGVyLCBJbml0U3RhdGUsIFVwZGF0ZVN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IHNldENoaWxkUm91dGUsIHNvcnRSb3V0ZXMsIG9yZ2FuaXplUm91dGVzIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWdQbHVnaW4gaW1wbGVtZW50cyBOZ3hzUGx1Z2luIHtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMpIHByaXZhdGUgb3B0aW9uczogQUJQLlJvb3QsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgaGFuZGxlKHN0YXRlOiBhbnksIGV2ZW50OiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pIHtcbiAgICBjb25zdCBtYXRjaGVzID0gYWN0aW9uTWF0Y2hlcihldmVudCk7XG4gICAgY29uc3QgaXNJbml0QWN0aW9uID0gbWF0Y2hlcyhJbml0U3RhdGUpIHx8IG1hdGNoZXMoVXBkYXRlU3RhdGUpO1xuXG4gICAgLy8gY29uc3QgbGF5b3V0cyA9IHNucSgoKSA9PiB0aGlzLm9wdGlvbnMucmVxdWlyZW1lbnRzLmxheW91dHMuZmlsdGVyKGxheW91dCA9PiBsYXlvdXQgaW5zdGFuY2VvZiBUeXBlKSwgW10pO1xuICAgIGlmIChpc0luaXRBY3Rpb24gJiYgIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGxldCB7IHJvdXRlcywgd3JhcHBlcnMgfSA9IHRyYW5zZm9ybVJvdXRlcyh0aGlzLnJvdXRlci5jb25maWcpO1xuICAgICAgcm91dGVzID0gb3JnYW5pemVSb3V0ZXMocm91dGVzLCB3cmFwcGVycyk7XG5cbiAgICAgIHN0YXRlID0gc2V0VmFsdWUoc3RhdGUsICdDb25maWdTdGF0ZScsIHtcbiAgICAgICAgLi4uKHN0YXRlLkNvbmZpZ1N0YXRlICYmIHsgLi4uc3RhdGUuQ29uZmlnU3RhdGUgfSksXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgcm91dGVzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHN0YXRlLCBldmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUm91dGVzKHJvdXRlczogUm91dGVzID0gW10sIHdyYXBwZXJzOiBBQlAuRnVsbFJvdXRlW10gPSBbXSk6IGFueSB7XG4gIGNvbnN0IGFicFJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdID0gcm91dGVzXG4gICAgLmZpbHRlcihyb3V0ZSA9PiB7XG4gICAgICByZXR1cm4gc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLmZpbmQociA9PiByLnBhdGggPT09IHJvdXRlLnBhdGgpLCBmYWxzZSk7XG4gICAgfSlcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLmRhdGEucm91dGVzXSwgW10pO1xuXG4gIHdyYXBwZXJzID0gYWJwUm91dGVzLmZpbHRlcihhciA9PiBhci53cmFwcGVyKTtcbiAgY29uc3QgdHJhbnNmb3JtZWQgPSBbXSBhcyBBQlAuRnVsbFJvdXRlW107XG4gIHJvdXRlc1xuICAgIC5maWx0ZXIocm91dGUgPT4gcm91dGUuY29tcG9uZW50IHx8IHJvdXRlLmxvYWRDaGlsZHJlbilcbiAgICAuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBhYnBQYWNrYWdlID0gYWJwUm91dGVzLmZpbmQoYWJwID0+IGFicC5wYXRoLnRvTG93ZXJDYXNlKCkgPT09IHJvdXRlLnBhdGgudG9Mb3dlckNhc2UoKSk7XG4gICAgICBjb25zdCB7IGxlbmd0aCB9ID0gdHJhbnNmb3JtZWQ7XG5cbiAgICAgIGlmIChhYnBQYWNrYWdlKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goYWJwUGFja2FnZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0cmFuc2Zvcm1lZC5sZW5ndGggPT09IGxlbmd0aCkge1xuICAgICAgICB0cmFuc2Zvcm1lZC5wdXNoKHtcbiAgICAgICAgICBwYXRoOiByb3V0ZS5wYXRoLFxuICAgICAgICAgIG5hbWU6IHNucSgoKSA9PiByb3V0ZS5kYXRhLnJvdXRlcy5uYW1lLCByb3V0ZS5wYXRoKSxcbiAgICAgICAgICBjaGlsZHJlbjogcm91dGUuZGF0YS5yb3V0ZXMuY2hpbGRyZW4gfHwgW10sXG4gICAgICAgIH0gYXMgQUJQLkZ1bGxSb3V0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgcmV0dXJuIHsgcm91dGVzOiBzZXRVcmxzKHRyYW5zZm9ybWVkKSwgd3JhcHBlcnMgfTtcbn1cblxuZnVuY3Rpb24gc2V0VXJscyhyb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSwgcGFyZW50VXJsPzogc3RyaW5nKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgaWYgKHBhcmVudFVybCkge1xuICAgIC8vIHRoaXMgaWYgYmxvY2sgdXNpbmcgZm9yIG9ubHkgcmVjdXJzaXZlIGNhbGxcblxuICAgIHJldHVybiByb3V0ZXMubWFwKHJvdXRlID0+ICh7XG4gICAgICAuLi5yb3V0ZSxcbiAgICAgIHVybDogYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9YCxcbiAgICAgIC4uLihyb3V0ZS5jaGlsZHJlbiAmJlxuICAgICAgICByb3V0ZS5jaGlsZHJlbi5sZW5ndGggJiYge1xuICAgICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gKSxcbiAgICAgICAgfSksXG4gICAgfSkpO1xuICB9XG5cbiAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAuLi5yb3V0ZSxcbiAgICB1cmw6IGAvJHtyb3V0ZS5wYXRofWAsXG4gICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICByb3V0ZS5jaGlsZHJlbi5sZW5ndGggJiYge1xuICAgICAgICBjaGlsZHJlbjogc2V0VXJscyhyb3V0ZS5jaGlsZHJlbiwgYC8ke3JvdXRlLnBhdGh9YCksXG4gICAgICB9KSxcbiAgfSkpO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFnQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVHLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXRELE1BQU0sS0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQztBQUUxRjtJQUlFLHNCQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyw2QkFBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCOztZQUM3QyxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQzs7WUFDOUIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRS9ELDZHQUE2RztRQUM3RyxJQUFJLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsSUFBQSx3Q0FBMEQsRUFBeEQsa0JBQU0sRUFBRSxzQkFBZ0Q7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFMUMsS0FBSyxHQUFHLFFB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QU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFDO0FBQ3BELENBQUM7Ozs7OztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFNLElBQzlCLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7WUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFLLFNBQVMsU0FBSSxLQUFLLENBQUMsSUFBTSxDQUFDO1NBQ2hFLENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7S0FDTDtJQUVELE9BQU8sTUFBTSxDQUFDLEdBQUc7Ozs7SUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLHNCQUN0QixLQUFLLElBQ1IsR0FBRyxFQUFFLE1BQUksS0FBSyxDQUFDLElBQU0sSUFDbEIsQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtRQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBSSxLQUFLLENBQUMsSUFBTSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMuZmluZChyID0+IHIucGF0aCA9PT0gcm91dGUucGF0aCksIGZhbHNlKTtcbiAgICB9KVxuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwuZGF0YS5yb3V0ZXNdLCBbXSk7XG5cbiAgd3JhcHBlcnMgPSBhYnBSb3V0ZXMuZmlsdGVyKGFyID0+IGFyLndyYXBwZXIpO1xuICBjb25zdCB0cmFuc2Zvcm1lZCA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXTtcbiAgcm91dGVzXG4gICAgLmZpbHRlcihyb3V0ZSA9PiAocm91dGUuZGF0YSB8fCB7fSkucm91dGVzICYmIChyb3V0ZS5jb21wb25lbnQgfHwgcm91dGUubG9hZENoaWxkcmVuKSlcbiAgICAuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBhYnBQYWNrYWdlID0gYWJwUm91dGVzLmZpbmQoXG4gICAgICAgIGFicCA9PiBhYnAucGF0aC50b0xvd2VyQ2FzZSgpID09PSByb3V0ZS5wYXRoLnRvTG93ZXJDYXNlKCkgJiYgc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js b/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js index 2664e90c25..9f636ed8de 100644 --- a/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js +++ b/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js @@ -43,20 +43,23 @@ var ProfileService = /** @class */ (function () { }; /** * @param {?} body + * @param {?=} throwErr * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body + * @param {?=} throwErr * @return {?} */ - function (body) { + function (body, throwErr) { + if (throwErr === void 0) { throwErr = false; } /** @type {?} */ var request = { method: 'POST', - url: '/api/identity/my-profile/changePassword', + url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request); + return this.rest.request(request, { throwErr: throwErr }); }; ProfileService.decorators = [ { type: Injectable, args: [{ @@ -78,4 +81,4 @@ if (false) { */ ProfileService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QztJQUlFLHdCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6Qyw0QkFBRzs7O0lBQUg7O1lBQ1EsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF5QixPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUVELCtCQUFNOzs7O0lBQU4sVUFBTyxJQUFzQjs7WUFDckIsT0FBTyxHQUFtQztZQUM5QyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7WUFDL0IsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7OztJQUVELHVDQUFjOzs7O0lBQWQsVUFBZSxJQUFtQzs7WUFDMUMsT0FBTyxHQUFnRDtZQUMzRCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSx5Q0FBeUM7WUFDOUMsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDOztnQkFqQ0YsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFMUSxXQUFXOzs7eUJBRnBCO0NBdUNDLEFBbENELElBa0NDO1NBL0JZLGNBQWM7Ozs7OztJQUNiLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZSwgUmVzdCB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGUoYm9keTogUHJvZmlsZS5SZXNwb25zZSk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLlJlc3BvbnNlPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2UsIFByb2ZpbGUuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgY2hhbmdlUGFzc3dvcmQoYm9keTogUHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8UHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUvY2hhbmdlUGFzc3dvcmQnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0LCBudWxsPihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QztJQUlFLHdCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6Qyw0QkFBRzs7O0lBQUg7O1lBQ1EsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF5QixPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUVELCtCQUFNOzs7O0lBQU4sVUFBTyxJQUFzQjs7WUFDckIsT0FBTyxHQUFtQztZQUM5QyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7WUFDL0IsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7Ozs7SUFFRCx1Q0FBYzs7Ozs7SUFBZCxVQUFlLElBQW1DLEVBQUUsUUFBeUI7UUFBekIseUJBQUEsRUFBQSxnQkFBeUI7O1lBQ3JFLE9BQU8sR0FBZ0Q7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsMENBQTBDO1lBQy9DLElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBc0MsT0FBTyxFQUFFLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7O2dCQWpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQUxRLFdBQVc7Ozt5QkFGcEI7Q0F1Q0MsQUFsQ0QsSUFrQ0M7U0EvQlksY0FBYzs7Ozs7O0lBQ2IsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlLCBSZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBQcm9maWxlLlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZShib2R5OiBQcm9maWxlLlJlc3BvbnNlKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2U+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5SZXNwb25zZSwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChib2R5OiBQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdCwgdGhyb3dFcnI6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZS9jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0LCBudWxsPihyZXF1ZXN0LCB7IHRocm93RXJyIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/states/config.state.js b/npm/ng-packs/dist/core/esm5/lib/states/config.state.js index a5c999b86c..d5583a1776 100644 --- a/npm/ng-packs/dist/core/esm5/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm5/lib/states/config.state.js @@ -4,11 +4,11 @@ */ import * as tslib_1 from "tslib"; import { State, Selector, createSelector, Action, Store } from '@ngxs/store'; -import { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; +import { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; import { ApplicationConfigurationService } from '../services/application-configuration.service'; import { tap, switchMap } from 'rxjs/operators'; import snq from 'snq'; -import { SessionSetLanguage } from '../actions'; +import { SetLanguage } from '../actions'; import { SessionState } from './session.state'; import { of } from 'rxjs'; import { organizeRoutes } from '../utils/route-utils'; @@ -29,6 +29,17 @@ var ConfigState = /** @class */ (function () { function (state) { return state; }; + /** + * @param {?} state + * @return {?} + */ + ConfigState.getApplicationInfo = /** + * @param {?} state + * @return {?} + */ + function (state) { + return state.environment.application || {}; + }; /** * @param {?} key * @return {?} @@ -202,6 +213,8 @@ var ConfigState = /** @class */ (function () { * @return {?} */ function (state) { + if (!state.localization) + return key; var defaultResourceName = state.environment.localization.defaultResourceName; if (keys[0] === '') { if (!defaultResourceName) { @@ -224,14 +237,18 @@ var ConfigState = /** @class */ (function () { } return undefined; }), state.localization.values); + interpolateParams = interpolateParams.filter((/** + * @param {?} params + * @return {?} + */ + function (params) { return params != null; })); if (copy && interpolateParams && interpolateParams.length) { interpolateParams.forEach((/** * @param {?} param - * @param {?} index * @return {?} */ - function (param, index) { - copy = copy.replace("'{" + index + "}'", param); + function (param) { + copy = copy.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param); })); } return copy || key; @@ -262,7 +279,7 @@ var ConfigState = /** @class */ (function () { function (configuration) { return _this.store.selectSnapshot(SessionState.getLanguage) ? of(null) - : dispatch(new SessionSetLanguage(snq((/** + : dispatch(new SetLanguage(snq((/** * @return {?} */ function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); @@ -296,7 +313,7 @@ var ConfigState = /** @class */ (function () { }; var ConfigState_1; tslib_1.__decorate([ - Action(ConfigGetAppConfiguration), + Action(GetAppConfiguration), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) @@ -313,6 +330,12 @@ var ConfigState = /** @class */ (function () { tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], ConfigState, "getAll", null); + tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", void 0) + ], ConfigState, "getApplicationInfo", null); ConfigState = ConfigState_1 = tslib_1.__decorate([ State({ name: 'ConfigState', @@ -373,4 +396,4 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { } return organizeRoutes(routes); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFnQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBNkIsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0lBZ0ovRSxxQkFBb0IsdUJBQXdELEVBQVUsS0FBWTtRQUE5RSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWlDO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7b0JBMUkzRixXQUFXOzs7OztJQUVmLGtCQUFNOzs7O0lBQWIsVUFBYyxLQUFtQjtRQUMvQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7O0lBRU0sa0JBQU07Ozs7SUFBYixVQUFjLEdBQVc7O1lBQ2pCLFFBQVEsR0FBRyxjQUFjLENBQzdCLENBQUMsYUFBVyxDQUFDOzs7O1FBQ2IsVUFBUyxLQUFtQjtZQUMxQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixDQUFDLEVB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QUFDO2FBQ0w7WUFFRCw0QkFBWSxLQUFLLEVBQUssUUFBUSxFQUFHO1NBQ2xDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ2xELEtBQUssQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEc7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWcsIEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdHZXRBcHBDb25maWd1cmF0aW9uLCBQYXRjaFJvdXRlQnlOYW1lIH0gZnJvbSAnLi4vYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgU2Vzc2lvblNldExhbmd1YWdlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNldENoaWxkUm91dGUsIHNvcnRSb3V0ZXMsIG9yZ2FuaXplUm91dGVzIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuXG5AU3RhdGU8Q29uZmlnLlN0YXRlPih7XG4gIG5hbWU6ICdDb25maWdTdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBDb25maWcuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1N0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFsbChzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgc3RhdGljIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGVba2V5XTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBrZXlzID09PSAnc3RyaW5nJykge1xuICAgICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIChrZXlzIGFzIHN0cmluZ1tdKS5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHN0YXRlKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBcGlVcmwoa2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50LmFwaXNba2V5IHx8ICdkZWZhdWx0J10udXJsO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldFNldHRpbmcoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHNucSgoKSA9PiBzdGF0ZS5zZXR0aW5nLnZhbHVlc1trZXldKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRHcmFudGVkUG9saWN5KGNvbmRpdGlvbjogc3RyaW5nID0gJycpIHtcbiAgICBjb25zdCBrZXlzID0gY29uZGl0aW9uXG4gICAgICAucmVwbGFjZSgvXFwofFxcKXxcXCF8XFxzL2csICcnKVxuICAgICAgLnNwbGl0KC9cXHxcXHx8JiYvKVxuICAgICAgLmZpbHRlcihrZXkgPT4ga2V5KTtcblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWtleXMubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjb25zdCBnZXRQb2xpY3kgPSBrZXkgPT4gc25xKCgpID0+IHN0YXRlLmF1dGguZ3JhbnRlZFBvbGljaWVzW2tleV0sIGZhbHNlKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRQb2xpY3koa2V5KTtcbiAgICAgICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbi5yZXBsYWNlKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ldmFsXG4gICAgICAgICAgcmV0dXJuIGV2YWwoYCEhJHtjb25kaXRpb259YCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0UG9saWN5KGNvbmRpdGlvbik7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29weShrZXk6IHN0cmluZywgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCFrZXkpIGtleSA9ICcnO1xuXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnOjonKSBhcyBzdHJpbmdbXTtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0UmVzb3VyY2VOYW1lIH0gPSBzdGF0ZS5lbnZpcm9ubWVudC5sb2NhbGl6YXRpb247XG4gICAgICAgIGlmIChrZXlzWzBdID09PSAnJykge1xuICAgICAgICAgIGlmICghZGVmYXVsdFJlc291cmNlTmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgUGxlYXNlIGNoZWNrIHlvdXIgZW52aXJvbm1lbnQuIE1heSB5b3UgZm9yZ2V0IHNldCBkZWZhdWx0UmVzb3VyY2VOYW1lPyBcbiAgICAgICAgICAgICAgSGVyZSBpcyB0aGUgZXhhbXBsZTpcbiAgICAgICAgICAgICAgIHsgcHJvZHVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbjoge1xuICAgICAgICAgICAgICAgICAgIGRlZmF1bHRSZXNvdXJjZU5hbWU6ICdNeVByb2plY3ROYW1lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGtleXNbMF0gPSBzbnEoKCkgPT4gZGVmYXVsdFJlc291cmNlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29weSA9IGtleXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZS5sb2NhbGl6YXRpb24udmFsdWVzKTtcblxuICAgICAgICBpZiAoY29weSAmJiBpbnRlcnBvbGF0ZVBhcmFtcyAmJiBpbnRlcnBvbGF0ZVBhcmFtcy5sZW5ndGgpIHtcbiAgICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtcy5mb3JFYWNoKChwYXJhbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvcHkgPSBjb3B5LnJlcGxhY2UoYCd7JHtpbmRleH19J2AsIHBhcmFtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3B5IHx8IGtleTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlndXJhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIEBBY3Rpb24oQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSlcbiAgICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgICAgOiBkaXNwYXRjaChcbiAgICAgICAgICAgICAgbmV3IFNlc3Npb25TZXRMYW5ndWFnZShzbnEoKCkgPT4gY29uZmlndXJhdGlvbi5zZXR0aW5nLnZhbHVlc1snQWJwLkxvY2FsaXphdGlvbi5EZWZhdWx0TGFuZ3VhZ2UnXSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oUGF0Y2hSb3V0ZUJ5TmFtZSlcbiAgcGF0Y2hSb3V0ZSh7IHBhdGNoU3RhdGUsIGdldFN0YXRlIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+LCB7IG5hbWUsIG5ld1ZhbHVlIH06IFBhdGNoUm91dGVCeU5hbWUpIHtcbiAgICBsZXQgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSBnZXRTdGF0ZSgpLnJvdXRlcztcblxuICAgIGNvbnN0IGluZGV4ID0gcm91dGVzLmZpbmRJbmRleChyb3V0ZSA9PiByb3V0ZS5uYW1lID09PSBuYW1lKTtcblxuICAgIHJvdXRlcyA9IHBhdGNoUm91dGVEZWVwKHJvdXRlcywgbmFtZSwgbmV3VmFsdWUpO1xuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgcm91dGVzLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUm91dGVEZWVwKFxuICByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSxcbiAgbmFtZTogc3RyaW5nLFxuICBuZXdWYWx1ZTogUGFydGlhbDxBQlAuRnVsbFJvdXRlPixcbiAgcGFyZW50VXJsOiBzdHJpbmcgPSBudWxsLFxuKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgcm91dGVzID0gcm91dGVzLm1hcChyb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZS5wYXRoKSB7XG4gICAgICAgIG5ld1ZhbHVlLnVybCA9IGAke3BhcmVudFVybH0vJHtuZXdWYWx1ZS5wYXRofWA7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdWYWx1ZS5jaGlsZHJlbiAmJiBuZXdWYWx1ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgbmV3VmFsdWUuY2hpbGRyZW4gPSBuZXdWYWx1ZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gKHtcbiAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofS8ke2NoaWxkLnBhdGh9YCxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyAuLi5yb3V0ZSwgLi4ubmV3VmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcm91dGUuY2hpbGRyZW4gPSBwYXRjaFJvdXRlRGVlcChyb3V0ZS5jaGlsZHJlbiwgbmFtZSwgbmV3VmFsdWUsIChwYXJlbnRVcmwgfHwgJy8nKSArIHJvdXRlLnBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZTtcbiAgfSk7XG5cbiAgaWYgKHBhcmVudFVybCkge1xuICAgIC8vIHJlY3Vyc2l2ZSBibG9ja1xuICAgIHJldHVybiByb3V0ZXM7XG4gIH1cblxuICByZXR1cm4gb3JnYW5pemVSb3V0ZXMocm91dGVzKTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFnQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQTZCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztJQXdKL0UscUJBQW9CLHVCQUF3RCxFQUFVLEtBQVk7UUFBOUUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDO29CQWxKM0YsV0FBVzs7Ozs7SUFFZixrQkFBTTs7OztJQUFiLFVBQWMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdNLDhCQUFrQjs7OztJQUF6QixVQUEwQixLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVNLGtCQUFNOzs7O0lBQWIsVUFBYyxHQUFXOztZQUNqQixRQUFRLEdB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QyxJQUFNLENBQUM7YUFDaEQ7WUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O2dCQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQzlDLEtBQUssSUFDUixHQUFHLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFJLFNBQUksS0FBSyxDQUFDLElBQU0sSUFDL0MsRUFIaUQsQ0FHakQsRUFBQyxDQUFDO2FBQ0w7WUFFRCw0QkFBWSxLQUFLLEVBQUssUUFBUSxFQUFHO1NBQ2xDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ2xELEtBQUssQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEc7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWcsIEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBQYXRjaFJvdXRlQnlOYW1lIH0gZnJvbSAnLi4vYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgU2V0TGFuZ3VhZ2UgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4vc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2V0Q2hpbGRSb3V0ZSwgc29ydFJvdXRlcywgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbkBTdGF0ZTxDb25maWcuU3RhdGU+KHtcbiAgbmFtZTogJ0NvbmZpZ1N0YXRlJyxcbiAgZGVmYXVsdHM6IHt9IGFzIENvbmZpZy5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0QWxsKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0QXBwbGljYXRpb25JbmZvKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGUuZW52aXJvbm1lbnQuYXBwbGljYXRpb24gfHwge307XG4gIH1cblxuICBzdGF0aWMgZ2V0T25lKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZVtrZXldO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldERlZXAoa2V5czogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGtleXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBrZXlzID0ga2V5cy5zcGxpdCgnLicpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYXJndW1lbnQgbXVzdCBiZSBhIGRvdCBzdHJpbmcgb3IgYW4gc3RyaW5nIGFycmF5LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gKGtleXMgYXMgc3RyaW5nW10pLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgc3RhdGUpO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldEFwaVVybChrZXk/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc3RhdGUuZW52aXJvbm1lbnQuYXBpc1trZXkgfHwgJ2RlZmF1bHQnXS51cmw7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0U2V0dGluZyhrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gc25xKCgpID0+IHN0YXRlLnNldHRpbmcudmFsdWVzW2tleV0pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldEdyYW50ZWRQb2xpY3koY29uZGl0aW9uOiBzdHJpbmcgPSAnJykge1xuICAgIGNvbnN0IGtleXMgPSBjb25kaXRpb25cbiAgICAgIC5yZXBsYWNlKC9cXCh8XFwpfFxcIXxcXHMvZywgJycpXG4gICAgICAuc3BsaXQoL1xcfFxcfHwmJi8pXG4gICAgICAuZmlsdGVyKGtleSA9PiBrZXkpO1xuXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICgha2V5cy5sZW5ndGgpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGdldFBvbGljeSA9IGtleSA9PiBzbnEoKCkgPT4gc3RhdGUuYXV0aC5ncmFudGVkUG9saWNpZXNba2V5XSwgZmFsc2UpO1xuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFBvbGljeShrZXkpO1xuICAgICAgICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uLnJlcGxhY2Uoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWV2YWxcbiAgICAgICAgICByZXR1cm4gZXZhbChgISEke2NvbmRpdGlvbn1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRQb2xpY3koY29uZGl0aW9uKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb3B5KGtleTogc3RyaW5nLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pIHtcbiAgICBpZiAoIWtleSkga2V5ID0gJyc7XG5cbiAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCc6OicpIGFzIHN0cmluZ1tdO1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICBpZiAoIXN0YXRlLmxvY2FsaXphdGlvbikgcmV0dXJuIGtleTtcblxuICAgICAgICBjb25zdCB7IGRlZmF1bHRSZXNvdXJjZU5hbWUgfSA9IHN0YXRlLmVudmlyb25tZW50LmxvY2FsaXphdGlvbjtcbiAgICAgICAgaWYgKGtleXNbMF0gPT09ICcnKSB7XG4gICAgICAgICAgaWYgKCFkZWZhdWx0UmVzb3VyY2VOYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBQbGVhc2UgY2hlY2sgeW91ciBlbnZpcm9ubWVudC4gTWF5IHlvdSBmb3JnZXQgc2V0IGRlZmF1bHRSZXNvdXJjZU5hbWU/IFxuICAgICAgICAgICAgICBIZXJlIGlzIHRoZSBleGFtcGxlOlxuICAgICAgICAgICAgICAgeyBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgZGVmYXVsdFJlc291cmNlTmFtZTogJ015UHJvamVjdE5hbWUnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAga2V5c1swXSA9IHNucSgoKSA9PiBkZWZhdWx0UmVzb3VyY2VOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3B5ID0ga2V5cy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHN0YXRlLmxvY2FsaXphdGlvbi52YWx1ZXMpO1xuXG4gICAgICAgIGludGVycG9sYXRlUGFyYW1zID0gaW50ZXJwb2xhdGVQYXJhbXMuZmlsdGVyKHBhcmFtcyA9PiBwYXJhbXMgIT0gbnVsbCk7XG4gICAgICAgIGlmIChjb3B5ICYmIGludGVycG9sYXRlUGFyYW1zICYmIGludGVycG9sYXRlUGFyYW1zLmxlbmd0aCkge1xuICAgICAgICAgIGludGVycG9sYXRlUGFyYW1zLmZvckVhY2gocGFyYW0gPT4ge1xuICAgICAgICAgICAgY29weSA9IGNvcHkucmVwbGFjZSgvW1xcJ1xcXCJdP1xce1tcXGRdK1xcfVtcXCdcXFwiXT8vLCBwYXJhbSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29weSB8fCBrZXk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbmZpZ3VyYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBAQWN0aW9uKEdldEFwcENvbmZpZ3VyYXRpb24pXG4gIGFkZERhdGEoeyBwYXRjaFN0YXRlLCBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPikge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgdGFwKGNvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKGNvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpXG4gICAgICAgICAgPyBvZihudWxsKVxuICAgICAgICAgIDogZGlzcGF0Y2gobmV3IFNldExhbmd1YWdlKHNucSgoKSA9PiBjb25maWd1cmF0aW9uLnNldHRpbmcudmFsdWVzWydBYnAuTG9jYWxpemF0aW9uLkRlZmF1bHRMYW5ndWFnZSddKSkpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihQYXRjaFJvdXRlQnlOYW1lKVxuICBwYXRjaFJvdXRlKHsgcGF0Y2hTdGF0ZSwgZ2V0U3RhdGUgfTogU3RhdGVDb250ZXh0PENvbmZpZy5TdGF0ZT4sIHsgbmFtZSwgbmV3VmFsdWUgfTogUGF0Y2hSb3V0ZUJ5TmFtZSkge1xuICAgIGxldCByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IGdldFN0YXRlKCkucm91dGVzO1xuXG4gICAgY29uc3QgaW5kZXggPSByb3V0ZXMuZmluZEluZGV4KHJvdXRlID0+IHJvdXRlLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcm91dGVzID0gcGF0Y2hSb3V0ZURlZXAocm91dGVzLCBuYW1lLCBuZXdWYWx1ZSk7XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICByb3V0ZXMsXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGF0Y2hSb3V0ZURlZXAoXG4gIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLFxuICBuYW1lOiBzdHJpbmcsXG4gIG5ld1ZhbHVlOiBQYXJ0aWFsPEFCUC5GdWxsUm91dGU+LFxuICBwYXJlbnRVcmw6IHN0cmluZyA9IG51bGwsXG4pOiBBQlAuRnVsbFJvdXRlW10ge1xuICByb3V0ZXMgPSByb3V0ZXMubWFwKHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlLnBhdGgpIHtcbiAgICAgICAgbmV3VmFsdWUudXJsID0gYCR7cGFyZW50VXJsfS8ke25ld1ZhbHVlLnBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5ld1ZhbHVlLmNoaWxkcmVuICYmIG5ld1ZhbHVlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZS5jaGlsZHJlbiA9IG5ld1ZhbHVlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgIHVybDogYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9LyR7Y2hpbGQucGF0aH1gLFxuICAgICAgICB9KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJvdXRlLCAuLi5uZXdWYWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IHBhdGNoUm91dGVEZWVwKHJvdXRlLmNoaWxkcmVuLCBuYW1lLCBuZXdWYWx1ZSwgKHBhcmVudFVybCB8fCAnLycpICsgcm91dGUucGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlO1xuICB9KTtcblxuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gcmVjdXJzaXZlIGJsb2NrXG4gICAgcmV0dXJuIHJvdXRlcztcbiAgfVxuXG4gIHJldHVybiBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMpO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/states/profile.state.js b/npm/ng-packs/dist/core/esm5/lib/states/profile.state.js index f089fa52c5..27d7990315 100644 --- a/npm/ng-packs/dist/core/esm5/lib/states/profile.state.js +++ b/npm/ng-packs/dist/core/esm5/lib/states/profile.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions'; +import { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions'; import { ProfileService } from '../services/profile.service'; import { tap } from 'rxjs/operators'; var ProfileState = /** @class */ (function () { @@ -78,24 +78,24 @@ var ProfileState = /** @class */ (function () { */ function (_, _a) { var payload = _a.payload; - return this.profileService.changePassword(payload); + return this.profileService.changePassword(payload, true); }; tslib_1.__decorate([ - Action(ProfileGet), + Action(GetProfile), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "profileGet", null); tslib_1.__decorate([ - Action(ProfileUpdate), + Action(UpdateProfile), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, ProfileUpdate]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateProfile]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "profileUpdate", null); tslib_1.__decorate([ - Action(ProfileChangePassword), + Action(ChangePassword), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, ProfileChangePassword]), + tslib_1.__metadata("design:paramtypes", [Object, ChangePassword]), tslib_1.__metadata("design:returntype", void 0) ], ProfileState.prototype, "changePassword", null); tslib_1.__decorate([ @@ -121,4 +121,4 @@ if (false) { */ ProfileState.prototype.profileService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztJQVluQyxzQkFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQzs7Ozs7SUFKL0MsdUJBQVU7Ozs7SUFBakIsVUFBa0IsRUFBMEI7WUFBeEIsb0JBQU87UUFDekIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7Ozs7SUFLRCxpQ0FBVTs7OztJQUFWLFVBQVcsRUFBMkM7WUFBekMsMEJBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkMsR0FBRzs7OztRQUFDLFVBQUEsT0FBTztZQUNULE9BQUEsVUFBVSxDQUFDO2dCQUNULE9BQU8sU0FBQTthQUNSLENBQUM7UUFGRixDQUVFLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0Qsb0NBQWE7Ozs7O0lBQWIsVUFBYyxFQUEyQyxFQUFFLEVBQTBCO1lBQXJFLDBCQUFVO1lBQW1DLG9CQUFPO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3QyxHQUFHOzs7O1FBQUMsVUFBQSxPQUFPO1lBQ1QsT0FBQSxVQUFVLENBQUM7Z0JBQ1QsT0FBTyxTQUFBO2FBQ1IsQ0FBQztRQUZGLENBRUUsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxxQ0FBYzs7Ozs7SUFBZCxVQUFlLENBQUMsRUFBRSxFQUFrQztZQUFoQyxvQkFBTztRQUN6QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUF4QkQ7UUFEQyxNQUFNLENBQUMsVUFBVSxDQUFDOzs7O2tEQVNsQjtJQUdEO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQzs7eURBQ2tELGFBQWE7O3FEQVFwRjtJQUdEO1FBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDOzt5REFDQyxxQkFBcUI7O3NEQUVuRDtJQS9CRDtRQURDLFFBQVEsRUFBRTs7Ozt3Q0FHVjtJQUpVLFlBQVk7UUFKeEIsS0FBSyxDQUFnQjtZQUNwQixJQUFJLEVBQUUsY0FBYztZQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtTQUM5QixDQUFDO2lEQU9vQyxjQUFjO09BTnZDLFlBQVksQ0FrQ3hCO0lBQUQsbUJBQUM7Q0FBQSxJQUFBO1NBbENZLFlBQVk7Ozs7OztJQU1YLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU2VsZWN0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBQcm9maWxlR2V0LCBQcm9maWxlQ2hhbmdlUGFzc3dvcmQsIFByb2ZpbGVVcGRhdGUgfSBmcm9tICcuLi9hY3Rpb25zL3Byb2ZpbGUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2ZpbGUnO1xuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AU3RhdGU8UHJvZmlsZS5TdGF0ZT4oe1xuICBuYW1lOiAnUHJvZmlsZVN0YXRlJyxcbiAgZGVmYXVsdHM6IHt9IGFzIFByb2ZpbGUuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRQcm9maWxlKHsgcHJvZmlsZSB9OiBQcm9maWxlLlN0YXRlKTogUHJvZmlsZS5SZXNwb25zZSB7XG4gICAgcmV0dXJuIHByb2ZpbGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSkge31cblxuICBAQWN0aW9uKFByb2ZpbGVHZXQpXG4gIHByb2ZpbGVHZXQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxQcm9maWxlLlN0YXRlPikge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICB0YXAocHJvZmlsZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBwcm9maWxlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oUHJvZmlsZVVwZGF0ZSlcbiAgcHJvZmlsZVVwZGF0ZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFByb2ZpbGUuU3RhdGU+LCB7IHBheWxvYWQgfTogUHJvZmlsZVVwZGF0ZSkge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZShwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHByb2ZpbGUgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgcHJvZmlsZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFByb2ZpbGVDaGFuZ2VQYXNzd29yZClcbiAgY2hhbmdlUGFzc3dvcmQoXywgeyBwYXlsb2FkIH06IFByb2ZpbGVDaGFuZ2VQYXNzd29yZCkge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmNoYW5nZVBhc3N3b3JkKHBheWxvYWQpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7SUFZbkMsc0JBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7Ozs7O0lBSi9DLHVCQUFVOzs7O0lBQWpCLFVBQWtCLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ3pCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBS0QsaUNBQVU7Ozs7SUFBVixVQUFXLEVBQTJDO1lBQXpDLDBCQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ25DLEdBQUc7Ozs7UUFBQyxVQUFBLE9BQU87WUFDVCxPQUFBLFVBQVUsQ0FBQztnQkFDVCxPQUFPLFNBQUE7YUFDUixDQUFDO1FBRkYsQ0FFRSxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELG9DQUFhOzs7OztJQUFiLFVBQWMsRUFBMkMsRUFBRSxFQUEwQjtZQUFyRSwwQkFBVTtZQUFtQyxvQkFBTztRQUNsRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0MsR0FBRzs7OztRQUFDLFVBQUEsT0FBTztZQUNULE9BQUEsVUFBVSxDQUFDO2dCQUNULE9BQU8sU0FBQTthQUNSLENBQUM7UUFGRixDQUVFLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QscUNBQWM7Ozs7O0lBQWQsVUFBZSxDQUFDLEVBQUUsRUFBMkI7WUFBekIsb0JBQU87UUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQXhCRDtRQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7Ozs7a0RBU2xCO0lBR0Q7UUFEQyxNQUFNLENBQUMsYUFBYSxDQUFDOzt5REFDa0QsYUFBYTs7cURBUXBGO0lBR0Q7UUFEQyxNQUFNLENBQUMsY0FBYyxDQUFDOzt5REFDUSxjQUFjOztzREFFNUM7SUEvQkQ7UUFEQyxRQUFRLEVBQUU7Ozs7d0NBR1Y7SUFKVSxZQUFZO1FBSnhCLEtBQUssQ0FBZ0I7WUFDcEIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsRUFBaUI7U0FDOUIsQ0FBQztpREFPb0MsY0FBYztPQU52QyxZQUFZLENBa0N4QjtJQUFELG1CQUFDO0NBQUEsSUFBQTtTQWxDWSxZQUFZOzs7Ozs7SUFNWCxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgQWN0aW9uLCBTdGF0ZUNvbnRleHQsIFNlbGVjdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0UHJvZmlsZSwgQ2hhbmdlUGFzc3dvcmQsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICcuLi9hY3Rpb25zL3Byb2ZpbGUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2ZpbGUnO1xuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AU3RhdGU8UHJvZmlsZS5TdGF0ZT4oe1xuICBuYW1lOiAnUHJvZmlsZVN0YXRlJyxcbiAgZGVmYXVsdHM6IHt9IGFzIFByb2ZpbGUuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRQcm9maWxlKHsgcHJvZmlsZSB9OiBQcm9maWxlLlN0YXRlKTogUHJvZmlsZS5SZXNwb25zZSB7XG4gICAgcmV0dXJuIHByb2ZpbGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSkge31cblxuICBAQWN0aW9uKEdldFByb2ZpbGUpXG4gIHByb2ZpbGVHZXQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxQcm9maWxlLlN0YXRlPikge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICB0YXAocHJvZmlsZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBwcm9maWxlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oVXBkYXRlUHJvZmlsZSlcbiAgcHJvZmlsZVVwZGF0ZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFByb2ZpbGUuU3RhdGU+LCB7IHBheWxvYWQgfTogVXBkYXRlUHJvZmlsZSkge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZShwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHByb2ZpbGUgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgcHJvZmlsZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKENoYW5nZVBhc3N3b3JkKVxuICBjaGFuZ2VQYXNzd29yZChfLCB7IHBheWxvYWQgfTogQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5jaGFuZ2VQYXNzd29yZChwYXlsb2FkLCB0cnVlKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/states/session.state.js b/npm/ng-packs/dist/core/esm5/lib/states/session.state.js index 70428cc835..176476eea1 100644 --- a/npm/ng-packs/dist/core/esm5/lib/states/session.state.js +++ b/npm/ng-packs/dist/core/esm5/lib/states/session.state.js @@ -3,8 +3,8 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { State, Action, Selector } from '@ngxs/store'; -import { SessionSetLanguage } from '../actions/session.actions'; +import { Action, Selector, State } from '@ngxs/store'; +import { SetLanguage, SetTenant } from '../actions/session.actions'; var SessionState = /** @class */ (function () { function SessionState() { } @@ -20,12 +20,24 @@ var SessionState = /** @class */ (function () { var language = _a.language; return language; }; + /** + * @param {?} __0 + * @return {?} + */ + SessionState.getTenant = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var tenant = _a.tenant; + return tenant; + }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ - SessionState.prototype.sessionSetLanguage = /** + SessionState.prototype.setLanguage = /** * @param {?} __0 * @param {?} __1 * @return {?} @@ -37,18 +49,47 @@ var SessionState = /** @class */ (function () { language: payload, }); }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + SessionState.prototype.setTenantId = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + patchState({ + tenant: payload, + }); + }; tslib_1.__decorate([ - Action(SessionSetLanguage), + Action(SetLanguage), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, SessionSetLanguage]), + tslib_1.__metadata("design:paramtypes", [Object, SetLanguage]), tslib_1.__metadata("design:returntype", void 0) - ], SessionState.prototype, "sessionSetLanguage", null); + ], SessionState.prototype, "setLanguage", null); + tslib_1.__decorate([ + Action(SetTenant), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, SetTenant]), + tslib_1.__metadata("design:returntype", void 0) + ], SessionState.prototype, "setTenantId", null); tslib_1.__decorate([ Selector(), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", String) ], SessionState, "getLanguage", null); + tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", Object) + ], SessionState, "getTenant", null); SessionState = tslib_1.__decorate([ State({ name: 'SessionState', @@ -59,4 +100,4 @@ var SessionState = /** @class */ (function () { return SessionState; }()); export { SessionState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0lBYTlEO0lBQWUsQ0FBQzs7Ozs7SUFKVCx3QkFBVzs7OztJQUFsQixVQUFtQixFQUEyQjtZQUF6QixzQkFBUTtRQUMzQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7Ozs7SUFLRCx5Q0FBa0I7Ozs7O0lBQWxCLFVBQW1CLEVBQTJDLEVBQUUsRUFBK0I7WUFBMUUsMEJBQVU7WUFBbUMsb0JBQU87UUFDdkUsVUFBVSxDQUFDO1lBQ1QsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUpEO1FBREMsTUFBTSxDQUFDLGtCQUFrQixDQUFDOzt5REFDa0Qsa0JBQWtCOzswREFJOUY7SUFYRDtRQURDLFFBQVEsRUFBRTs7Ozt5Q0FHVjtJQUpVLFlBQVk7UUFKeEIsS0FBSyxDQUFnQjtZQUNwQixJQUFJLEVBQUUsY0FBYztZQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtTQUM5QixDQUFDOztPQUNXLFlBQVksQ0FjeEI7SUFBRCxtQkFBQztDQUFBLElBQUE7U0FkWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFNlc3Npb25TZXRMYW5ndWFnZSB9IGZyb20gJy4uL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zJztcbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi9tb2RlbHMvc2Vzc2lvbic7XG5cbkBTdGF0ZTxTZXNzaW9uLlN0YXRlPih7XG4gIG5hbWU6ICdTZXNzaW9uU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgU2Vzc2lvbi5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldExhbmd1YWdlKHsgbGFuZ3VhZ2UgfTogU2Vzc2lvbi5TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxhbmd1YWdlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBBY3Rpb24oU2Vzc2lvblNldExhbmd1YWdlKVxuICBzZXNzaW9uU2V0TGFuZ3VhZ2UoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxTZXNzaW9uLlN0YXRlPiwgeyBwYXlsb2FkIH06IFNlc3Npb25TZXRMYW5ndWFnZSkge1xuICAgIHBhdGNoU3RhdGUoe1xuICAgICAgbGFuZ3VhZ2U6IHBheWxvYWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7SUFrQmxFO0lBQWUsQ0FBQzs7Ozs7SUFUVCx3QkFBVzs7OztJQUFsQixVQUFtQixFQUEyQjtZQUF6QixzQkFBUTtRQUMzQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7OztJQUdNLHNCQUFTOzs7O0lBQWhCLFVBQWlCLEVBQXlCO1lBQXZCLGtCQUFNO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUtELGtDQUFXOzs7OztJQUFYLFVBQVksRUFBMkMsRUFBRSxFQUF3QjtZQUFuRSwwQkFBVTtZQUFtQyxvQkFBTztRQUNoRSxVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFHRCxrQ0FBVzs7Ozs7SUFBWCxVQUFZLEVBQTJDLEVBQUUsRUFBc0I7WUFBakUsMEJBQVU7WUFBbUMsb0JBQU87UUFDaEUsVUFBVSxDQUFDO1lBQ1QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVhEO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQzs7eURBQ2tELFdBQVc7O21EQUloRjtJQUdEO1FBREMsTUFBTSxDQUFDLFNBQVMsQ0FBQzs7eURBQ29ELFNBQVM7O21EQUk5RTtJQXZCRDtRQURDLFFBQVEsRUFBRTs7Ozt5Q0FHVjtJQUdEO1FBREMsUUFBUSxFQUFFOzs7O3VDQUdWO0lBVFUsWUFBWTtRQUp4QixLQUFLLENBQWdCO1lBQ3BCLElBQUksRUFBRSxjQUFjO1lBQ3BCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEVBQWlCO1NBQzlCLENBQUM7O09BQ1csWUFBWSxDQTBCeEI7SUFBRCxtQkFBQztDQUFBLElBQUE7U0ExQlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBTZXRMYW5ndWFnZSwgU2V0VGVuYW50IH0gZnJvbSAnLi4vYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgQUJQLCBTZXNzaW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQFN0YXRlPFNlc3Npb24uU3RhdGU+KHtcbiAgbmFtZTogJ1Nlc3Npb25TdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBTZXNzaW9uLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TGFuZ3VhZ2UoeyBsYW5ndWFnZSB9OiBTZXNzaW9uLlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VGVuYW50KHsgdGVuYW50IH06IFNlc3Npb24uU3RhdGUpOiBBQlAuQmFzaWNJdGVtIHtcbiAgICByZXR1cm4gdGVuYW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBBY3Rpb24oU2V0TGFuZ3VhZ2UpXG4gIHNldExhbmd1YWdlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvbi5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBTZXRMYW5ndWFnZSkge1xuICAgIHBhdGNoU3RhdGUoe1xuICAgICAgbGFuZ3VhZ2U6IHBheWxvYWQsXG4gICAgfSk7XG4gIH1cblxuICBAQWN0aW9uKFNldFRlbmFudClcbiAgc2V0VGVuYW50SWQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxTZXNzaW9uLlN0YXRlPiwgeyBwYXlsb2FkIH06IFNldFRlbmFudCkge1xuICAgIHBhdGNoU3RhdGUoe1xuICAgICAgdGVuYW50OiBwYXlsb2FkLFxuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js b/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js index 447c670bd2..7ee283c0da 100644 --- a/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js +++ b/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Store } from '@ngxs/store'; -import { ConfigGetAppConfiguration } from '../actions/config.actions'; +import { GetAppConfiguration } from '../actions/config.actions'; /** * @param {?} injector * @return {?} @@ -16,8 +16,8 @@ export function getInitialData(injector) { function () { /** @type {?} */ var store = injector.get(Store); - return store.dispatch(new ConfigGetAppConfiguration()).toPromise(); + return store.dispatch(new GetAppConfiguration()).toPromise(); }); return fn; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUV0RSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztRQUN6QyxFQUFFOzs7SUFBRzs7WUFDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JFLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVoRSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztRQUN6QyxFQUFFOzs7SUFBRzs7WUFDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/utils/route-utils.js b/npm/ng-packs/dist/core/esm5/lib/utils/route-utils.js index 09f678bf07..e846324cf1 100644 --- a/npm/ng-packs/dist/core/esm5/lib/utils/route-utils.js +++ b/npm/ng-packs/dist/core/esm5/lib/utils/route-utils.js @@ -20,7 +20,7 @@ export function organizeRoutes(routes, wrappers, parentNameArr, parentName) { * @return {?} */ function (route) { - if (route.children) { + if (route.children && route.children.length) { route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name); } if (route.parentName && route.parentName !== parentName) { @@ -46,8 +46,7 @@ export function organizeRoutes(routes, wrappers, parentNameArr, parentName) { * @return {?} */ export function setChildRoute(routes, parentNameArr) { - return routes - .map((/** + return routes.map((/** * @param {?} route * @return {?} */ @@ -65,12 +64,7 @@ export function setChildRoute(routes, parentNameArr) { route.children = tslib_1.__spread((route.children || []), foundedChildren); } return route; - })) - .filter((/** - * @param {?} route - * @return {?} - */ - function (route) { return route.path || (route.children && route.children.length); })); + })); } /** * @param {?=} routes @@ -98,4 +92,4 @@ export function sortRoutes(routes) { return route; })); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBdUIsRUFDdkIsUUFBOEIsRUFDOUIsYUFBcUMsRUFDckMsVUFBeUI7SUFGekIseUJBQUEsRUFBQSxhQUE4QjtJQUM5Qiw4QkFBQSxFQUFBLG1DQUFnQixFQUFFLEVBQW1CO0lBQ3JDLDJCQUFBLEVBQUEsaUJBQXlCOztRQUVuQixNQUFNOzs7O0lBQUcsVUFBQSxLQUFLO1FBQ2xCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixLQUFLLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQ3ZELGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFBO0lBRUQsSUFBSSxVQUFVLEVBQUU7UUFDZCxrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzlCOztRQUVLLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUU1QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsT0FBTyxVQUFVLENBQUMsYUFBYSxrQkFBSyxjQUFjLEVBQUssUUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDbkY7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQXVCLEVBQUUsYUFBOEI7SUFDbkYsT0FBTyxNQUFNO1NBQ1YsR0FBRzs7OztJQUFDLFVBQUEsS0FBSztRQUNSLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQy9EOztZQUVLLGVBQWUsR0FBRyxhQUFhLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFoQyxDQUFnQyxFQUFDO1FBQ3hGLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsS0FBSyxDQUFDLFFBQVEsb0JBQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFLLGVBQWUsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7U0FDRCxNQUFNOzs7O0lBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUF2RCxDQUF1RCxFQUFDLENBQUM7QUFDOUUsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTRCO0lBQTVCLHVCQUFBLEVBQUEsV0FBNEI7SUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUIsT0FBTyxNQUFNO1NBQ1YsSUFBSTs7Ozs7SUFBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQWpCLENBQWlCLEVBQUM7U0FDakMsR0FBRzs7OztJQUFDLFVBQUEsS0FBSztRQUNSLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDN0M7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmdhbml6ZVJvdXRlcyhcbiAgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10sXG4gIHdyYXBwZXJzOiBBQlAuRnVsbFJvdXRlW10gPSBbXSxcbiAgcGFyZW50TmFtZUFyciA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXSxcbiAgcGFyZW50TmFtZTogc3RyaW5nID0gbnVsbCxcbik6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGNvbnN0IGZpbHRlciA9IHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUuY2hpbGRyZW4pIHtcbiAgICAgIHJvdXRlLmNoaWxkcmVuID0gb3JnYW5pemVSb3V0ZXMocm91dGUuY2hpbGRyZW4sIHdyYXBwZXJzLCBwYXJlbnROYW1lQXJyLCByb3V0ZS5uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAocm91dGUucGFyZW50TmFtZSAmJiByb3V0ZS5wYXJlbnROYW1lICE9PSBwYXJlbnROYW1lKSB7XG4gICAgICBwYXJlbnROYW1lQXJyLnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGlmIChwYXJlbnROYW1lKSB7XG4gICAgLy8gcmVjdXJzaXZlIGJsb2NrXG4gICAgcmV0dXJuIHJvdXRlcy5maWx0ZXIoZmlsdGVyKTtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmVkUm91dGVzID0gcm91dGVzLmZpbHRlcihmaWx0ZXIpO1xuXG4gIGlmIChwYXJlbnROYW1lQXJyLmxlbmd0aCkge1xuICAgIHJldHVybiBzb3J0Um91dGVzKHNldENoaWxkUm91dGUoWy4uLmZpbHRlcmVkUm91dGVzLCAuLi53cmFwcGVyc10sIHBhcmVudE5hbWVBcnIpKTtcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJlZFJvdXRlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENoaWxkUm91dGUocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhcmVudE5hbWVBcnI6IEFCUC5GdWxsUm91dGVbXSk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIHJldHVybiByb3V0ZXNcbiAgICAubWFwKHJvdXRlID0+IHtcbiAgICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgcm91dGUuY2hpbGRyZW4gPSBzZXRDaGlsZFJvdXRlKHJvdXRlLmNoaWxkcmVuLCBwYXJlbnROYW1lQXJyKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZm91bmRlZENoaWxkcmVuID0gcGFyZW50TmFtZUFyci5maWx0ZXIocGFyZW50ID0+IHBhcmVudC5wYXJlbnROYW1lID09PSByb3V0ZS5uYW1lKTtcbiAgICAgIGlmIChmb3VuZGVkQ2hpbGRyZW4gJiYgZm91bmRlZENoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICByb3V0ZS5jaGlsZHJlbiA9IFsuLi4ocm91dGUuY2hpbGRyZW4gfHwgW10pLCAuLi5mb3VuZGVkQ2hpbGRyZW5dO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfSlcbiAgICAuZmlsdGVyKHJvdXRlID0+IHJvdXRlLnBhdGggfHwgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydFJvdXRlcyhyb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgaWYgKCFyb3V0ZXMubGVuZ3RoKSByZXR1cm4gW107XG4gIHJldHVybiByb3V0ZXNcbiAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpXG4gICAgLm1hcChyb3V0ZSA9PiB7XG4gICAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIHJvdXRlLmNoaWxkcmVuID0gc29ydFJvdXRlcyhyb3V0ZS5jaGlsZHJlbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3V0ZTtcbiAgICB9KTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBdUIsRUFDdkIsUUFBOEIsRUFDOUIsYUFBcUMsRUFDckMsVUFBeUI7SUFGekIseUJBQUEsRUFBQSxhQUE4QjtJQUM5Qiw4QkFBQSxFQUFBLG1DQUFnQixFQUFFLEVBQW1CO0lBQ3JDLDJCQUFBLEVBQUEsaUJBQXlCOztRQUVuQixNQUFNOzs7O0lBQUcsVUFBQSxLQUFLO1FBQ2xCLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQ3ZELGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFBO0lBRUQsSUFBSSxVQUFVLEVBQUU7UUFDZCxrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzlCOztRQUVLLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUU1QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsT0FBTyxVQUFVLENBQUMsYUFBYSxrQkFBSyxjQUFjLEVBQUssUUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDbkY7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQXVCLEVBQUUsYUFBOEI7SUFDbkYsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztJQUFDLFVBQUEsS0FBSztRQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMvRDs7WUFFSyxlQUFlLEdBQUcsYUFBYSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksRUFBaEMsQ0FBZ0MsRUFBQztRQUN4RixJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQzdDLEtBQUssQ0FBQyxRQUFRLG9CQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBSyxlQUFlLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBNEI7SUFBNUIsdUJBQUEsRUFBQSxXQUE0QjtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixPQUFPLE1BQU07U0FDVixJQUFJOzs7OztJQUFDLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBakIsQ0FBaUIsRUFBQztTQUNqQyxHQUFHOzs7O0lBQUMsVUFBQSxLQUFLO1FBQ1IsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzNDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG9yZ2FuaXplUm91dGVzKFxuICByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSxcbiAgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdLFxuICBwYXJlbnROYW1lQXJyID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdLFxuICBwYXJlbnROYW1lOiBzdHJpbmcgPSBudWxsLFxuKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgY29uc3QgZmlsdGVyID0gcm91dGUgPT4ge1xuICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHJvdXRlLmNoaWxkcmVuID0gb3JnYW5pemVSb3V0ZXMocm91dGUuY2hpbGRyZW4sIHdyYXBwZXJzLCBwYXJlbnROYW1lQXJyLCByb3V0ZS5uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAocm91dGUucGFyZW50TmFtZSAmJiByb3V0ZS5wYXJlbnROYW1lICE9PSBwYXJlbnROYW1lKSB7XG4gICAgICBwYXJlbnROYW1lQXJyLnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGlmIChwYXJlbnROYW1lKSB7XG4gICAgLy8gcmVjdXJzaXZlIGJsb2NrXG4gICAgcmV0dXJuIHJvdXRlcy5maWx0ZXIoZmlsdGVyKTtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmVkUm91dGVzID0gcm91dGVzLmZpbHRlcihmaWx0ZXIpO1xuXG4gIGlmIChwYXJlbnROYW1lQXJyLmxlbmd0aCkge1xuICAgIHJldHVybiBzb3J0Um91dGVzKHNldENoaWxkUm91dGUoWy4uLmZpbHRlcmVkUm91dGVzLCAuLi53cmFwcGVyc10sIHBhcmVudE5hbWVBcnIpKTtcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJlZFJvdXRlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENoaWxkUm91dGUocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhcmVudE5hbWVBcnI6IEFCUC5GdWxsUm91dGVbXSk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIHJldHVybiByb3V0ZXMubWFwKHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IHNldENoaWxkUm91dGUocm91dGUuY2hpbGRyZW4sIHBhcmVudE5hbWVBcnIpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kZWRDaGlsZHJlbiA9IHBhcmVudE5hbWVBcnIuZmlsdGVyKHBhcmVudCA9PiBwYXJlbnQucGFyZW50TmFtZSA9PT0gcm91dGUubmFtZSk7XG4gICAgaWYgKGZvdW5kZWRDaGlsZHJlbiAmJiBmb3VuZGVkQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IFsuLi4ocm91dGUuY2hpbGRyZW4gfHwgW10pLCAuLi5mb3VuZGVkQ2hpbGRyZW5dO1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0Um91dGVzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdID0gW10pOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAoIXJvdXRlcy5sZW5ndGgpIHJldHVybiBbXTtcbiAgcmV0dXJuIHJvdXRlc1xuICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcilcbiAgICAubWFwKHJvdXRlID0+IHtcbiAgICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgcm91dGUuY2hpbGRyZW4gPSBzb3J0Um91dGVzKHJvdXRlLmNoaWxkcmVuKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJvdXRlO1xuICAgIH0pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/public-api.js b/npm/ng-packs/dist/core/esm5/public-api.js index 122dd3e6b5..f5d49e97b3 100644 --- a/npm/ng-packs/dist/core/esm5/public-api.js +++ b/npm/ng-packs/dist/core/esm5/public-api.js @@ -6,10 +6,10 @@ * Public API Surface of core */ // export * from './lib/handlers'; -export { PatchRouteByName, ConfigGetAppConfiguration, LoaderStart, LoaderStop, ProfileGet, ProfileUpdate, ProfileChangePassword, RestOccurError, SessionSetLanguage } from './lib/actions'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant } from './lib/actions'; export { DynamicLayoutComponent, RouterOutletComponent } from './lib/components'; // export * from './lib/constants'; -export { EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; +export { AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; export {} from './lib/enums'; export { AuthGuard, PermissionGuard } from './lib/guards'; export { ApiInterceptor } from './lib/interceptors'; @@ -20,4 +20,4 @@ export { ProfileState, ConfigState, SessionState } from './lib/states'; export { environmentFactory, configFactory, ENVIRONMENT, CONFIG } from './lib/tokens'; export { uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; export { CoreModule } from './lib/core.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSwyS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLDRFQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLGdHQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js index 60056e8dcb..7b1d3a94bf 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js @@ -1,16 +1,17 @@ import { __rest, __decorate, __metadata } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ChangeDetectorRef, ElementRef, Input, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, EventEmitter, Output, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; import { NavigationEnd, Router, RouterModule } from '@angular/router'; import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; -import { NEVER, throwError, of, Subject, Observable, ReplaySubject } from 'rxjs'; +import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; -import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged } from 'rxjs/operators'; +import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; import snq from 'snq'; import { OAuthService } from 'angular-oauth2-oidc'; import { Navigate, NgxsRouterPluginModule } from '@ngxs/router-plugin'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; +import { takeUntilDestroy as takeUntilDestroy$1 } from '@ngx-validate/core'; /** * @fileoverview added by tsickle @@ -27,15 +28,15 @@ class PatchRouteByName { } } PatchRouteByName.type = '[Config] Patch Route By Name'; -class ConfigGetAppConfiguration { +class GetAppConfiguration { } -ConfigGetAppConfiguration.type = '[Config] Get App Configuration'; +GetAppConfiguration.type = '[Config] Get App Configuration'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class LoaderStart { +class StartLoader { /** * @param {?} payload */ @@ -43,8 +44,8 @@ class LoaderStart { this.payload = payload; } } -LoaderStart.type = '[Loader] Start'; -class LoaderStop { +StartLoader.type = '[Loader] Start'; +class StopLoader { /** * @param {?} payload */ @@ -52,16 +53,16 @@ class LoaderStop { this.payload = payload; } } -LoaderStop.type = '[Loader] Stop'; +StopLoader.type = '[Loader] Stop'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class ProfileGet { +class GetProfile { } -ProfileGet.type = '[Profile] Get'; -class ProfileUpdate { +GetProfile.type = '[Profile] Get'; +class UpdateProfile { /** * @param {?} payload */ @@ -69,8 +70,8 @@ class ProfileUpdate { this.payload = payload; } } -ProfileUpdate.type = '[Profile] Update'; -class ProfileChangePassword { +UpdateProfile.type = '[Profile] Update'; +class ChangePassword { /** * @param {?} payload */ @@ -78,7 +79,7 @@ class ProfileChangePassword { this.payload = payload; } } -ProfileChangePassword.type = '[Profile] Change Password'; +ChangePassword.type = '[Profile] Change Password'; /** * @fileoverview added by tsickle @@ -98,7 +99,7 @@ RestOccurError.type = '[Rest] Error'; * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class SessionSetLanguage { +class SetLanguage { /** * @param {?} payload */ @@ -106,7 +107,16 @@ class SessionSetLanguage { this.payload = payload; } } -SessionSetLanguage.type = '[Session] Set Language'; +SetLanguage.type = '[Session] Set Language'; +class SetTenant { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +SetTenant.type = '[Session] Set Tenant'; /** * @fileoverview added by tsickle @@ -203,16 +213,17 @@ class ProfileService { } /** * @param {?} body + * @param {?=} throwErr * @return {?} */ - changePassword(body) { + changePassword(body, throwErr = false) { /** @type {?} */ const request = { method: 'POST', - url: '/api/identity/my-profile/changePassword', + url: '/api/identity/my-profile/change-password', body, }; - return this.rest.request(request); + return this.rest.request(request, { throwErr }); } } ProfileService.decorators = [ @@ -277,25 +288,25 @@ let ProfileState = class ProfileState { * @return {?} */ changePassword(_, { payload }) { - return this.profileService.changePassword(payload); + return this.profileService.changePassword(payload, true); } }; __decorate([ - Action(ProfileGet), + Action(GetProfile), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileGet", null); __decorate([ - Action(ProfileUpdate), + Action(UpdateProfile), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileUpdate]), + __metadata("design:paramtypes", [Object, UpdateProfile]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileUpdate", null); __decorate([ - Action(ProfileChangePassword), + Action(ChangePassword), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileChangePassword]), + __metadata("design:paramtypes", [Object, ChangePassword]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "changePassword", null); __decorate([ @@ -359,29 +370,58 @@ let SessionState = class SessionState { static getLanguage({ language }) { return language; } + /** + * @param {?} __0 + * @return {?} + */ + static getTenant({ tenant }) { + return tenant; + } /** * @param {?} __0 * @param {?} __1 * @return {?} */ - sessionSetLanguage({ patchState }, { payload }) { + setLanguage({ patchState }, { payload }) { patchState({ language: payload, }); } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + setTenantId({ patchState }, { payload }) { + patchState({ + tenant: payload, + }); + } }; __decorate([ - Action(SessionSetLanguage), + Action(SetLanguage), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, SetLanguage]), + __metadata("design:returntype", void 0) +], SessionState.prototype, "setLanguage", null); +__decorate([ + Action(SetTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, SessionSetLanguage]), + __metadata("design:paramtypes", [Object, SetTenant]), __metadata("design:returntype", void 0) -], SessionState.prototype, "sessionSetLanguage", null); +], SessionState.prototype, "setTenantId", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", String) ], SessionState, "getLanguage", null); +__decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Object) +], SessionState, "getTenant", null); SessionState = __decorate([ State({ name: 'SessionState', @@ -408,7 +448,7 @@ function organizeRoutes(routes, wrappers = [], parentNameArr = (/** @type {?} */ * @return {?} */ route => { - if (route.children) { + if (route.children && route.children.length) { route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name); } if (route.parentName && route.parentName !== parentName) { @@ -434,8 +474,7 @@ function organizeRoutes(routes, wrappers = [], parentNameArr = (/** @type {?} */ * @return {?} */ function setChildRoute(routes, parentNameArr) { - return routes - .map((/** + return routes.map((/** * @param {?} route * @return {?} */ @@ -453,12 +492,7 @@ function setChildRoute(routes, parentNameArr) { route.children = [...(route.children || []), ...foundedChildren]; } return route; - })) - .filter((/** - * @param {?} route - * @return {?} - */ - route => route.path || (route.children && route.children.length))); + })); } /** * @param {?=} routes @@ -503,6 +537,13 @@ let ConfigState = ConfigState_1 = class ConfigState { static getAll(state) { return state; } + /** + * @param {?} state + * @return {?} + */ + static getApplicationInfo(state) { + return state.environment.application || {}; + } /** * @param {?} key * @return {?} @@ -646,6 +687,8 @@ let ConfigState = ConfigState_1 = class ConfigState { * @return {?} */ function (state) { + if (!state.localization) + return key; const { defaultResourceName } = state.environment.localization; if (keys[0] === '') { if (!defaultResourceName) { @@ -674,14 +717,18 @@ let ConfigState = ConfigState_1 = class ConfigState { } return undefined; }), state.localization.values); + interpolateParams = interpolateParams.filter((/** + * @param {?} params + * @return {?} + */ + params => params != null)); if (copy && interpolateParams && interpolateParams.length) { interpolateParams.forEach((/** * @param {?} param - * @param {?} index * @return {?} */ - (param, index) => { - copy = copy.replace(`'{${index}}'`, param); + param => { + copy = copy.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param); })); } return copy || key; @@ -703,7 +750,7 @@ let ConfigState = ConfigState_1 = class ConfigState { */ configuration => this.store.selectSnapshot(SessionState.getLanguage) ? of(null) - : dispatch(new SessionSetLanguage(snq((/** + : dispatch(new SetLanguage(snq((/** * @return {?} */ () => configuration.setting.values['Abp.Localization.DefaultLanguage']))))))); @@ -729,7 +776,7 @@ let ConfigState = ConfigState_1 = class ConfigState { } }; __decorate([ - Action(ConfigGetAppConfiguration), + Action(GetAppConfiguration), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) @@ -746,6 +793,12 @@ __decorate([ __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ConfigState, "getAll", null); +__decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) +], ConfigState, "getApplicationInfo", null); ConfigState = ConfigState_1 = __decorate([ State({ name: 'ConfigState', @@ -821,7 +874,7 @@ function getInitialData(injector) { function () { /** @type {?} */ const store = injector.get(Store); - return store.dispatch(new ConfigGetAppConfiguration()).toPromise(); + return store.dispatch(new GetAppConfiguration()).toPromise(); }); return fn; } @@ -955,7 +1008,7 @@ function findLayout(segments, routes) { if (route.layout) { layout = route.layout; } - if (route.children && route.children.length) { + if (route.children && route.children.length && segments.length > 1) { /** @type {?} */ const child = route.children.find((/** * @param {?} c @@ -985,6 +1038,41 @@ RouterOutletComponent.decorators = [ }] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class AutofocusDirective { + /** + * @param {?} elRef + */ + constructor(elRef) { + this.elRef = elRef; + this.delay = 0; + } + /** + * @return {?} + */ + ngAfterViewInit() { + setTimeout((/** + * @return {?} + */ + () => this.elRef.nativeElement.focus()), this.delay); + } +} +AutofocusDirective.decorators = [ + { type: Directive, args: [{ + selector: '[autofocus]', + },] } +]; +/** @nocollapse */ +AutofocusDirective.ctorParameters = () => [ + { type: ElementRef } +]; +AutofocusDirective.propDecorators = { + delay: [{ type: Input, args: ['autofocus',] }] +}; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1009,7 +1097,7 @@ class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '180px' : undefined; + return this.enabled ? this.witdh || '160px' : undefined; } /** * @return {?} @@ -1275,7 +1363,7 @@ class ApiInterceptor { * @return {?} */ intercept(request, next) { - this.store.dispatch(new LoaderStart(request)); + this.store.dispatch(new StartLoader(request)); /** @type {?} */ const headers = (/** @type {?} */ ({})); /** @type {?} */ @@ -1288,6 +1376,11 @@ class ApiInterceptor { if (!request.headers.has('Accept-Language') && lang) { headers['Accept-Language'] = lang; } + /** @type {?} */ + const tenant = this.store.selectSnapshot(SessionState.getTenant); + if (!request.headers.has('__tenant') && tenant) { + headers['__tenant'] = tenant.id; + } return next .handle(request.clone({ setHeaders: headers, @@ -1295,7 +1388,7 @@ class ApiInterceptor { .pipe(finalize((/** * @return {?} */ - () => this.store.dispatch(new LoaderStop(request))))); + () => this.store.dispatch(new StopLoader(request))))); } } ApiInterceptor.decorators = [ @@ -1411,7 +1504,7 @@ function transformRoutes(routes = [], wrappers = []) { * @param {?} route * @return {?} */ - route => route.component || route.loadChildren)) + route => (route.data || {}).routes && (route.component || route.loadChildren))) .forEach((/** * @param {?} route * @return {?} @@ -1422,7 +1515,10 @@ function transformRoutes(routes = [], wrappers = []) { * @param {?} abp * @return {?} */ - abp => abp.path.toLowerCase() === route.path.toLowerCase())); + abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + () => route.data.routes.length), false))); const { length } = transformed; if (abpPackage) { transformed.push(abpPackage); @@ -1694,6 +1790,95 @@ LocalizationPipe.ctorParameters = () => [ { type: Store } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class InputEventDebounceDirective { + /** + * @param {?} renderer + * @param {?} el + */ + constructor(renderer, el) { + this.renderer = renderer; + this.el = el; + this.debounce = 300; + this.debounceEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ngOnInit() { + fromEvent(this.el.nativeElement, 'input') + .pipe(debounceTime(this.debounce), takeUntilDestroy$1(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + (event) => { + this.debounceEvent.emit(event); + })); + } +} +InputEventDebounceDirective.decorators = [ + { type: Directive, args: [{ + selector: '[input.debounce]', + },] } +]; +/** @nocollapse */ +InputEventDebounceDirective.ctorParameters = () => [ + { type: Renderer2 }, + { type: ElementRef } +]; +InputEventDebounceDirective.propDecorators = { + debounce: [{ type: Input }], + debounceEvent: [{ type: Output, args: ['input.debounce',] }] +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ClickEventStopPropagationDirective { + /** + * @param {?} renderer + * @param {?} el + */ + constructor(renderer, el) { + this.renderer = renderer; + this.el = el; + this.stopPropEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ngOnInit() { + fromEvent(this.el.nativeElement, 'click') + .pipe(takeUntilDestroy$1(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + (event) => { + event.stopPropagation(); + this.stopPropEvent.emit(event); + })); + } +} +ClickEventStopPropagationDirective.decorators = [ + { type: Directive, args: [{ + selector: '[click.stop]', + },] } +]; +/** @nocollapse */ +ClickEventStopPropagationDirective.ctorParameters = () => [ + { type: Renderer2 }, + { type: ElementRef } +]; +ClickEventStopPropagationDirective.propDecorators = { + stopPropEvent: [{ type: Output, args: ['click.stop',] }] +}; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1746,10 +1931,13 @@ CoreModule.decorators = [ declarations: [ RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - LocalizationPipe, - EllipsisDirective, + InputEventDebounceDirective, + ClickEventStopPropagationDirective, ], exports: [ CommonModule, @@ -1759,15 +1947,19 @@ CoreModule.decorators = [ RouterModule, RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - EllipsisDirective, + InputEventDebounceDirective, LocalizationPipe, + ClickEventStopPropagationDirective, ], providers: [LocalizationPipe], entryComponents: [RouterOutletComponent, DynamicLayoutComponent], },] } ]; -export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, CONFIG, ConfigGetAppConfiguration, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, LazyLoadService, LoaderStart, LoaderStop, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileChangePassword, ProfileGet, ProfileService, ProfileState, ProfileUpdate, Rest, RestOccurError, RestService, RouterOutletComponent, SessionSetLanguage, SessionState, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, RestService as ɵc, ProfileGet as ɵd, ProfileUpdate as ɵe, ProfileChangePassword as ɵf, SessionState as ɵh, SessionSetLanguage as ɵi, ConfigState as ɵj, ApplicationConfigurationService as ɵk, PatchRouteByName as ɵl, ConfigGetAppConfiguration as ɵm, RouterOutletComponent as ɵn, DynamicLayoutComponent as ɵo, ConfigState as ɵp, PermissionDirective as ɵq, VisibilityDirective as ɵr, LocalizationPipe as ɵs, EllipsisDirective as ɵt, NGXS_CONFIG_PLUGIN_OPTIONS as ɵu, ConfigPlugin as ɵv, ApiInterceptor as ɵx, getInitialData as ɵy }; +export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map index 440aad87e1..a4556ae956 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class ConfigGetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class LoaderStart {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class LoaderStop {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class ProfileGet {\n static readonly type = '[Profile] Get';\n}\n\nexport class ProfileUpdate {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ProfileChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","export class SessionSetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/changePassword',\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(ProfileGet)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileUpdate)\n profileUpdate({ patchState }: StateContext, { payload }: ProfileUpdate) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileChangePassword)\n changePassword(_, { payload }: ProfileChangePassword) {\n return this.profileService.changePassword(payload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { SessionSetLanguage } from '../actions/session.actions';\nimport { Session } from '../models/session';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n constructor() {}\n\n @Action(SessionSetLanguage)\n sessionSetLanguage({ patchState }: StateContext, { payload }: SessionSetLanguage) {\n patchState({\n language: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes\n .map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n })\n .filter(route => route.path || (route.children && route.children.length));\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SessionSetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach((param, index) => {\n copy = copy.replace(`'{${index}}'`, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(ConfigGetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(\n new SessionSetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage'])),\n ),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigGetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new ConfigGetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '180px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { LoaderStart, LoaderStop } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new LoaderStart(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new LoaderStop(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Injectable, Inject, InjectionToken, Type } from '@angular/core';\nimport { NgxsPlugin, setValue, actionMatcher, InitState, UpdateState, NgxsNextPluginFn } from '@ngxs/store';\nimport { Router, Routes } from '@angular/router';\nimport { ABP } from '../models';\nimport snq from 'snq';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => route.component || route.loadChildren)\n .forEach(route => {\n const abpPackage = abpRoutes.find(abp => abp.path.toLowerCase() === route.path.toLowerCase());\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n LocalizationPipe,\n EllipsisDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n EllipsisDirective,\n LocalizationPipe,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js index 295a103a14..ca5410906d 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js @@ -1,16 +1,17 @@ import { __rest, __assign, __decorate, __metadata, __spread } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ChangeDetectorRef, ElementRef, Input, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, NgModule, APP_INITIALIZER, Injector } from '@angular/core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, Output, EventEmitter, NgModule, APP_INITIALIZER, Injector } from '@angular/core'; import { Router, NavigationEnd, RouterModule } from '@angular/router'; import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; -import { NEVER, throwError, of, Subject, Observable, ReplaySubject } from 'rxjs'; +import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; -import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged } from 'rxjs/operators'; +import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; import snq from 'snq'; import { OAuthService } from 'angular-oauth2-oidc'; import { Navigate, NgxsRouterPluginModule } from '@ngxs/router-plugin'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; +import { takeUntilDestroy as takeUntilDestroy$1 } from '@ngx-validate/core'; /** * @fileoverview added by tsickle @@ -24,55 +25,55 @@ var PatchRouteByName = /** @class */ (function () { PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); -var ConfigGetAppConfiguration = /** @class */ (function () { - function ConfigGetAppConfiguration() { +var GetAppConfiguration = /** @class */ (function () { + function GetAppConfiguration() { } - ConfigGetAppConfiguration.type = '[Config] Get App Configuration'; - return ConfigGetAppConfiguration; + GetAppConfiguration.type = '[Config] Get App Configuration'; + return GetAppConfiguration; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LoaderStart = /** @class */ (function () { - function LoaderStart(payload) { +var StartLoader = /** @class */ (function () { + function StartLoader(payload) { this.payload = payload; } - LoaderStart.type = '[Loader] Start'; - return LoaderStart; + StartLoader.type = '[Loader] Start'; + return StartLoader; }()); -var LoaderStop = /** @class */ (function () { - function LoaderStop(payload) { +var StopLoader = /** @class */ (function () { + function StopLoader(payload) { this.payload = payload; } - LoaderStop.type = '[Loader] Stop'; - return LoaderStop; + StopLoader.type = '[Loader] Stop'; + return StopLoader; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var ProfileGet = /** @class */ (function () { - function ProfileGet() { +var GetProfile = /** @class */ (function () { + function GetProfile() { } - ProfileGet.type = '[Profile] Get'; - return ProfileGet; + GetProfile.type = '[Profile] Get'; + return GetProfile; }()); -var ProfileUpdate = /** @class */ (function () { - function ProfileUpdate(payload) { +var UpdateProfile = /** @class */ (function () { + function UpdateProfile(payload) { this.payload = payload; } - ProfileUpdate.type = '[Profile] Update'; - return ProfileUpdate; + UpdateProfile.type = '[Profile] Update'; + return UpdateProfile; }()); -var ProfileChangePassword = /** @class */ (function () { - function ProfileChangePassword(payload) { +var ChangePassword = /** @class */ (function () { + function ChangePassword(payload) { this.payload = payload; } - ProfileChangePassword.type = '[Profile] Change Password'; - return ProfileChangePassword; + ChangePassword.type = '[Profile] Change Password'; + return ChangePassword; }()); /** @@ -91,12 +92,19 @@ var RestOccurError = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var SessionSetLanguage = /** @class */ (function () { - function SessionSetLanguage(payload) { +var SetLanguage = /** @class */ (function () { + function SetLanguage(payload) { this.payload = payload; } - SessionSetLanguage.type = '[Session] Set Language'; - return SessionSetLanguage; + SetLanguage.type = '[Session] Set Language'; + return SetLanguage; +}()); +var SetTenant = /** @class */ (function () { + function SetTenant(payload) { + this.payload = payload; + } + SetTenant.type = '[Session] Set Tenant'; + return SetTenant; }()); /** @@ -208,20 +216,23 @@ var ProfileService = /** @class */ (function () { }; /** * @param {?} body + * @param {?=} throwErr * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body + * @param {?=} throwErr * @return {?} */ - function (body) { + function (body, throwErr) { + if (throwErr === void 0) { throwErr = false; } /** @type {?} */ var request = { method: 'POST', - url: '/api/identity/my-profile/changePassword', + url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request); + return this.rest.request(request, { throwErr: throwErr }); }; ProfileService.decorators = [ { type: Injectable, args: [{ @@ -311,24 +322,24 @@ var ProfileState = /** @class */ (function () { */ function (_, _a) { var payload = _a.payload; - return this.profileService.changePassword(payload); + return this.profileService.changePassword(payload, true); }; __decorate([ - Action(ProfileGet), + Action(GetProfile), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileGet", null); __decorate([ - Action(ProfileUpdate), + Action(UpdateProfile), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileUpdate]), + __metadata("design:paramtypes", [Object, UpdateProfile]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "profileUpdate", null); __decorate([ - Action(ProfileChangePassword), + Action(ChangePassword), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, ProfileChangePassword]), + __metadata("design:paramtypes", [Object, ChangePassword]), __metadata("design:returntype", void 0) ], ProfileState.prototype, "changePassword", null); __decorate([ @@ -401,12 +412,24 @@ var SessionState = /** @class */ (function () { var language = _a.language; return language; }; + /** + * @param {?} __0 + * @return {?} + */ + SessionState.getTenant = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var tenant = _a.tenant; + return tenant; + }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ - SessionState.prototype.sessionSetLanguage = /** + SessionState.prototype.setLanguage = /** * @param {?} __0 * @param {?} __1 * @return {?} @@ -418,18 +441,47 @@ var SessionState = /** @class */ (function () { language: payload, }); }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + SessionState.prototype.setTenantId = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + patchState({ + tenant: payload, + }); + }; + __decorate([ + Action(SetLanguage), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, SetLanguage]), + __metadata("design:returntype", void 0) + ], SessionState.prototype, "setLanguage", null); __decorate([ - Action(SessionSetLanguage), + Action(SetTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, SessionSetLanguage]), + __metadata("design:paramtypes", [Object, SetTenant]), __metadata("design:returntype", void 0) - ], SessionState.prototype, "sessionSetLanguage", null); + ], SessionState.prototype, "setTenantId", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", String) ], SessionState, "getLanguage", null); + __decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Object) + ], SessionState, "getTenant", null); SessionState = __decorate([ State({ name: 'SessionState', @@ -461,7 +513,7 @@ function organizeRoutes(routes, wrappers, parentNameArr, parentName) { * @return {?} */ function (route) { - if (route.children) { + if (route.children && route.children.length) { route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name); } if (route.parentName && route.parentName !== parentName) { @@ -487,8 +539,7 @@ function organizeRoutes(routes, wrappers, parentNameArr, parentName) { * @return {?} */ function setChildRoute(routes, parentNameArr) { - return routes - .map((/** + return routes.map((/** * @param {?} route * @return {?} */ @@ -506,12 +557,7 @@ function setChildRoute(routes, parentNameArr) { route.children = __spread((route.children || []), foundedChildren); } return route; - })) - .filter((/** - * @param {?} route - * @return {?} - */ - function (route) { return route.path || (route.children && route.children.length); })); + })); } /** * @param {?=} routes @@ -561,6 +607,17 @@ var ConfigState = /** @class */ (function () { function (state) { return state; }; + /** + * @param {?} state + * @return {?} + */ + ConfigState.getApplicationInfo = /** + * @param {?} state + * @return {?} + */ + function (state) { + return state.environment.application || {}; + }; /** * @param {?} key * @return {?} @@ -734,6 +791,8 @@ var ConfigState = /** @class */ (function () { * @return {?} */ function (state) { + if (!state.localization) + return key; var defaultResourceName = state.environment.localization.defaultResourceName; if (keys[0] === '') { if (!defaultResourceName) { @@ -756,14 +815,18 @@ var ConfigState = /** @class */ (function () { } return undefined; }), state.localization.values); + interpolateParams = interpolateParams.filter((/** + * @param {?} params + * @return {?} + */ + function (params) { return params != null; })); if (copy && interpolateParams && interpolateParams.length) { interpolateParams.forEach((/** * @param {?} param - * @param {?} index * @return {?} */ - function (param, index) { - copy = copy.replace("'{" + index + "}'", param); + function (param) { + copy = copy.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param); })); } return copy || key; @@ -794,7 +857,7 @@ var ConfigState = /** @class */ (function () { function (configuration) { return _this.store.selectSnapshot(SessionState.getLanguage) ? of(null) - : dispatch(new SessionSetLanguage(snq((/** + : dispatch(new SetLanguage(snq((/** * @return {?} */ function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); @@ -828,7 +891,7 @@ var ConfigState = /** @class */ (function () { }; var ConfigState_1; __decorate([ - Action(ConfigGetAppConfiguration), + Action(GetAppConfiguration), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) @@ -845,6 +908,12 @@ var ConfigState = /** @class */ (function () { __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ConfigState, "getAll", null); + __decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) + ], ConfigState, "getApplicationInfo", null); ConfigState = ConfigState_1 = __decorate([ State({ name: 'ConfigState', @@ -923,7 +992,7 @@ function getInitialData(injector) { function () { /** @type {?} */ var store = injector.get(Store); - return store.dispatch(new ConfigGetAppConfiguration()).toPromise(); + return store.dispatch(new GetAppConfiguration()).toPromise(); }); return fn; } @@ -1056,7 +1125,7 @@ function findLayout(segments, routes) { if (route.layout) { layout = route.layout; } - if (route.children && route.children.length) { + if (route.children && route.children.length && segments.length > 1) { /** @type {?} */ var child = route.children.find((/** * @param {?} c @@ -1087,6 +1156,43 @@ var RouterOutletComponent = /** @class */ (function () { return RouterOutletComponent; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var AutofocusDirective = /** @class */ (function () { + function AutofocusDirective(elRef) { + this.elRef = elRef; + this.delay = 0; + } + /** + * @return {?} + */ + AutofocusDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + setTimeout((/** + * @return {?} + */ + function () { return _this.elRef.nativeElement.focus(); }), this.delay); + }; + AutofocusDirective.decorators = [ + { type: Directive, args: [{ + selector: '[autofocus]', + },] } + ]; + /** @nocollapse */ + AutofocusDirective.ctorParameters = function () { return [ + { type: ElementRef } + ]; }; + AutofocusDirective.propDecorators = { + delay: [{ type: Input, args: ['autofocus',] }] + }; + return AutofocusDirective; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1112,7 +1218,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '180px' : undefined; + return this.enabled ? this.witdh || '160px' : undefined; }, enumerable: true, configurable: true @@ -1400,7 +1506,7 @@ var ApiInterceptor = /** @class */ (function () { */ function (request, next) { var _this = this; - this.store.dispatch(new LoaderStart(request)); + this.store.dispatch(new StartLoader(request)); /** @type {?} */ var headers = (/** @type {?} */ ({})); /** @type {?} */ @@ -1413,6 +1519,11 @@ var ApiInterceptor = /** @class */ (function () { if (!request.headers.has('Accept-Language') && lang) { headers['Accept-Language'] = lang; } + /** @type {?} */ + var tenant = this.store.selectSnapshot(SessionState.getTenant); + if (!request.headers.has('__tenant') && tenant) { + headers['__tenant'] = tenant.id; + } return next .handle(request.clone({ setHeaders: headers, @@ -1420,7 +1531,7 @@ var ApiInterceptor = /** @class */ (function () { .pipe(finalize((/** * @return {?} */ - function () { return _this.store.dispatch(new LoaderStop(request)); }))); + function () { return _this.store.dispatch(new StopLoader(request)); }))); }; ApiInterceptor.decorators = [ { type: Injectable } @@ -1542,7 +1653,7 @@ function transformRoutes(routes, wrappers) { * @param {?} route * @return {?} */ - function (route) { return route.component || route.loadChildren; })) + function (route) { return (route.data || {}).routes && (route.component || route.loadChildren); })) .forEach((/** * @param {?} route * @return {?} @@ -1553,7 +1664,10 @@ function transformRoutes(routes, wrappers) { * @param {?} abp * @return {?} */ - function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase(); })); + function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + function () { return route.data.routes.length; }), false); })); var length = transformed.length; if (abpPackage) { transformed.push(abpPackage); @@ -1878,6 +1992,97 @@ var LocalizationPipe = /** @class */ (function () { return LocalizationPipe; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var InputEventDebounceDirective = /** @class */ (function () { + function InputEventDebounceDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.debounce = 300; + this.debounceEvent = new EventEmitter(); + } + /** + * @return {?} + */ + InputEventDebounceDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + fromEvent(this.el.nativeElement, 'input') + .pipe(debounceTime(this.debounce), takeUntilDestroy$1(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + _this.debounceEvent.emit(event); + })); + }; + InputEventDebounceDirective.decorators = [ + { type: Directive, args: [{ + selector: '[input.debounce]', + },] } + ]; + /** @nocollapse */ + InputEventDebounceDirective.ctorParameters = function () { return [ + { type: Renderer2 }, + { type: ElementRef } + ]; }; + InputEventDebounceDirective.propDecorators = { + debounce: [{ type: Input }], + debounceEvent: [{ type: Output, args: ['input.debounce',] }] + }; + return InputEventDebounceDirective; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ClickEventStopPropagationDirective = /** @class */ (function () { + function ClickEventStopPropagationDirective(renderer, el) { + this.renderer = renderer; + this.el = el; + this.stopPropEvent = new EventEmitter(); + } + /** + * @return {?} + */ + ClickEventStopPropagationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + fromEvent(this.el.nativeElement, 'click') + .pipe(takeUntilDestroy$1(this)) + .subscribe((/** + * @param {?} event + * @return {?} + */ + function (event) { + event.stopPropagation(); + _this.stopPropEvent.emit(event); + })); + }; + ClickEventStopPropagationDirective.decorators = [ + { type: Directive, args: [{ + selector: '[click.stop]', + },] } + ]; + /** @nocollapse */ + ClickEventStopPropagationDirective.ctorParameters = function () { return [ + { type: Renderer2 }, + { type: ElementRef } + ]; }; + ClickEventStopPropagationDirective.propDecorators = { + stopPropEvent: [{ type: Output, args: ['click.stop',] }] + }; + return ClickEventStopPropagationDirective; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1936,10 +2141,13 @@ var CoreModule = /** @class */ (function () { declarations: [ RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - LocalizationPipe, - EllipsisDirective, + InputEventDebounceDirective, + ClickEventStopPropagationDirective, ], exports: [ CommonModule, @@ -1949,10 +2157,14 @@ var CoreModule = /** @class */ (function () { RouterModule, RouterOutletComponent, DynamicLayoutComponent, + AutofocusDirective, + EllipsisDirective, + LocalizationPipe, PermissionDirective, VisibilityDirective, - EllipsisDirective, + InputEventDebounceDirective, LocalizationPipe, + ClickEventStopPropagationDirective, ], providers: [LocalizationPipe], entryComponents: [RouterOutletComponent, DynamicLayoutComponent], @@ -1961,5 +2173,5 @@ var CoreModule = /** @class */ (function () { return CoreModule; }()); -export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, CONFIG, ConfigGetAppConfiguration, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, LazyLoadService, LoaderStart, LoaderStop, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileChangePassword, ProfileGet, ProfileService, ProfileState, ProfileUpdate, Rest, RestOccurError, RestService, RouterOutletComponent, SessionSetLanguage, SessionState, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, RestService as ɵc, ProfileGet as ɵd, ProfileUpdate as ɵe, ProfileChangePassword as ɵf, SessionState as ɵh, SessionSetLanguage as ɵi, ConfigState as ɵj, ApplicationConfigurationService as ɵk, PatchRouteByName as ɵl, ConfigGetAppConfiguration as ɵm, RouterOutletComponent as ɵn, DynamicLayoutComponent as ɵo, ConfigState as ɵp, PermissionDirective as ɵq, VisibilityDirective as ɵr, LocalizationPipe as ɵs, EllipsisDirective as ɵt, NGXS_CONFIG_PLUGIN_OPTIONS as ɵu, ConfigPlugin as ɵv, ApiInterceptor as ɵx, getInitialData as ɵy }; +export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map index ce1530adfb..376ef0339c 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class ConfigGetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class LoaderStart {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class LoaderStop {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class ProfileGet {\n static readonly type = '[Profile] Get';\n}\n\nexport class ProfileUpdate {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ProfileChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","export class SessionSetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/changePassword',\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { ProfileGet, ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(ProfileGet)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileUpdate)\n profileUpdate({ patchState }: StateContext, { payload }: ProfileUpdate) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ProfileChangePassword)\n changePassword(_, { payload }: ProfileChangePassword) {\n return this.profileService.changePassword(payload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { SessionSetLanguage } from '../actions/session.actions';\nimport { Session } from '../models/session';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n constructor() {}\n\n @Action(SessionSetLanguage)\n sessionSetLanguage({ patchState }: StateContext, { payload }: SessionSetLanguage) {\n patchState({\n language: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes\n .map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n })\n .filter(route => route.path || (route.children && route.children.length));\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { ConfigGetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SessionSetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach((param, index) => {\n copy = copy.replace(`'{${index}}'`, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(ConfigGetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(\n new SessionSetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage'])),\n ),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigGetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new ConfigGetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '180px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { LoaderStart, LoaderStop } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new LoaderStart(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new LoaderStop(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Injectable, Inject, InjectionToken, Type } from '@angular/core';\nimport { NgxsPlugin, setValue, actionMatcher, InitState, UpdateState, NgxsNextPluginFn } from '@ngxs/store';\nimport { Router, Routes } from '@angular/router';\nimport { ABP } from '../models';\nimport snq from 'snq';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => route.component || route.loadChildren)\n .forEach(route => {\n const abpPackage = abpRoutes.find(abp => abp.path.toLowerCase() === route.path.toLowerCase());\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n LocalizationPipe,\n EllipsisDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n PermissionDirective,\n VisibilityDirective,\n EllipsisDirective,\n LocalizationPipe,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/lib/actions/config.actions.d.ts b/npm/ng-packs/dist/core/lib/actions/config.actions.d.ts index 0a61f1bef7..2d5137e587 100644 --- a/npm/ng-packs/dist/core/lib/actions/config.actions.d.ts +++ b/npm/ng-packs/dist/core/lib/actions/config.actions.d.ts @@ -5,6 +5,6 @@ export declare class PatchRouteByName { static readonly type = "[Config] Patch Route By Name"; constructor(name: string, newValue: Partial); } -export declare class ConfigGetAppConfiguration { +export declare class GetAppConfiguration { static readonly type = "[Config] Get App Configuration"; } diff --git a/npm/ng-packs/dist/core/lib/actions/loader.actions.d.ts b/npm/ng-packs/dist/core/lib/actions/loader.actions.d.ts index e6080e24c2..20de15563b 100644 --- a/npm/ng-packs/dist/core/lib/actions/loader.actions.d.ts +++ b/npm/ng-packs/dist/core/lib/actions/loader.actions.d.ts @@ -1,10 +1,10 @@ import { HttpRequest } from '@angular/common/http'; -export declare class LoaderStart { +export declare class StartLoader { payload: HttpRequest; static readonly type = "[Loader] Start"; constructor(payload: HttpRequest); } -export declare class LoaderStop { +export declare class StopLoader { payload: HttpRequest; static readonly type = "[Loader] Stop"; constructor(payload: HttpRequest); diff --git a/npm/ng-packs/dist/core/lib/actions/profile.actions.d.ts b/npm/ng-packs/dist/core/lib/actions/profile.actions.d.ts index c50747a28c..8561fe5e3d 100644 --- a/npm/ng-packs/dist/core/lib/actions/profile.actions.d.ts +++ b/npm/ng-packs/dist/core/lib/actions/profile.actions.d.ts @@ -1,13 +1,13 @@ import { Profile } from '../models'; -export declare class ProfileGet { +export declare class GetProfile { static readonly type = "[Profile] Get"; } -export declare class ProfileUpdate { +export declare class UpdateProfile { payload: Profile.Response; static readonly type = "[Profile] Update"; constructor(payload: Profile.Response); } -export declare class ProfileChangePassword { +export declare class ChangePassword { payload: Profile.ChangePasswordRequest; static readonly type = "[Profile] Change Password"; constructor(payload: Profile.ChangePasswordRequest); diff --git a/npm/ng-packs/dist/core/lib/actions/session.actions.d.ts b/npm/ng-packs/dist/core/lib/actions/session.actions.d.ts index 6156f5e922..2f64a706e0 100644 --- a/npm/ng-packs/dist/core/lib/actions/session.actions.d.ts +++ b/npm/ng-packs/dist/core/lib/actions/session.actions.d.ts @@ -1,5 +1,11 @@ -export declare class SessionSetLanguage { +import { ABP } from '../models'; +export declare class SetLanguage { payload: string; static readonly type = "[Session] Set Language"; constructor(payload: string); } +export declare class SetTenant { + payload: ABP.BasicItem; + static readonly type = "[Session] Set Tenant"; + constructor(payload: ABP.BasicItem); +} diff --git a/npm/ng-packs/dist/core/lib/directives/autofocus.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/autofocus.directive.d.ts new file mode 100644 index 0000000000..adf5cd581a --- /dev/null +++ b/npm/ng-packs/dist/core/lib/directives/autofocus.directive.d.ts @@ -0,0 +1,7 @@ +import { ElementRef, AfterViewInit } from '@angular/core'; +export declare class AutofocusDirective implements AfterViewInit { + private elRef; + delay: number; + constructor(elRef: ElementRef); + ngAfterViewInit(): void; +} diff --git a/npm/ng-packs/dist/core/lib/directives/debounce.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/debounce.directive.d.ts new file mode 100644 index 0000000000..b243b242e4 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/directives/debounce.directive.d.ts @@ -0,0 +1,9 @@ +import { Renderer2, ElementRef, OnInit, EventEmitter } from '@angular/core'; +export declare class InputEventDebounceDirective implements OnInit { + private renderer; + private el; + debounce: number; + debounceEvent: EventEmitter; + constructor(renderer: Renderer2, el: ElementRef); + ngOnInit(): void; +} diff --git a/npm/ng-packs/dist/core/lib/directives/index.d.ts b/npm/ng-packs/dist/core/lib/directives/index.d.ts index a20dd40c55..de5846382c 100644 --- a/npm/ng-packs/dist/core/lib/directives/index.d.ts +++ b/npm/ng-packs/dist/core/lib/directives/index.d.ts @@ -1,3 +1,4 @@ +export * from './autofocus.directive'; export * from './ellipsis.directive'; export * from './permission.directive'; export * from './visibility.directive'; diff --git a/npm/ng-packs/dist/core/lib/directives/stop-propagation.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/stop-propagation.directive.d.ts new file mode 100644 index 0000000000..fbf0da0281 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/directives/stop-propagation.directive.d.ts @@ -0,0 +1,8 @@ +import { ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core'; +export declare class ClickEventStopPropagationDirective implements OnInit { + private renderer; + private el; + stopPropEvent: EventEmitter; + constructor(renderer: Renderer2, el: ElementRef); + ngOnInit(): void; +} diff --git a/npm/ng-packs/dist/core/lib/models/common.d.ts b/npm/ng-packs/dist/core/lib/models/common.d.ts index 441cc67ec8..306e7ea5fb 100644 --- a/npm/ng-packs/dist/core/lib/models/common.d.ts +++ b/npm/ng-packs/dist/core/lib/models/common.d.ts @@ -26,6 +26,7 @@ export declare namespace ABP { parentName?: string; path: string; requiredPolicy?: string; + iconClass?: string; } interface FullRoute extends Route { url?: string; diff --git a/npm/ng-packs/dist/core/lib/models/config.d.ts b/npm/ng-packs/dist/core/lib/models/config.d.ts index c04cfb90a7..34616b5f75 100644 --- a/npm/ng-packs/dist/core/lib/models/config.d.ts +++ b/npm/ng-packs/dist/core/lib/models/config.d.ts @@ -5,10 +5,15 @@ export declare namespace Config { [key: string]: any; } interface Environment { + application: Application; production: boolean; oAuthConfig: AuthConfig; apis: Apis; } + interface Application { + name: string; + logoUrl?: string; + } interface Apis { [key: string]: { [key: string]: string; diff --git a/npm/ng-packs/dist/core/lib/models/session.d.ts b/npm/ng-packs/dist/core/lib/models/session.d.ts index 3aed472242..b7fa0257cb 100644 --- a/npm/ng-packs/dist/core/lib/models/session.d.ts +++ b/npm/ng-packs/dist/core/lib/models/session.d.ts @@ -1,5 +1,7 @@ +import { ABP } from '../models'; export declare namespace Session { interface State { language: string; + tenant: ABP.BasicItem; } } diff --git a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts index 5f7024a1ca..b46b7d801a 100644 --- a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts +++ b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts @@ -1,6 +1,6 @@ import { InjectionToken } from '@angular/core'; -import { NgxsPlugin, NgxsNextPluginFn } from '@ngxs/store'; import { Router } from '@angular/router'; +import { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store'; import { ABP } from '../models'; export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken<{}>; export declare class ConfigPlugin implements NgxsPlugin { diff --git a/npm/ng-packs/dist/core/lib/services/profile.service.d.ts b/npm/ng-packs/dist/core/lib/services/profile.service.d.ts index eac7ac9961..9c1d60be0b 100644 --- a/npm/ng-packs/dist/core/lib/services/profile.service.d.ts +++ b/npm/ng-packs/dist/core/lib/services/profile.service.d.ts @@ -6,5 +6,5 @@ export declare class ProfileService { constructor(rest: RestService); get(): Observable; update(body: Profile.Response): Observable; - changePassword(body: Profile.ChangePasswordRequest): Observable; + changePassword(body: Profile.ChangePasswordRequest, throwErr?: boolean): Observable; } diff --git a/npm/ng-packs/dist/core/lib/states/config.state.d.ts b/npm/ng-packs/dist/core/lib/states/config.state.d.ts index d54039bacb..01a8a90693 100644 --- a/npm/ng-packs/dist/core/lib/states/config.state.d.ts +++ b/npm/ng-packs/dist/core/lib/states/config.state.d.ts @@ -6,6 +6,7 @@ export declare class ConfigState { private appConfigurationService; private store; static getAll(state: Config.State): Config.State; + static getApplicationInfo(state: Config.State): any; static getOne(key: string): (state: Config.State) => any; static getDeep(keys: string[] | string): (state: Config.State) => any; static getApiUrl(key?: string): (state: Config.State) => string; diff --git a/npm/ng-packs/dist/core/lib/states/profile.state.d.ts b/npm/ng-packs/dist/core/lib/states/profile.state.d.ts index 344ab3a8a8..9dbce552af 100644 --- a/npm/ng-packs/dist/core/lib/states/profile.state.d.ts +++ b/npm/ng-packs/dist/core/lib/states/profile.state.d.ts @@ -1,5 +1,5 @@ import { StateContext } from '@ngxs/store'; -import { ProfileChangePassword, ProfileUpdate } from '../actions/profile.actions'; +import { ChangePassword, UpdateProfile } from '../actions/profile.actions'; import { Profile } from '../models/profile'; import { ProfileService } from '../services/profile.service'; export declare class ProfileState { @@ -7,6 +7,6 @@ export declare class ProfileState { static getProfile({ profile }: Profile.State): Profile.Response; constructor(profileService: ProfileService); profileGet({ patchState }: StateContext): import("rxjs").Observable; - profileUpdate({ patchState }: StateContext, { payload }: ProfileUpdate): import("rxjs").Observable; - changePassword(_: any, { payload }: ProfileChangePassword): import("rxjs").Observable; + profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile): import("rxjs").Observable; + changePassword(_: any, { payload }: ChangePassword): import("rxjs").Observable; } diff --git a/npm/ng-packs/dist/core/lib/states/session.state.d.ts b/npm/ng-packs/dist/core/lib/states/session.state.d.ts index 5771f223f5..9df517d1e3 100644 --- a/npm/ng-packs/dist/core/lib/states/session.state.d.ts +++ b/npm/ng-packs/dist/core/lib/states/session.state.d.ts @@ -1,8 +1,10 @@ import { StateContext } from '@ngxs/store'; -import { SessionSetLanguage } from '../actions/session.actions'; -import { Session } from '../models/session'; +import { SetLanguage, SetTenant } from '../actions/session.actions'; +import { ABP, Session } from '../models'; export declare class SessionState { static getLanguage({ language }: Session.State): string; + static getTenant({ tenant }: Session.State): ABP.BasicItem; constructor(); - sessionSetLanguage({ patchState }: StateContext, { payload }: SessionSetLanguage): void; + setLanguage({ patchState }: StateContext, { payload }: SetLanguage): void; + setTenantId({ patchState }: StateContext, { payload }: SetTenant): void; } diff --git a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts index a672552806..57fff48eaa 100644 --- a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts +++ b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts @@ -1,6 +1,7 @@ import { InjectionToken } from '@angular/core'; import { Config } from '../models'; export declare function environmentFactory(environment: Config.Environment): { + application: Config.Application; production: boolean; oAuthConfig: import("angular-oauth2-oidc").AuthConfig; apis: Config.Apis; diff --git a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json index 8ca8d8530b..d52fdb7fa6 100644 --- a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json +++ b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"IdentityGetRoles":{"__symbolic":"class","members":{},"statics":{"type":"[Identity] Get Roles"}},"IdentityGetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"IdentityDeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"IdentityAddRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Add Role"}},"IdentityUpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"IdentityGetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":29,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"IdentityGetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"IdentityDeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"IdentityAddUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Add User"}},"IdentityUpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":49,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"IdentityGetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n"}]}],"members":{"roles$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":36,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":36,"character":104}]}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"Administration","path":"","order":1,"wrapper":true},{"name":"Identity","path":"identity","order":1,"parentName":"Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"children":[{"path":"roles","name":"Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"addRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"addUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityGetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityGetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityDeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityAddRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityUpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityGetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityGetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityDeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityAddUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityUpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"IdentityGetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":24,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":27,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":30,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":61,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":61,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":61,"character":104}]}],"ngOnInit":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","IdentityGetRoles":"./lib/actions/identity.actions","IdentityGetRoleById":"./lib/actions/identity.actions","IdentityDeleteRole":"./lib/actions/identity.actions","IdentityAddRole":"./lib/actions/identity.actions","IdentityUpdateRole":"./lib/actions/identity.actions","IdentityGetUsers":"./lib/actions/identity.actions","IdentityGetUserById":"./lib/actions/identity.actions","IdentityDeleteUser":"./lib/actions/identity.actions","IdentityAddUser":"./lib/actions/identity.actions","IdentityUpdateUser":"./lib/actions/identity.actions","IdentityGetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":41,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":41,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":41,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":58,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":58,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":58,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js index 2d4d3afd68..226588a8f9 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ngxs/store'), require('rxjs'), require('@angular/forms'), require('rxjs/operators'), require('@abp/ng.theme.shared'), require('@angular/router'), require('@ngx-validate/core'), require('snq'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.permission-management'), require('primeng/table'), require('ngx-perfect-scrollbar')) : - typeof define === 'function' && define.amd ? define('@abp/ng.identity', ['exports', '@abp/ng.core', '@angular/core', '@ngxs/store', 'rxjs', '@angular/forms', 'rxjs/operators', '@abp/ng.theme.shared', '@angular/router', '@ngx-validate/core', 'snq', '@ng-bootstrap/ng-bootstrap', '@abp/ng.permission-management', 'primeng/table', 'ngx-perfect-scrollbar'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.identity = {}), global.ng_core, global.ng.core, global.store, global.rxjs, global.ng.forms, global.rxjs.operators, global.ng_theme_shared, global.ng.router, global.core$1, global.snq, global.ngBootstrap, global.ng_permissionManagement, global.table, global.ngxPerfectScrollbar)); -}(this, function (exports, ng_core, core, store, rxjs, forms, operators, ng_theme_shared, router, core$1, snq, ngBootstrap, ng_permissionManagement, table, ngxPerfectScrollbar) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ngxs/store'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('snq'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.permission-management'), require('primeng/table'), require('@ngx-validate/core'), require('ngx-perfect-scrollbar')) : + typeof define === 'function' && define.amd ? define('@abp/ng.identity', ['exports', '@abp/ng.core', '@angular/core', '@ngxs/store', '@abp/ng.theme.shared', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/router', 'snq', '@ng-bootstrap/ng-bootstrap', '@abp/ng.permission-management', 'primeng/table', '@ngx-validate/core', 'ngx-perfect-scrollbar'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.identity = {}), global.ng_core, global.ng.core, global.store, global.ng_theme_shared, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.router, global.snq, global.ngBootstrap, global.ng_permissionManagement, global.table, global.core$1, global.ngxPerfectScrollbar)); +}(this, function (exports, ng_core, core, store, ng_theme_shared, forms, rxjs, operators, router, snq, ngBootstrap, ng_permissionManagement, table, core$1, ngxPerfectScrollbar) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -41,104 +41,88 @@ function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - } - - function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var IdentityGetRoles = /** @class */ (function () { - function IdentityGetRoles() { + var GetRoles = /** @class */ (function () { + function GetRoles(payload) { + this.payload = payload; } - IdentityGetRoles.type = '[Identity] Get Roles'; - return IdentityGetRoles; + GetRoles.type = '[Identity] Get Roles'; + return GetRoles; }()); - var IdentityGetRoleById = /** @class */ (function () { - function IdentityGetRoleById(payload) { + var GetRoleById = /** @class */ (function () { + function GetRoleById(payload) { this.payload = payload; } - IdentityGetRoleById.type = '[Identity] Get Role By Id'; - return IdentityGetRoleById; + GetRoleById.type = '[Identity] Get Role By Id'; + return GetRoleById; }()); - var IdentityDeleteRole = /** @class */ (function () { - function IdentityDeleteRole(payload) { + var DeleteRole = /** @class */ (function () { + function DeleteRole(payload) { this.payload = payload; } - IdentityDeleteRole.type = '[Identity] Delete Role'; - return IdentityDeleteRole; + DeleteRole.type = '[Identity] Delete Role'; + return DeleteRole; }()); - var IdentityAddRole = /** @class */ (function () { - function IdentityAddRole(payload) { + var CreateRole = /** @class */ (function () { + function CreateRole(payload) { this.payload = payload; } - IdentityAddRole.type = '[Identity] Add Role'; - return IdentityAddRole; + CreateRole.type = '[Identity] Create Role'; + return CreateRole; }()); - var IdentityUpdateRole = /** @class */ (function () { - function IdentityUpdateRole(payload) { + var UpdateRole = /** @class */ (function () { + function UpdateRole(payload) { this.payload = payload; } - IdentityUpdateRole.type = '[Identity] Update Role'; - return IdentityUpdateRole; + UpdateRole.type = '[Identity] Update Role'; + return UpdateRole; }()); - var IdentityGetUsers = /** @class */ (function () { - function IdentityGetUsers(payload) { + var GetUsers = /** @class */ (function () { + function GetUsers(payload) { this.payload = payload; } - IdentityGetUsers.type = '[Identity] Get Users'; - return IdentityGetUsers; + GetUsers.type = '[Identity] Get Users'; + return GetUsers; }()); - var IdentityGetUserById = /** @class */ (function () { - function IdentityGetUserById(payload) { + var GetUserById = /** @class */ (function () { + function GetUserById(payload) { this.payload = payload; } - IdentityGetUserById.type = '[Identity] Get User By Id'; - return IdentityGetUserById; + GetUserById.type = '[Identity] Get User By Id'; + return GetUserById; }()); - var IdentityDeleteUser = /** @class */ (function () { - function IdentityDeleteUser(payload) { + var DeleteUser = /** @class */ (function () { + function DeleteUser(payload) { this.payload = payload; } - IdentityDeleteUser.type = '[Identity] Delete User'; - return IdentityDeleteUser; + DeleteUser.type = '[Identity] Delete User'; + return DeleteUser; }()); - var IdentityAddUser = /** @class */ (function () { - function IdentityAddUser(payload) { + var CreateUser = /** @class */ (function () { + function CreateUser(payload) { this.payload = payload; } - IdentityAddUser.type = '[Identity] Add User'; - return IdentityAddUser; + CreateUser.type = '[Identity] Create User'; + return CreateUser; }()); - var IdentityUpdateUser = /** @class */ (function () { - function IdentityUpdateUser(payload) { + var UpdateUser = /** @class */ (function () { + function UpdateUser(payload) { this.payload = payload; } - IdentityUpdateUser.type = '[Identity] Update User'; - return IdentityUpdateUser; + UpdateUser.type = '[Identity] Update User'; + return UpdateUser; }()); - var IdentityGetUserRoles = /** @class */ (function () { - function IdentityGetUserRoles(payload) { + var GetUserRoles = /** @class */ (function () { + function GetUserRoles(payload) { this.payload = payload; } - IdentityGetUserRoles.type = '[Identity] Get User Roles'; - return IdentityGetUserRoles; + GetUserRoles.type = '[Identity] Get User Roles'; + return GetUserRoles; }()); /** @@ -150,16 +134,20 @@ this.rest = rest; } /** + * @param {?=} params * @return {?} */ IdentityService.prototype.getRoles = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/identity/roles', + params: params, }; return this.rest.request(request); }; @@ -199,7 +187,7 @@ * @param {?} body * @return {?} */ - IdentityService.prototype.addRole = /** + IdentityService.prototype.createRole = /** * @param {?} body * @return {?} */ @@ -302,7 +290,7 @@ * @param {?} body * @return {?} */ - IdentityService.prototype.addUser = /** + IdentityService.prototype.createUser = /** * @param {?} body * @return {?} */ @@ -325,7 +313,7 @@ */ function (body) { /** @type {?} */ - var url = "/identity/users/" + body.id; + var url = "/api/identity/users/" + body.id; delete body.id; /** @type {?} */ var request = { @@ -406,15 +394,18 @@ }; /** * @param {?} __0 + * @param {?} __1 * @return {?} */ IdentityState.prototype.getRoles = /** * @param {?} __0 + * @param {?} __1 * @return {?} */ - function (_a) { + function (_a, _b) { var patchState = _a.patchState; - return this.identityService.getRoles().pipe(operators.tap((/** + var payload = _b.payload; + return this.identityService.getRoles(payload).pipe(operators.tap((/** * @param {?} roles * @return {?} */ @@ -463,7 +454,7 @@ return this.identityService.deleteRole(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -478,10 +469,10 @@ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addRole(payload).pipe(operators.switchMap((/** + return this.identityService.createRole(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -497,13 +488,13 @@ var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetRoleById(payload.id)).pipe(operators.switchMap((/** + return dispatch(new GetRoleById(payload.id)).pipe(operators.switchMap((/** * @return {?} */ function () { return _this.identityService.updateRole(__assign({}, getState().selectedRole, payload)); })), operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -567,7 +558,7 @@ return this.identityService.deleteUser(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -582,10 +573,10 @@ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addUser(payload).pipe(operators.switchMap((/** + return this.identityService.createUser(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -601,13 +592,13 @@ var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetUserById(payload.id)).pipe(operators.switchMap((/** + return dispatch(new GetUserById(payload.id)).pipe(operators.switchMap((/** * @return {?} */ function () { return _this.identityService.updateUser(__assign({}, getState().selectedUser, payload)); })), operators.switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -633,69 +624,69 @@ }))); }; __decorate([ - store.Action(IdentityGetRoles), + store.Action(GetRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); __decorate([ - store.Action(IdentityGetRoleById), + store.Action(GetRoleById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); __decorate([ - store.Action(IdentityDeleteRole), + store.Action(DeleteRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); __decorate([ - store.Action(IdentityAddRole), + store.Action(CreateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddRole]), + __metadata("design:paramtypes", [Object, CreateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); __decorate([ - store.Action(IdentityUpdateRole), + store.Action(UpdateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateRole]), + __metadata("design:paramtypes", [Object, UpdateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); __decorate([ - store.Action(IdentityGetUsers), + store.Action(GetUsers), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUsers]), + __metadata("design:paramtypes", [Object, GetUsers]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); __decorate([ - store.Action(IdentityGetUserById), + store.Action(GetUserById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); __decorate([ - store.Action(IdentityDeleteUser), + store.Action(DeleteUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); __decorate([ - store.Action(IdentityAddUser), + store.Action(CreateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddUser]), + __metadata("design:paramtypes", [Object, CreateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); __decorate([ - store.Action(IdentityUpdateUser), + store.Action(UpdateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateUser]), + __metadata("design:paramtypes", [Object, UpdateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); __decorate([ - store.Action(IdentityGetUserRoles), + store.Action(GetUserRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserRoles]), + __metadata("design:paramtypes", [Object, GetUserRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); __decorate([ @@ -742,7 +733,23 @@ this.fb = fb; this.store = store; this.visiblePermissions = false; + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } + /** + * @param {?} value + * @return {?} + */ + RolesComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @return {?} */ @@ -751,7 +758,10 @@ */ function () { this.form = this.fb.group({ - name: [this.selected.name || '', [forms.Validators.required, forms.Validators.maxLength(256)]], + name: new forms.FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [ + forms.Validators.required, + forms.Validators.maxLength(256), + ]), isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); @@ -787,7 +797,7 @@ function (id) { var _this = this; this.store - .dispatch(new IdentityGetRoleById(id)) + .dispatch(new GetRoleById(id)) .pipe(operators.pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole @@ -810,8 +820,8 @@ return; this.store .dispatch(this.selected.id - ? new IdentityUpdateRole(__assign({}, this.form.value, { id: this.selected.id })) - : new IdentityAddRole(this.form.value)) + ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) + : new CreateRole(this.form.value)) .subscribe((/** * @return {?} */ @@ -841,14 +851,44 @@ */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteRole(id)); + _this.store.dispatch(new DeleteRole(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + RolesComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + RolesComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetRoles(this.pageQuery)) + .pipe(operators.finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; RolesComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -863,7 +903,11 @@ __decorate([ store.Select(IdentityState.getRoles), __metadata("design:type", rxjs.Observable) - ], RolesComponent.prototype, "roles$", void 0); + ], RolesComponent.prototype, "data$", void 0); + __decorate([ + store.Select(IdentityState.getRolesTotalCount), + __metadata("design:type", rxjs.Observable) + ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); @@ -884,7 +928,7 @@ function () { /** @type {?} */ var roles = this.store.selectSnapshot(IdentityState.getRoles); - return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles()); + return roles && roles.length ? null : this.store.dispatch(new GetRoles()); }; RoleResolver.decorators = [ { type: core.Injectable } @@ -910,7 +954,6 @@ sorting: 'userName', }; this.loading = false; - this.search$ = new rxjs.Subject(); this.trackByFn = (/** * @param {?} index * @param {?} item @@ -933,21 +976,16 @@ configurable: true }); /** + * @param {?} value * @return {?} */ - UsersComponent.prototype.ngOnInit = /** + UsersComponent.prototype.onSearch = /** + * @param {?} value * @return {?} */ - function () { - var _this = this; - this.search$.pipe(operators.debounceTime(300)).subscribe((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.pageQuery.filter = value; - _this.get(); - })); + function (value) { + this.pageQuery.filter = value; + this.get(); }; /** * @return {?} @@ -959,15 +997,6 @@ var _this = this; this.roles = this.store.selectSnapshot(IdentityState.getRoles); this.form = this.fb.group({ - password: [ - '', - [ - forms.Validators.required, - forms.Validators.maxLength(32), - forms.Validators.minLength(6), - core$1.validatePassword(['small', 'capital', 'number', 'special']), - ], - ], userName: [this.selected.userName || '', [forms.Validators.required, forms.Validators.maxLength(256)]], email: [this.selected.email || '', [forms.Validators.required, forms.Validators.email, forms.Validators.maxLength(256)]], name: [this.selected.name || '', [forms.Validators.maxLength(64)]], @@ -993,6 +1022,9 @@ _a)); }))), }); + if (!this.selected.userName) { + this.form.addControl('password', new forms.FormControl('', [forms.Validators.required, forms.Validators.maxLength(32)])); + } }; /** * @return {?} @@ -1025,22 +1057,12 @@ */ function (id) { var _this = this; - rxjs.combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))]) - .pipe(operators.filter((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = __read(_a, 2), res1 = _b[0], res2 = _b[1]; - return res1 && res2; - })), operators.map((/** - * @param {?} __0 + this.store + .dispatch(new GetUserById(id)) + .pipe(operators.switchMap((/** * @return {?} */ - function (_a) { - var _b = __read(_a, 2), state = _b[0], _ = _b[1]; - return state; - })), operators.pluck('IdentityState'), operators.take(1)) + function () { return _this.store.dispatch(new GetUserRoles(id)); })), operators.pluck('IdentityState'), operators.take(1)) .subscribe((/** * @param {?} state * @return {?} @@ -1077,8 +1099,8 @@ function (role) { return Object.keys(role)[0]; })); }), []); this.store .dispatch(this.selected.id - ? new IdentityUpdateUser(__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) - : new IdentityAddUser(__assign({}, this.form.value, { roleNames: mappedRoleNames }))) + ? new UpdateUser(__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) + : new CreateUser(__assign({}, this.form.value, { roleNames: mappedRoleNames }))) .subscribe((/** * @return {?} */ @@ -1108,7 +1130,7 @@ */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteUser(id)); + _this.store.dispatch(new DeleteUser(id)); } })); }; @@ -1134,15 +1156,18 @@ function () { var _this = this; this.loading = true; - this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe((/** + this.store + .dispatch(new GetUsers(this.pageQuery)) + .pipe(operators.finalize((/** * @return {?} */ - function () { return (_this.loading = false); })); + function () { return (_this.loading = false); }))) + .subscribe(); }; UsersComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -1182,7 +1207,7 @@ function () { /** @type {?} */ var users = this.store.selectSnapshot(IdentityState.getUsers); - return users && users.length ? null : this.store.dispatch(new IdentityGetUsers()); + return users && users.length ? null : this.store.dispatch(new GetUsers()); }; UserResolver.decorators = [ { type: core.Injectable } @@ -1270,20 +1295,21 @@ /** @type {?} */ var IDENTITY_ROUTES = (/** @type {?} */ ([ { - name: 'Administration', + name: 'AbpUiNavigation::Menu:Administration', path: '', order: 1, wrapper: true, }, { - name: 'Identity', + name: 'AbpIdentity::Menu:IdentityManagement', path: 'identity', order: 1, - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', children: [ - { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, ], }, ])); @@ -1326,23 +1352,23 @@ Identity.UserSaveRequest = UserSaveRequest; })(Identity || (Identity = {})); + exports.CreateRole = CreateRole; + exports.CreateUser = CreateUser; + exports.DeleteRole = DeleteRole; + exports.DeleteUser = DeleteUser; + exports.GetRoleById = GetRoleById; + exports.GetRoles = GetRoles; + exports.GetUserById = GetUserById; + exports.GetUserRoles = GetUserRoles; + exports.GetUsers = GetUsers; exports.IDENTITY_ROUTES = IDENTITY_ROUTES; - exports.IdentityAddRole = IdentityAddRole; - exports.IdentityAddUser = IdentityAddUser; - exports.IdentityDeleteRole = IdentityDeleteRole; - exports.IdentityDeleteUser = IdentityDeleteUser; - exports.IdentityGetRoleById = IdentityGetRoleById; - exports.IdentityGetRoles = IdentityGetRoles; - exports.IdentityGetUserById = IdentityGetUserById; - exports.IdentityGetUserRoles = IdentityGetUserRoles; - exports.IdentityGetUsers = IdentityGetUsers; exports.IdentityModule = IdentityModule; exports.IdentityService = IdentityService; exports.IdentityState = IdentityState; - exports.IdentityUpdateRole = IdentityUpdateRole; - exports.IdentityUpdateUser = IdentityUpdateUser; exports.RoleResolver = RoleResolver; exports.RolesComponent = RolesComponent; + exports.UpdateRole = UpdateRole; + exports.UpdateUser = UpdateUser; exports.ɵb = UsersComponent; exports.ɵc = IdentityRoutingModule; exports.ɵd = UserResolver; diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map index 2de0d94430..f24f269b58 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class IdentityGetRoles {\n static readonly type = '[Identity] Get Roles';\n}\n\nexport class IdentityGetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddRole {\n static readonly type = '[Identity] Add Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class IdentityUpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class IdentityGetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class IdentityGetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddUser {\n static readonly type = '[Identity] Add User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class IdentityUpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class IdentityGetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n IdentityAddRole,\n IdentityAddUser,\n IdentityDeleteRole,\n IdentityDeleteUser,\n IdentityGetRoleById,\n IdentityGetRoles,\n IdentityGetUserById,\n IdentityGetUsers,\n IdentityUpdateRole,\n IdentityUpdateUser,\n IdentityGetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(IdentityGetRoles)\n getRoles({ patchState }: StateContext) {\n return this.identityService.getRoles().pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(IdentityGetRoleById)\n getRole({ patchState }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityAddRole)\n addRole({ dispatch }: StateContext, { payload }: IdentityAddRole) {\n return this.identityService.addRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityUpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: IdentityUpdateRole) {\n return dispatch(new IdentityGetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new IdentityGetRoles())),\n );\n }\n\n @Action(IdentityGetUsers)\n getUsers({ patchState }: StateContext, { payload }: IdentityGetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(IdentityGetUserById)\n getUser({ patchState }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityAddUser)\n addUser({ dispatch }: StateContext, { payload }: IdentityAddUser) {\n return this.identityService.addUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityUpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: IdentityUpdateUser) {\n return dispatch(new IdentityGetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new IdentityGetUsers())),\n );\n }\n\n @Action(IdentityGetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: IdentityGetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { IdentityState } from '../../states/identity.state';\nimport { Identity } from '../../models/identity';\nimport {\n IdentityUpdateRole,\n IdentityAddRole,\n IdentityDeleteRole,\n IdentityGetRoleById,\n} from '../../actions/identity.actions';\nimport { pluck } from 'rxjs/operators';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n roles$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new IdentityGetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateRole({ ...this.form.value, id: this.selected.id })\n : new IdentityAddRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteRole(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, OnInit, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { validatePassword } from '@ngx-validate/core';\nimport { Select, Store } from '@ngxs/store';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, map, pluck, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n IdentityAddUser,\n IdentityDeleteUser,\n IdentityGetUserById,\n IdentityGetUserRoles,\n IdentityGetUsers,\n IdentityUpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent implements OnInit {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n search$ = new Subject();\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n ngOnInit() {\n this.search$.pipe(debounceTime(300)).subscribe(value => {\n this.pageQuery.filter = value;\n this.get();\n });\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n\n this.form = this.fb.group({\n password: [\n '',\n [\n Validators.required,\n Validators.maxLength(32),\n Validators.minLength(6),\n validatePassword(['small', 'capital', 'number', 'special']),\n ],\n ],\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))])\n .pipe(\n filter(([res1, res2]) => res1 && res2),\n map(([state, _]) => state),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new IdentityAddUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe(() => (this.loading = false));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new IdentityGetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'Identity',\n path: 'identity',\n order: 1,\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","Validators","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","Subject","debounceTime","validatePassword","combineLatest","filter","map","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js index 06bb0cb2a2..8c41f4231f 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("@angular/forms"),require("rxjs/operators"),require("@abp/ng.theme.shared"),require("@angular/router"),require("@ngx-validate/core"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","rxjs","@angular/forms","rxjs/operators","@abp/ng.theme.shared","@angular/router","@ngx-validate/core","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.rxjs,e.ng.forms,e.rxjs.operators,e.ng_theme_shared,e.ng.router,e.core$1,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";d=d&&d.hasOwnProperty("default")?d.default:d;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var v,I=function(){function e(){}return e.type="[Identity] Get Roles",e}(),w=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}(),A=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}(),R=function(){function e(e){this.payload=e}return e.type="[Identity] Add Role",e}(),U=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}(),S=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}(),L=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}(),N=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}(),x=function(){function e(e){this.payload=e}return e.type="[Identity] Add User",e}(),C=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}(),k=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}(),P=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(){return this.rest.request({method:"GET",url:"/api/identity/roles"})},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.addRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.addUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),M=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e){var t=e.patchState;return this.identityService.getRoles().pipe(a.tap(function(e){return t({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(a.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(a.switchMap(function(){return n(new I)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.addRole(o).pipe(a.switchMap(function(){return n(new I)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new w(i.id)).pipe(a.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),a.switchMap(function(){return r(new I)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(a.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(a.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(a.switchMap(function(){return n(new S)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.addUser(o).pipe(a.switchMap(function(){return n(new S)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new L(i.id)).pipe(a.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),a.switchMap(function(){return r(new S)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(a.pluck("items"),a.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,R]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(x),h("design:type",Function),h("design:paramtypes",[Object,x]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,C]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(k),h("design:type",Function),h("design:paramtypes",[Object,k]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[P])],e)}(),z=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1}return e.prototype.createForm=function(){this.form=this.fb.group({name:[this.selected.name||"",[i.Validators.required,i.Validators.maxLength(256)]],isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new w(e)).pipe(a.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&this.store.dispatch(this.selected.id?new U(m({},this.form.value,{id:this.selected.id})):new R(this.form.value)).subscribe(function(){e.isModalVisible=!1})},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new A(e))})},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:s.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(M.getRoles),h("design:type",r.Observable)],e.prototype,"roles$",void 0),e}(),j=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(M.getRoles);return e&&e.length?null:this.store.dispatch(new I)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),D=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.search$=new r.Subject,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return d(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.search$.pipe(a.debounceTime(300)).subscribe(function(t){e.pageQuery.filter=t,e.get()})},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(M.getRoles),this.form=this.fb.group({password:["",[i.Validators.required,i.Validators.maxLength(32),i.Validators.minLength(6),p.validatePassword(["small","capital","number","special"])]],userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!d(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))})},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;r.combineLatest([this.store.dispatch(new L(e)),this.store.dispatch(new k(e))]).pipe(a.filter(function(e){var t=g(e,2),n=t[0],o=t[1];return n&&o}),a.map(function(e){var t=g(e,2),n=t[0];t[1];return n}),a.pluck("IdentityState"),a.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){var t=this.form.value.roleNames,n=d(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new C(m({},this.form.value,{id:this.selected.id,roleNames:n})):new x(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new N(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new S(this.pageQuery)).subscribe(function(){return e.loading=!1})},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:s.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(M.getUsers),h("design:type",r.Observable)],e.prototype,"data$",void 0),f([o.Select(M.getUsersTotalCount),h("design:type",r.Observable)],e.prototype,"totalCount$",void 0),e}(),q=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(M.getUsers);return e&&e.length?null:this.store.dispatch(new S)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),O=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:z,resolve:[j]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:D,resolve:[j,q]}]}],F=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(O)],exports:[l.RouterModule],providers:[j,q]}]}],e}(),T=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[z,D],imports:[o.NgxsModule.forFeature([M]),t.CoreModule,F,c.NgbTabsetModule,s.ThemeSharedModule,b.TableModule,c.NgbDropdownModule,u.PermissionManagementModule,p.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){e.State=function(){},e.RoleSaveRequest=function(){},e.RoleItem=function(){},e.UserItem=function(){},e.User=function(){},e.UserSaveRequest=function(){}}(v||(v={})),e.IDENTITY_ROUTES=[{name:"Administration",path:"",order:1,wrapper:!0},{name:"Identity",path:"identity",order:1,parentName:"Administration",layout:"application",children:[{path:"roles",name:"Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityAddRole=R,e.IdentityAddUser=x,e.IdentityDeleteRole=A,e.IdentityDeleteUser=N,e.IdentityGetRoleById=w,e.IdentityGetRoles=I,e.IdentityGetUserById=L,e.IdentityGetUserRoles=k,e.IdentityGetUsers=S,e.IdentityModule=T,e.IdentityService=P,e.IdentityState=M,e.IdentityUpdateRole=U,e.IdentityUpdateUser=C,e.RoleResolver=j,e.RolesComponent=z,e.ɵb=D,e.ɵc=F,e.ɵd=q,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g,v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}(),I=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}(),R=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}(),w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}(),A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}(),U=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}(),S=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}(),C=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}(),L=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}(),N=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}(),x=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}(),P=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new I(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new v)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new S(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new U)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(x),h("design:type",Function),h("design:paramtypes",[Object,x]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[P])],e)}(),M=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new I(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.isModalVisible=!1})},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new R(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new v(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),k=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new v)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),q=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new S(e)).pipe(s.switchMap(function(){return t.store.dispatch(new x(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new N(m({},this.form.value,{id:this.selected.id,roleNames:n})):new L(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new C(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new U(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new U)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),j=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:M,resolve:[k]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:q,resolve:[k,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(j)],exports:[l.RouterModule],providers:[k,D]}]}],e}(),T=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[M,q],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){e.State=function(){},e.RoleSaveRequest=function(){},e.RoleItem=function(){},e.UserItem=function(){},e.User=function(){},e.UserSaveRequest=function(){}}(g||(g={})),e.CreateRole=w,e.CreateUser=L,e.DeleteRole=R,e.DeleteUser=C,e.GetRoleById=I,e.GetRoles=v,e.GetUserById=S,e.GetUserRoles=x,e.GetUsers=U,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=T,e.IdentityService=P,e.IdentityState=z,e.RoleResolver=k,e.RolesComponent=M,e.UpdateRole=A,e.UpdateUser=N,e.ɵb=q,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.identity.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map index 8d0504bfa9..ca0d172159 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","Identity","IdentityGetRoles","type","IdentityGetRoleById","payload","IdentityDeleteRole","IdentityAddRole","IdentityUpdateRole","IdentityGetUsers","IdentityGetUserById","IdentityDeleteUser","IdentityAddUser","IdentityUpdateUser","IdentityGetUserRoles","IdentityService","rest","getRoles","request","method","url","getRoleById","id","deleteRole","addRole","body","updateRole","getUsers","params","getUserById","getUserRoles","deleteUser","addUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","patchState","pipe","tap","getRole","_b","selectedRole","dispatch","switchMap","_this","getState","getUser","selectedUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","createForm","form","group","selected","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","pageQuery","sorting","loading","search$","Subject","trackByFn","index","item","keys","snq","get","ngOnInit","debounceTime","filter","buildForm","password","minLength","validatePassword","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","combineLatest","res1","res2","state","take","mappedRoleNames","onPageChange","data","skipCount","first","maxResultCount","rows","UserResolver","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","order","wrapper","parentName","layout"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class IdentityGetRoles {\n static readonly type = '[Identity] Get Roles';\n}\n\nexport class IdentityGetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddRole {\n static readonly type = '[Identity] Add Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class IdentityUpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class IdentityGetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class IdentityGetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddUser {\n static readonly type = '[Identity] Add User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class IdentityUpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class IdentityGetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n IdentityAddRole,\n IdentityAddUser,\n IdentityDeleteRole,\n IdentityDeleteUser,\n IdentityGetRoleById,\n IdentityGetRoles,\n IdentityGetUserById,\n IdentityGetUsers,\n IdentityUpdateRole,\n IdentityUpdateUser,\n IdentityGetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(IdentityGetRoles)\n getRoles({ patchState }: StateContext) {\n return this.identityService.getRoles().pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(IdentityGetRoleById)\n getRole({ patchState }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityAddRole)\n addRole({ dispatch }: StateContext, { payload }: IdentityAddRole) {\n return this.identityService.addRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityUpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: IdentityUpdateRole) {\n return dispatch(new IdentityGetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new IdentityGetRoles())),\n );\n }\n\n @Action(IdentityGetUsers)\n getUsers({ patchState }: StateContext, { payload }: IdentityGetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(IdentityGetUserById)\n getUser({ patchState }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityAddUser)\n addUser({ dispatch }: StateContext, { payload }: IdentityAddUser) {\n return this.identityService.addUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityUpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: IdentityUpdateUser) {\n return dispatch(new IdentityGetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new IdentityGetUsers())),\n );\n }\n\n @Action(IdentityGetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: IdentityGetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { IdentityState } from '../../states/identity.state';\nimport { Identity } from '../../models/identity';\nimport {\n IdentityUpdateRole,\n IdentityAddRole,\n IdentityDeleteRole,\n IdentityGetRoleById,\n} from '../../actions/identity.actions';\nimport { pluck } from 'rxjs/operators';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n roles$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new IdentityGetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateRole({ ...this.form.value, id: this.selected.id })\n : new IdentityAddRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteRole(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, OnInit, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { validatePassword } from '@ngx-validate/core';\nimport { Select, Store } from '@ngxs/store';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, map, pluck, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n IdentityAddUser,\n IdentityDeleteUser,\n IdentityGetUserById,\n IdentityGetUserRoles,\n IdentityGetUsers,\n IdentityUpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent implements OnInit {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n search$ = new Subject();\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n ngOnInit() {\n this.search$.pipe(debounceTime(300)).subscribe(value => {\n this.pageQuery.filter = value;\n this.get();\n });\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n\n this.form = this.fb.group({\n password: [\n '',\n [\n Validators.required,\n Validators.maxLength(32),\n Validators.minLength(6),\n validatePassword(['small', 'capital', 'number', 'special']),\n ],\n ],\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))])\n .pipe(\n filter(([res1, res2]) => res1 && res2),\n map(([state, _]) => state),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new IdentityAddUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe(() => (this.loading = false));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new IdentityGetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'Identity',\n path: 'identity',\n order: 1,\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","Identity","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","order","wrapper","parentName","layout","iconClass"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js index ae772c9508..52a29f1f6c 100644 --- a/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js @@ -5,8 +5,8 @@ /** * Generated bundle index. Do not edit. */ -export { IdentityModule, IdentityGetRoles, IdentityGetRoleById, IdentityDeleteRole, IdentityAddRole, IdentityUpdateRole, IdentityGetUsers, IdentityGetUserById, IdentityDeleteUser, IdentityAddUser, IdentityUpdateUser, IdentityGetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; +export { IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; export { UsersComponent as ɵb } from './lib/components/users/users.component'; export { IdentityRoutingModule as ɵc } from './lib/identity-routing.module'; export { UserResolver as ɵd } from './lib/resolvers/users.resolver'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb1VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa1BBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/actions/identity.actions.js b/npm/ng-packs/dist/identity/esm2015/lib/actions/identity.actions.js index 240cdab5a3..616d655fea 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/actions/identity.actions.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/actions/identity.actions.js @@ -2,14 +2,22 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class IdentityGetRoles { +export class GetRoles { + /** + * @param {?=} payload + */ + constructor(payload) { + this.payload = payload; + } } -IdentityGetRoles.type = '[Identity] Get Roles'; +GetRoles.type = '[Identity] Get Roles'; if (false) { /** @type {?} */ - IdentityGetRoles.type; + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; } -export class IdentityGetRoleById { +export class GetRoleById { /** * @param {?} payload */ @@ -17,14 +25,14 @@ export class IdentityGetRoleById { this.payload = payload; } } -IdentityGetRoleById.type = '[Identity] Get Role By Id'; +GetRoleById.type = '[Identity] Get Role By Id'; if (false) { /** @type {?} */ - IdentityGetRoleById.type; + GetRoleById.type; /** @type {?} */ - IdentityGetRoleById.prototype.payload; + GetRoleById.prototype.payload; } -export class IdentityDeleteRole { +export class DeleteRole { /** * @param {?} payload */ @@ -32,14 +40,14 @@ export class IdentityDeleteRole { this.payload = payload; } } -IdentityDeleteRole.type = '[Identity] Delete Role'; +DeleteRole.type = '[Identity] Delete Role'; if (false) { /** @type {?} */ - IdentityDeleteRole.type; + DeleteRole.type; /** @type {?} */ - IdentityDeleteRole.prototype.payload; + DeleteRole.prototype.payload; } -export class IdentityAddRole { +export class CreateRole { /** * @param {?} payload */ @@ -47,14 +55,14 @@ export class IdentityAddRole { this.payload = payload; } } -IdentityAddRole.type = '[Identity] Add Role'; +CreateRole.type = '[Identity] Create Role'; if (false) { /** @type {?} */ - IdentityAddRole.type; + CreateRole.type; /** @type {?} */ - IdentityAddRole.prototype.payload; + CreateRole.prototype.payload; } -export class IdentityUpdateRole { +export class UpdateRole { /** * @param {?} payload */ @@ -62,14 +70,14 @@ export class IdentityUpdateRole { this.payload = payload; } } -IdentityUpdateRole.type = '[Identity] Update Role'; +UpdateRole.type = '[Identity] Update Role'; if (false) { /** @type {?} */ - IdentityUpdateRole.type; + UpdateRole.type; /** @type {?} */ - IdentityUpdateRole.prototype.payload; + UpdateRole.prototype.payload; } -export class IdentityGetUsers { +export class GetUsers { /** * @param {?=} payload */ @@ -77,14 +85,14 @@ export class IdentityGetUsers { this.payload = payload; } } -IdentityGetUsers.type = '[Identity] Get Users'; +GetUsers.type = '[Identity] Get Users'; if (false) { /** @type {?} */ - IdentityGetUsers.type; + GetUsers.type; /** @type {?} */ - IdentityGetUsers.prototype.payload; + GetUsers.prototype.payload; } -export class IdentityGetUserById { +export class GetUserById { /** * @param {?} payload */ @@ -92,14 +100,14 @@ export class IdentityGetUserById { this.payload = payload; } } -IdentityGetUserById.type = '[Identity] Get User By Id'; +GetUserById.type = '[Identity] Get User By Id'; if (false) { /** @type {?} */ - IdentityGetUserById.type; + GetUserById.type; /** @type {?} */ - IdentityGetUserById.prototype.payload; + GetUserById.prototype.payload; } -export class IdentityDeleteUser { +export class DeleteUser { /** * @param {?} payload */ @@ -107,14 +115,14 @@ export class IdentityDeleteUser { this.payload = payload; } } -IdentityDeleteUser.type = '[Identity] Delete User'; +DeleteUser.type = '[Identity] Delete User'; if (false) { /** @type {?} */ - IdentityDeleteUser.type; + DeleteUser.type; /** @type {?} */ - IdentityDeleteUser.prototype.payload; + DeleteUser.prototype.payload; } -export class IdentityAddUser { +export class CreateUser { /** * @param {?} payload */ @@ -122,14 +130,14 @@ export class IdentityAddUser { this.payload = payload; } } -IdentityAddUser.type = '[Identity] Add User'; +CreateUser.type = '[Identity] Create User'; if (false) { /** @type {?} */ - IdentityAddUser.type; + CreateUser.type; /** @type {?} */ - IdentityAddUser.prototype.payload; + CreateUser.prototype.payload; } -export class IdentityUpdateUser { +export class UpdateUser { /** * @param {?} payload */ @@ -137,14 +145,14 @@ export class IdentityUpdateUser { this.payload = payload; } } -IdentityUpdateUser.type = '[Identity] Update User'; +UpdateUser.type = '[Identity] Update User'; if (false) { /** @type {?} */ - IdentityUpdateUser.type; + UpdateUser.type; /** @type {?} */ - IdentityUpdateUser.prototype.payload; + UpdateUser.prototype.payload; } -export class IdentityGetUserRoles { +export class GetUserRoles { /** * @param {?} payload */ @@ -152,11 +160,11 @@ export class IdentityGetUserRoles { this.payload = payload; } } -IdentityGetUserRoles.type = '[Identity] Get User Roles'; +GetUserRoles.type = '[Identity] Get User Roles'; if (false) { /** @type {?} */ - IdentityGetUserRoles.type; + GetUserRoles.type; /** @type {?} */ - IdentityGetUserRoles.prototype.payload; + GetUserRoles.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLE9BQU8sZ0JBQWdCOztBQUNYLHFCQUFJLEdBQUcsc0JBQXNCLENBQUM7OztJQUE5QyxzQkFBOEM7O0FBR2hELE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUFFOUIsWUFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDOztBQUR0Qix3QkFBSSxHQUFHLDJCQUEyQixDQUFDOzs7SUFBbkQseUJBQW1EOztJQUN2QyxzQ0FBc0I7O0FBR3BDLE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFFN0IsWUFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDOztBQUR0Qix1QkFBSSxHQUFHLHdCQUF3QixDQUFDOzs7SUFBaEQsd0JBQWdEOztJQUNwQyxxQ0FBc0I7O0FBR3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBRTFCLFlBQW1CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQUcsQ0FBQzs7QUFEeEMsb0JBQUksR0FBRyxxQkFBcUIsQ0FBQzs7O0lBQTdDLHFCQUE2Qzs7SUFDakMsa0NBQXdDOztBQUd0RCxNQUFNLE9BQU8sa0JBQWtCOzs7O0lBRTdCLFlBQW1CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQzs7QUFEakMsdUJBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELHdCQUFnRDs7SUFDcEMscUNBQWlDOztBQUcvQyxNQUFNLE9BQU8sZ0JBQWdCOzs7O0lBRTNCLFlBQW1CLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUcsQ0FBQzs7QUFEcEMscUJBQUksR0FBRyxzQkFBc0IsQ0FBQzs7O0lBQTlDLHNCQUE4Qzs7SUFDbEMsbUNBQW9DOztBQUdsRCxNQUFNLE9BQU8sbUJBQW1COzs7O0lBRTlCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQzs7QUFEdEIsd0JBQUksR0FBRywyQkFBMkIsQ0FBQzs7O0lBQW5ELHlCQUFtRDs7SUFDdkMsc0NBQXNCOztBQUdwQyxNQUFNLE9BQU8sa0JBQWtCOzs7O0lBRTdCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQzs7QUFEdEIsdUJBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELHdCQUFnRDs7SUFDcEMscUNBQXNCOztBQUdwQyxNQUFNLE9BQU8sZUFBZTs7OztJQUUxQixZQUFtQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUFHLENBQUM7O0FBRHhDLG9CQUFJLEdBQUcscUJBQXFCLENBQUM7OztJQUE3QyxxQkFBNkM7O0lBQ2pDLGtDQUF3Qzs7QUFHdEQsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUU3QixZQUFtQixPQUFrRDtRQUFsRCxZQUFPLEdBQVAsT0FBTyxDQUEyQztJQUFHLENBQUM7O0FBRHpELHVCQUFJLEdBQUcsd0JBQXdCLENBQUM7OztJQUFoRCx3QkFBZ0Q7O0lBQ3BDLHFDQUF5RDs7QUFHdkUsTUFBTSxPQUFPLG9CQUFvQjs7OztJQUUvQixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLHlCQUFJLEdBQUcsMkJBQTJCLENBQUM7OztJQUFuRCwwQkFBbUQ7O0lBQ3ZDLHVDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUdldFJvbGVzIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgUm9sZXMnO1xufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHZXRSb2xlQnlJZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFJvbGUgQnkgSWQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlEZWxldGVSb2xlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBEZWxldGUgUm9sZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUFkZFJvbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEFkZCBSb2xlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdCkge31cbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5VXBkYXRlUm9sZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gVXBkYXRlIFJvbGUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogSWRlbnRpdHkuUm9sZUl0ZW0pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUdldFVzZXJzIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgVXNlcnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IEFCUC5QYWdlUXVlcnlQYXJhbXMpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUdldFVzZXJCeUlkIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgVXNlciBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eURlbGV0ZVVzZXIge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIERlbGV0ZSBVc2VyJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5QWRkVXNlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gQWRkIFVzZXInO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogSWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlVcGRhdGVVc2VyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBVcGRhdGUgVXNlcic7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3QgJiB7IGlkOiBzdHJpbmcgfSkge31cbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5R2V0VXNlclJvbGVzIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgVXNlciBSb2xlcyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLE9BQU8sUUFBUTs7OztJQUVuQixZQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7O0FBRHBDLGFBQUksR0FBRyxzQkFBc0IsQ0FBQzs7O0lBQTlDLGNBQThDOztJQUNsQywyQkFBb0M7O0FBR2xELE1BQU0sT0FBTyxXQUFXOzs7O0lBRXRCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQzs7QUFEdEIsZ0JBQUksR0FBRywyQkFBMkIsQ0FBQzs7O0lBQW5ELGlCQUFtRDs7SUFDdkMsOEJBQXNCOztBQUdwQyxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQXNCOztBQUdwQyxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUFHLENBQUM7O0FBRHhDLGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQXdDOztBQUd0RCxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7O0FBRGpDLGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQWlDOztBQUcvQyxNQUFNLE9BQU8sUUFBUTs7OztJQUVuQixZQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7O0FBRHBDLGFBQUksR0FBRyxzQkFBc0IsQ0FBQzs7O0lBQTlDLGNBQThDOztJQUNsQywyQkFBb0M7O0FBR2xELE1BQU0sT0FBTyxXQUFXOzs7O0lBRXRCLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQzs7QUFEdEIsZ0JBQUksR0FBRywyQkFBMkIsQ0FBQzs7O0lBQW5ELGlCQUFtRDs7SUFDdkMsOEJBQXNCOztBQUdwQyxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQXNCOztBQUdwQyxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUFHLENBQUM7O0FBRHhDLGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQXdDOztBQUd0RCxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUFrRDtRQUFsRCxZQUFPLEdBQVAsT0FBTyxDQUEyQztJQUFHLENBQUM7O0FBRHpELGVBQUksR0FBRyx3QkFBd0IsQ0FBQzs7O0lBQWhELGdCQUFnRDs7SUFDcEMsNkJBQXlEOztBQUd2RSxNQUFNLE9BQU8sWUFBWTs7OztJQUV2QixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGlCQUFJLEdBQUcsMkJBQTJCLENBQUM7OztJQUFuRCxrQkFBbUQ7O0lBQ3ZDLCtCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBHZXRSb2xlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFJvbGVzJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgR2V0Um9sZUJ5SWQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEdldCBSb2xlIEJ5IElkJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIERlbGV0ZVJvbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIERlbGV0ZSBSb2xlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIENyZWF0ZVJvbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIENyZWF0ZSBSb2xlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdCkge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVJvbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIFVwZGF0ZSBSb2xlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IElkZW50aXR5LlJvbGVJdGVtKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgR2V0VXNlcnMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEdldCBVc2Vycyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogQUJQLlBhZ2VRdWVyeVBhcmFtcykge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFVzZXJCeUlkIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgVXNlciBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVVc2VyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBEZWxldGUgVXNlcic7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVVc2VyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBDcmVhdGUgVXNlcic7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVVc2VyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBVcGRhdGUgVXNlcic7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3QgJiB7IGlkOiBzdHJpbmcgfSkge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFVzZXJSb2xlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFVzZXIgUm9sZXMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js index 842ad96399..e40a2751e5 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js @@ -3,14 +3,14 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; +import { ConfirmationService } from '@abp/ng.theme.shared'; import { Component, TemplateRef, ViewChild } from '@angular/core'; +import { FormBuilder, Validators, FormControl } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { FormBuilder, Validators } from '@angular/forms'; +import { finalize, pluck } from 'rxjs/operators'; +import { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions'; import { IdentityState } from '../../states/identity.state'; -import { IdentityUpdateRole, IdentityAddRole, IdentityDeleteRole, IdentityGetRoleById, } from '../../actions/identity.actions'; -import { pluck } from 'rxjs/operators'; -import { ConfirmationService } from '@abp/ng.theme.shared'; export class RolesComponent { /** * @param {?} confirmationService @@ -22,13 +22,28 @@ export class RolesComponent { this.fb = fb; this.store = store; this.visiblePermissions = false; + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; + } + /** + * @param {?} value + * @return {?} + */ + onSearch(value) { + this.pageQuery.filter = value; + this.get(); } /** * @return {?} */ createForm() { this.form = this.fb.group({ - name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]], + name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [ + Validators.required, + Validators.maxLength(256), + ]), isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); @@ -53,7 +68,7 @@ export class RolesComponent { */ onEdit(id) { this.store - .dispatch(new IdentityGetRoleById(id)) + .dispatch(new GetRoleById(id)) .pipe(pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole @@ -72,8 +87,8 @@ export class RolesComponent { return; this.store .dispatch(this.selected.id - ? new IdentityUpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) - : new IdentityAddRole(this.form.value)) + ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) + : new CreateRole(this.form.value)) .subscribe((/** * @return {?} */ @@ -97,15 +112,37 @@ export class RolesComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new IdentityDeleteRole(id)); + this.store.dispatch(new DeleteRole(id)); } })); } + /** + * @param {?} data + * @return {?} + */ + onPageChange(data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + } + /** + * @return {?} + */ + get() { + this.loading = true; + this.store + .dispatch(new GetRoles(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + () => (this.loading = false)))) + .subscribe(); + } } RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -120,10 +157,16 @@ RolesComponent.propDecorators = { tslib_1.__decorate([ Select(IdentityState.getRoles), tslib_1.__metadata("design:type", Observable) -], RolesComponent.prototype, "roles$", void 0); +], RolesComponent.prototype, "data$", void 0); +tslib_1.__decorate([ + Select(IdentityState.getRolesTotalCount), + tslib_1.__metadata("design:type", Observable) +], RolesComponent.prototype, "totalCount$", void 0); if (false) { /** @type {?} */ - RolesComponent.prototype.roles$; + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; /** @type {?} */ RolesComponent.prototype.form; /** @type {?} */ @@ -135,6 +178,10 @@ if (false) { /** @type {?} */ RolesComponent.prototype.providerKey; /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -152,4 +199,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixtQkFBbUIsR0FDcEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFNcEUsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQWlCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBUDNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztJQU8wRSxDQUFDOzs7O0lBRS9HLFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFD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aWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHtcbiAgSWRlbnRpdHlVcGRhdGVSb2xlLFxuICBJZGVudGl0eUFkZFJvbGUsXG4gIElkZW50aXR5RGVsZXRlUm9sZSxcbiAgSWRlbnRpdHlHZXRSb2xlQnlJZCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IHBsdWNrIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIHJvbGVzJDogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbVtdPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlJvbGVJdGVtO1xuXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBjcmVhdGVGb3JtKCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogW3RoaXMuc2VsZWN0ZWQubmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGlzRGVmYXVsdDogW3RoaXMuc2VsZWN0ZWQuaXNEZWZhdWx0IHx8IGZhbHNlXSxcbiAgICAgIGlzUHVibGljOiBbdGhpcy5zZWxlY3RlZC5pc1B1YmxpYyB8fCBmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuUm9sZUl0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBJZGVudGl0eVVwZGF0ZVJvbGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgSWRlbnRpdHlBZGRSb2xlKHRoaXMuZm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlJvbGVEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBJZGVudGl0eURlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQTBCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBYjNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxjQUFTLEdBQXdCO1lBQy9CLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixZQUFPLEdBQVksS0FBSyxDQUFDO0lBS3FGLENBQUM7Ozs7O0lBRS9HLFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFD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Q0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUMsQ0FBQzthQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUEzR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpNElBQXFDO2FBQ3RDOzs7O1lBYlEsbUJBQW1CO1lBRW5CLFdBQVc7WUFDSCxLQUFLOzs7MkJBa0NuQixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7QUFyQjVDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7c0NBQ3hCLFVBQVU7NkNBQXNCO0FBR3ZDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyw4QkFBZ0I7O0lBRWhCLGtDQUE0Qjs7SUFFNUIsd0NBQXdCOztJQUV4Qiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsaUNBQXlCOztJQUV6QixzQ0FDK0I7Ozs7O0lBRW5CLDZDQUFnRDs7Ozs7SUFBRSw0QkFBdUI7Ozs7O0lBQUUsK0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js index 819cf0b943..b1c121f3cf 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js @@ -5,13 +5,12 @@ import * as tslib_1 from "tslib"; import { ConfirmationService } from '@abp/ng.theme.shared'; import { Component, TemplateRef, ViewChild } from '@angular/core'; -import { FormBuilder, Validators } from '@angular/forms'; -import { validatePassword } from '@ngx-validate/core'; +import { FormBuilder, Validators, FormControl } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; -import { combineLatest, Observable, Subject } from 'rxjs'; -import { debounceTime, filter, map, pluck, take } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { finalize, pluck, switchMap, take } from 'rxjs/operators'; import snq from 'snq'; -import { IdentityAddUser, IdentityDeleteUser, IdentityGetUserById, IdentityGetUserRoles, IdentityGetUsers, IdentityUpdateUser, } from '../../actions/identity.actions'; +import { CreateUser, DeleteUser, GetUserById, GetUserRoles, GetUsers, UpdateUser, } from '../../actions/identity.actions'; import { IdentityState } from '../../states/identity.state'; export class UsersComponent { /** @@ -28,7 +27,6 @@ export class UsersComponent { sorting: 'userName', }; this.loading = false; - this.search$ = new Subject(); this.trackByFn = (/** * @param {?} index * @param {?} item @@ -46,17 +44,12 @@ export class UsersComponent { () => (/** @type {?} */ (((/** @type {?} */ (this.form.get('roleNames')))).controls))), []); } /** + * @param {?} value * @return {?} */ - ngOnInit() { - this.search$.pipe(debounceTime(300)).subscribe((/** - * @param {?} value - * @return {?} - */ - value => { - this.pageQuery.filter = value; - this.get(); - })); + onSearch(value) { + this.pageQuery.filter = value; + this.get(); } /** * @return {?} @@ -64,15 +57,6 @@ export class UsersComponent { buildForm() { this.roles = this.store.selectSnapshot(IdentityState.getRoles); this.form = this.fb.group({ - password: [ - '', - [ - Validators.required, - Validators.maxLength(32), - Validators.minLength(6), - validatePassword(['small', 'capital', 'number', 'special']), - ], - ], userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]], email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]], name: [this.selected.name || '', [Validators.maxLength(64)]], @@ -95,6 +79,9 @@ export class UsersComponent { userRole => userRole.id === role.id))))], })))), }); + if (!this.selected.userName) { + this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)])); + } } /** * @return {?} @@ -116,16 +103,12 @@ export class UsersComponent { * @return {?} */ onEdit(id) { - combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))]) - .pipe(filter((/** - * @param {?} __0 - * @return {?} - */ - ([res1, res2]) => res1 && res2)), map((/** - * @param {?} __0 + this.store + .dispatch(new GetUserById(id)) + .pipe(switchMap((/** * @return {?} */ - ([state, _]) => state)), pluck('IdentityState'), take(1)) + () => this.store.dispatch(new GetUserRoles(id)))), pluck('IdentityState'), take(1)) .subscribe((/** * @param {?} state * @return {?} @@ -158,8 +141,8 @@ export class UsersComponent { role => Object.keys(role)[0]))), []); this.store .dispatch(this.selected.id - ? new IdentityUpdateUser(Object.assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) - : new IdentityAddUser(Object.assign({}, this.form.value, { roleNames: mappedRoleNames }))) + ? new UpdateUser(Object.assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) + : new CreateUser(Object.assign({}, this.form.value, { roleNames: mappedRoleNames }))) .subscribe((/** * @return {?} */ @@ -183,7 +166,7 @@ export class UsersComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new IdentityDeleteUser(id)); + this.store.dispatch(new DeleteUser(id)); } })); } @@ -201,16 +184,19 @@ export class UsersComponent { */ get() { this.loading = true; - this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe((/** + this.store + .dispatch(new GetUsers(this.pageQuery)) + .pipe(finalize((/** * @return {?} */ - () => (this.loading = false))); + () => (this.loading = false)))) + .subscribe(); } } UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -256,8 +242,6 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ - UsersComponent.prototype.search$; - /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -275,4 +259,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxNQUFNLE9BQU8sY0FBYzs7Ozs7O0lBc0N6QixZQUFvQixtQkFBd0MsRUFBVSxFQUFlLEVBQVUsS0FBWTtRQUF2Rix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFwQjNHLHVC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LEVBQUMsQ0FBQztJQUNwRyxDQUFDOzs7WUE1SkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiwwNVBBQXFDO2FBQ3RDOzs7O1lBckJRLG1CQUFtQjtZQUVTLFdBQVc7WUFFL0IsS0FBSzs7OzJCQXlCbkIsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0FBTDVDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7c0NBQ3hCLFVBQVU7NkNBQXNCO0FBR3ZDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixpQ0FBZ0M7O0lBRWhDLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVHJhY2tCeUZ1bmN0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBJZGVudGl0eUFkZFVzZXIsXG4gIElkZW50aXR5RGVsZXRlVXNlcixcbiAgSWRlbnRpdHlHZXRVc2VyQnlJZCxcbiAgSWRlbnRpdHlHZXRVc2VyUm9sZXMsXG4gIElkZW50aXR5R2V0VXNlcnMsXG4gIElkZW50aXR5VXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlYXJjaCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XG5cbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xuICAgIHJldHVybiBzbnEoKCkgPT4gKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW10sIFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoJC5waXBlKGRlYm91bmNlVGltZSgzMDApKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgICB0aGlzLmdldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMucm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBwYXNzd29yZDogW1xuICAgICAgICAnJyxcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpLFxuICAgICAgICAgIHZhbGlkYXRlUGFzc3dvcmQoWydzbWFsbCcsICdjYXBpdGFsJywgJ251bWJlcicsICdzcGVjaWFsJ10pLFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICAgIHVzZXJOYW1lOiBbdGhpcy5zZWxlY3RlZC51c2VyTmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGVtYWlsOiBbdGhpcy5zZWxlY3RlZC5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHN1cm5hbWU6IFt0aGlzLnNlbGVjdGVkLnN1cm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHBob25lTnVtYmVyOiBbdGhpcy5zZWxlY3RlZC5waG9uZU51bWJlciB8fCAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgbG9ja291dEVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHR3b0ZhY3RvckVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHJvbGVOYW1lczogdGhpcy5mYi5hcnJheShcbiAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxuICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgW3JvbGUubmFtZV06IFshIXNucSgoKSA9PiB0aGlzLnNlbGVjdGVkVXNlclJvbGVzLmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpKV0sXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuVXNlckl0ZW07XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IFtdIGFzIElkZW50aXR5LlJvbGVJdGVtW107XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VyQnlJZChpZCkpLCB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFVzZXJSb2xlcyhpZCkpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFtyZXMxLCByZXMyXSkgPT4gcmVzMSAmJiByZXMyKSxcbiAgICAgICAgbWFwKChbc3RhdGUsIF9dKSA9PiBzdGF0ZSksXG4gICAgICAgIHBsdWNrKCdJZGVudGl0eVN0YXRlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogSWRlbnRpdHkuU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkVXNlcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHN0YXRlLnNlbGVjdGVkVXNlclJvbGVzO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+IHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgSWRlbnRpdHlVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IElkZW50aXR5QWRkVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlEZWxldGVVc2VyKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlcnModGhpcy5wYWdlUXVlcnkpKS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQW9DekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBSUYsWUFBTyxH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LGtDQUE0Qjs7SUFFNUIsMkNBQXVDOztJQUV2QywrQkFBMkI7O0lBRTNCLDRDQUFvQzs7SUFFcEMscUNBQW9COztJQUVwQixtQ0FFRTs7SUFFRix3Q0FBd0I7O0lBRXhCLGlDQUF5Qjs7SUFFekIsbUNBQTZGOzs7OztJQU1qRiw2Q0FBZ0Q7Ozs7O0lBQUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVHJhY2tCeUZ1bmN0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2ssIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7XG4gIENyZWF0ZVVzZXIsXG4gIERlbGV0ZVVzZXIsXG4gIEdldFVzZXJCeUlkLFxuICBHZXRVc2VyUm9sZXMsXG4gIEdldFVzZXJzLFxuICBVcGRhdGVVc2VyLFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdXNlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2VycylcbiAgZGF0YSQ6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW1bXT47XG5cbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFVzZXJzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuVXNlckl0ZW07XG5cbiAgc2VsZWN0ZWRVc2VyUm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgcm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ3VzZXJOYW1lJyxcbiAgfTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XG5cbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xuICAgIHJldHVybiBzbnEoKCkgPT4gKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW10sIFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnJvbGVzID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJOYW1lOiBbdGhpcy5zZWxlY3RlZC51c2VyTmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGVtYWlsOiBbdGhpcy5zZWxlY3RlZC5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHN1cm5hbWU6IFt0aGlzLnNlbGVjdGVkLnN1cm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHBob25lTnVtYmVyOiBbdGhpcy5zZWxlY3RlZC5waG9uZU51bWJlciB8fCAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgbG9ja291dEVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHR3b0ZhY3RvckVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHJvbGVOYW1lczogdGhpcy5mYi5hcnJheShcbiAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxuICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgW3JvbGUubmFtZV06IFshIXNucSgoKSA9PiB0aGlzLnNlbGVjdGVkVXNlclJvbGVzLmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpKV0sXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICAgIGlmICghdGhpcy5zZWxlY3RlZC51c2VyTmFtZSkge1xuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3Bhc3N3b3JkJywgbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSkpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25BZGQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5LlVzZXJJdGVtO1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBvbkVkaXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlckJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRVc2VyUm9sZXMoaWQpKSksXG4gICAgICAgIHBsdWNrKCdJZGVudGl0eVN0YXRlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogSWRlbnRpdHkuU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkVXNlcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHN0YXRlLnNlbGVjdGVkVXNlclJvbGVzO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+IHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgVXBkYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6VXNlckRlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3VzZXJOYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVVc2VyKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlcnModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js index e49d2708ba..0e6c70320d 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js @@ -5,21 +5,22 @@ /** @type {?} */ export const IDENTITY_ROUTES = (/** @type {?} */ ([ { - name: 'Administration', + name: 'AbpUiNavigation::Menu:Administration', path: '', order: 1, wrapper: true, }, { - name: 'Identity', + name: 'AbpIdentity::Menu:IdentityManagement', path: 'identity', order: 1, - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', children: [ - { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, ], }, ])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxDQUFDO1FBQ1IsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixNQUFNLGlDQUF5QjtRQUMvQixRQUFRLEVBQUU7WUFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUMvRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtTQUNoRjtLQUNGO0NBQ0YsRUFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IElERU5USVRZX1JPVVRFUyA9IFtcbiAge1xuICAgIG5hbWU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdJZGVudGl0eScsXG4gICAgcGF0aDogJ2lkZW50aXR5JyxcbiAgICBvcmRlcjogMSxcbiAgICBwYXJlbnROYW1lOiAnQWRtaW5pc3RyYXRpb24nLFxuICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHsgcGF0aDogJ3JvbGVzJywgbmFtZTogJ1JvbGVzJywgb3JkZXI6IDIsIHJlcXVpcmVkUG9saWN5OiAnQWJwSWRlbnRpdHkuUm9sZXMnIH0sXG4gICAgICB7IHBhdGg6ICd1c2VycycsIG5hbWU6ICdVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLENBQUM7UUFDUixVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELE1BQU0saUNBQXlCO1FBQy9CLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUM1RixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFO1NBQzdGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVMYXlvdXRUeXBlLCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgIHBhdGg6ICdpZGVudGl0eScsXG4gICAgb3JkZXI6IDEsXG4gICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBpY29uQ2xhc3M6ICdmYSBmYS1pZC1jYXJkLW8nLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IHBhdGg6ICdyb2xlcycsIG5hbWU6ICdBYnBJZGVudGl0eTo6Um9sZXMnLCBvcmRlcjogMiwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Sb2xlcycgfSxcbiAgICAgIHsgcGF0aDogJ3VzZXJzJywgbmFtZTogJ0FicElkZW50aXR5OjpVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/resolvers/roles.resolver.js b/npm/ng-packs/dist/identity/esm2015/lib/resolvers/roles.resolver.js index 4e75247cf6..1b62731738 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/resolvers/roles.resolver.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/resolvers/roles.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { IdentityGetRoles } from '../actions/identity.actions'; +import { GetRoles } from '../actions/identity.actions'; import { IdentityState } from '../states/identity.state'; export class RoleResolver { /** @@ -19,7 +19,7 @@ export class RoleResolver { resolve() { /** @type {?} */ const roles = this.store.selectSnapshot(IdentityState.getRoles); - return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles()); + return roles && roles.length ? null : this.store.dispatch(new GetRoles()); } } RoleResolver.decorators = [ @@ -36,4 +36,4 @@ if (false) { */ RoleResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy9yb2xlcy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sWUFBWTs7OztJQUN2QixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsT0FBTzs7Y0FDQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OztZQVBGLFVBQVU7Ozs7WUFMRixLQUFLOzs7Ozs7O0lBT0EsNkJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IElkZW50aXR5R2V0Um9sZXMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb2xlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3Qgcm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuICAgIHJldHVybiByb2xlcyAmJiByb2xlcy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRSb2xlcygpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy9yb2xlcy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekQsTUFBTSxPQUFPLFlBQVk7Ozs7SUFDdkIsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLE9BQU87O2NBQ0MsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7O1lBUEYsVUFBVTs7OztZQUxGLEtBQUs7Ozs7Ozs7SUFPQSw2QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0Um9sZXMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb2xlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3Qgcm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuICAgIHJldHVybiByb2xlcyAmJiByb2xlcy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0Um9sZXMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/resolvers/users.resolver.js b/npm/ng-packs/dist/identity/esm2015/lib/resolvers/users.resolver.js index 010dd25f03..11199b7af3 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/resolvers/users.resolver.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/resolvers/users.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { IdentityGetUsers } from '../actions/identity.actions'; +import { GetUsers } from '../actions/identity.actions'; import { IdentityState } from '../states/identity.state'; export class UserResolver { /** @@ -19,7 +19,7 @@ export class UserResolver { resolve() { /** @type {?} */ const users = this.store.selectSnapshot(IdentityState.getUsers); - return users && users.length ? null : this.store.dispatch(new IdentityGetUsers()); + return users && users.length ? null : this.store.dispatch(new GetUsers()); } } UserResolver.decorators = [ @@ -36,4 +36,4 @@ if (false) { */ UserResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy91c2Vycy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sWUFBWTs7OztJQUN2QixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsT0FBTzs7Y0FDQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OztZQVBGLFVBQVU7Ozs7WUFMRixLQUFLOzs7Ozs7O0lBT0EsNkJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IElkZW50aXR5R2V0VXNlcnMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpO1xuICAgIHJldHVybiB1c2VycyAmJiB1c2Vycy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VycygpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy91c2Vycy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekQsTUFBTSxPQUFPLFlBQVk7Ozs7SUFDdkIsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLE9BQU87O2NBQ0MsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7O1lBUEYsVUFBVTs7OztZQUxGLEtBQUs7Ozs7Ozs7SUFPQSw2QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0VXNlcnMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpO1xuICAgIHJldHVybiB1c2VycyAmJiB1c2Vycy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlcnMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/services/identity.service.js b/npm/ng-packs/dist/identity/esm2015/lib/services/identity.service.js index efac482735..d69c5c9249 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/services/identity.service.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/services/identity.service.js @@ -14,13 +14,15 @@ export class IdentityService { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - getRoles() { + getRoles(params = (/** @type {?} */ ({}))) { /** @type {?} */ const request = { method: 'GET', url: '/api/identity/roles', + params, }; return this.rest.request(request); } @@ -52,7 +54,7 @@ export class IdentityService { * @param {?} body * @return {?} */ - addRole(body) { + createRole(body) { /** @type {?} */ const request = { method: 'POST', @@ -130,7 +132,7 @@ export class IdentityService { * @param {?} body * @return {?} */ - addUser(body) { + createUser(body) { /** @type {?} */ const request = { method: 'POST', @@ -145,7 +147,7 @@ export class IdentityService { */ updateUser(body) { /** @type {?} */ - const url = `/identity/users/${body.id}`; + const url = `/api/identity/users/${body.id}`; delete body.id; /** @type {?} */ const request = { @@ -173,4 +175,4 @@ if (false) { */ IdentityService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaWRlbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLGVBQWU7Ozs7SUFDMUIsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7SUFFekMsUUFBUTs7Y0FDQSxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHFCQUFxQjtTQUMzQjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQVU7O2NBQ2QsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxFQUFFO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsRUFBVTs7Y0FDYixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxFQUFFO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsSUFBOEI7O2NBQzlCLE9BQU8sR0FBMkM7WUFDdEQsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLElBQXVCOztjQUMxQixHQUFHLEdBQUcsdUJBQXVCLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDOztjQUVULE9BQU8sR0FBb0M7WUFDL0MsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHO1lBQ0gsSUFBSTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUMsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsTUFBTSxHQUFHLG1CQUFBLEVBQUUsRUFBdUI7O2NBQ25DLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUscUJBQXFCO1lBQzFCLE1BQU07U0FDUDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQVU7O2NBQ2QsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxFQUFFO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsRUFBVTs7Y0FDZixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHVCQUF1QixFQUFFLFFBQVE7U0FDdkM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QixPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxFQUFVOztjQUNiLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEVBQUU7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLElBQThCOztjQUM5QixPQUFPLEdBQTJDO1lBQ3RELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHFCQUFxQjtZQUMxQixJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxJQUF1Qjs7Y0FDMUIsR0FBRyxHQUFHLG1CQUFtQixJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7Y0FFVCxPQUFPLEdBQW9DO1lBQy9DLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVDLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7OztZQWxIRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMUSxXQUFXOzs7Ozs7OztJQU9OLCtCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0LCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBnZXRSb2xlcygpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3JvbGVzJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRSb2xlQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3JvbGVzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZVJvbGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS9yb2xlcy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBhZGRSb2xlKGJvZHk6IElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdCk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuUm9sZVNhdmVSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9yb2xlcycsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuUm9sZVNhdmVSZXF1ZXN0LCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVSb2xlKGJvZHk6IElkZW50aXR5LlJvbGVJdGVtKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL2lkZW50aXR5L3JvbGVzLyR7Ym9keS5pZH1gO1xuICAgIGRlbGV0ZSBib2R5LmlkO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlJvbGVJdGVtPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuUm9sZUl0ZW0sIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFVzZXJzKHBhcmFtcyA9IHt9IGFzIEFCUC5QYWdlUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3VzZXJzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlVzZXJSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRVc2VyQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VySXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3VzZXJzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlVzZXJJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFVzZXJSb2xlcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS91c2Vycy8ke2lkfS9yb2xlc2AsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVXNlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvdXNlcnMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBhZGRVc2VyKGJvZHk6IElkZW50aXR5LlVzZXJTYXZlUmVxdWVzdCk6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS91c2VycycsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0LCBJZGVudGl0eS5Vc2VySXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVVc2VyKGJvZHk6IElkZW50aXR5LlVzZXJJdGVtKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VySXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvaWRlbnRpdHkvdXNlcnMvJHtib2R5LmlkfWA7XG4gICAgZGVsZXRlIGJvZHkuaWQ7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuVXNlckl0ZW0+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxJZGVudGl0eS5Vc2VySXRlbSwgSWRlbnRpdHkuVXNlckl0ZW0+KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaWRlbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLGVBQWU7Ozs7SUFDMUIsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsbUJBQUEsRUFBRSxFQUF1Qjs7Y0FDbkMsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsTUFBTTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBVTs7Y0FDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEVBQUU7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwQixPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxFQUFVOztjQUNiLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEVBQUU7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwQixPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxJQUE4Qjs7Y0FDakMsT0FBTyxHQUEyQztZQUN0RCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsSUFBSTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEMsT0FBTyxDQUFDLENBQUM7SUFDakYsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsSUFBdUI7O2NBQzFCLEdBQUcsR0FBRyx1QkFBdUIsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7O2NBRVQsT0FBTyxHQUFvQztZQUMvQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUc7WUFDSCxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1QyxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs7OztJQUVELFFBQVEsQ0FBQyxNQUFNLEdBQUcsbUJBQUEsRUFBRSxFQUF1Qjs7Y0FDbkMsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsTUFBTTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBVTs7Y0FDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEVBQUU7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwQixPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxFQUFVOztjQUNmLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsdUJBQXVCLEVBQUUsUUFBUTtTQUN2QztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLEVBQVU7O2NBQ2IsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsdUJBQXVCLEVBQUUsRUFBRTtTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQWEsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsSUFBOEI7O2NBQ2pDLE9BQU8sR0FBMkM7WUFDdEQsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLElBQXVCOztjQUMxQixHQUFHLEdBQUcsdUJBQXVCLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDOztjQUVULE9BQU8sR0FBb0M7WUFDL0MsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHO1lBQ0gsSUFBSTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUMsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7O1lBbkhGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUxRLFdBQVc7Ozs7Ozs7O0lBT04sK0JBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UsIFJlc3QsIEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uL21vZGVscy9pZGVudGl0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0eVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFJvbGVzKHBhcmFtcyA9IHt9IGFzIEFCUC5QYWdlUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3JvbGVzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRSb2xlQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3JvbGVzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZVJvbGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS9yb2xlcy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVSb2xlKGJvZHk6IElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdCk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuUm9sZVNhdmVSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9yb2xlcycsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuUm9sZVNhdmVSZXF1ZXN0LCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVSb2xlKGJvZHk6IElkZW50aXR5LlJvbGVJdGVtKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL2lkZW50aXR5L3JvbGVzLyR7Ym9keS5pZH1gO1xuICAgIGRlbGV0ZSBib2R5LmlkO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlJvbGVJdGVtPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuUm9sZUl0ZW0sIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFVzZXJzKHBhcmFtcyA9IHt9IGFzIEFCUC5QYWdlUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3VzZXJzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlVzZXJSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRVc2VyQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VySXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3VzZXJzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlVzZXJJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFVzZXJSb2xlcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS91c2Vycy8ke2lkfS9yb2xlc2AsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVXNlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvdXNlcnMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVVc2VyKGJvZHk6IElkZW50aXR5LlVzZXJTYXZlUmVxdWVzdCk6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS91c2VycycsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0LCBJZGVudGl0eS5Vc2VySXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVVc2VyKGJvZHk6IElkZW50aXR5LlVzZXJJdGVtKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VySXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL2lkZW50aXR5L3VzZXJzLyR7Ym9keS5pZH1gO1xuICAgIGRlbGV0ZSBib2R5LmlkO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlVzZXJJdGVtPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuVXNlckl0ZW0sIElkZW50aXR5LlVzZXJJdGVtPihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/states/identity.state.js b/npm/ng-packs/dist/identity/esm2015/lib/states/identity.state.js index 48c629a2d4..2f503f6c8b 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/states/identity.state.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/states/identity.state.js @@ -5,7 +5,7 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { switchMap, tap, pluck } from 'rxjs/operators'; -import { IdentityAddRole, IdentityAddUser, IdentityDeleteRole, IdentityDeleteUser, IdentityGetRoleById, IdentityGetRoles, IdentityGetUserById, IdentityGetUsers, IdentityUpdateRole, IdentityUpdateUser, IdentityGetUserRoles, } from '../actions/identity.actions'; +import { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUsers, UpdateRole, UpdateUser, GetUserRoles, } from '../actions/identity.actions'; import { IdentityService } from '../services/identity.service'; let IdentityState = class IdentityState { /** @@ -44,10 +44,11 @@ let IdentityState = class IdentityState { } /** * @param {?} __0 + * @param {?} __1 * @return {?} */ - getRoles({ patchState }) { - return this.identityService.getRoles().pipe(tap((/** + getRoles({ patchState }, { payload }) { + return this.identityService.getRoles(payload).pipe(tap((/** * @param {?} roles * @return {?} */ @@ -78,7 +79,7 @@ let IdentityState = class IdentityState { return this.identityService.deleteRole(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -86,10 +87,10 @@ let IdentityState = class IdentityState { * @return {?} */ addRole({ dispatch }, { payload }) { - return this.identityService.addRole(payload).pipe(switchMap((/** + return this.identityService.createRole(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -97,13 +98,13 @@ let IdentityState = class IdentityState { * @return {?} */ updateRole({ getState, dispatch }, { payload }) { - return dispatch(new IdentityGetRoleById(payload.id)).pipe(switchMap((/** + return dispatch(new GetRoleById(payload.id)).pipe(switchMap((/** * @return {?} */ () => this.identityService.updateRole(Object.assign({}, getState().selectedRole, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -142,7 +143,7 @@ let IdentityState = class IdentityState { return this.identityService.deleteUser(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -150,10 +151,10 @@ let IdentityState = class IdentityState { * @return {?} */ addUser({ dispatch }, { payload }) { - return this.identityService.addUser(payload).pipe(switchMap((/** + return this.identityService.createUser(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -161,13 +162,13 @@ let IdentityState = class IdentityState { * @return {?} */ updateUser({ getState, dispatch }, { payload }) { - return dispatch(new IdentityGetUserById(payload.id)).pipe(switchMap((/** + return dispatch(new GetUserById(payload.id)).pipe(switchMap((/** * @return {?} */ () => this.identityService.updateUser(Object.assign({}, getState().selectedUser, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -185,69 +186,69 @@ let IdentityState = class IdentityState { } }; tslib_1.__decorate([ - Action(IdentityGetRoles), + Action(GetRoles), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoles]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); tslib_1.__decorate([ - Action(IdentityGetRoleById), + Action(GetRoleById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetRoleById]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoleById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); tslib_1.__decorate([ - Action(IdentityDeleteRole), + Action(DeleteRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetRoleById]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoleById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); tslib_1.__decorate([ - Action(IdentityAddRole), + Action(CreateRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityAddRole]), + tslib_1.__metadata("design:paramtypes", [Object, CreateRole]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); tslib_1.__decorate([ - Action(IdentityUpdateRole), + Action(UpdateRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityUpdateRole]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateRole]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); tslib_1.__decorate([ - Action(IdentityGetUsers), + Action(GetUsers), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUsers]), + tslib_1.__metadata("design:paramtypes", [Object, GetUsers]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); tslib_1.__decorate([ - Action(IdentityGetUserById), + Action(GetUserById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserById]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); tslib_1.__decorate([ - Action(IdentityDeleteUser), + Action(DeleteUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserById]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); tslib_1.__decorate([ - Action(IdentityAddUser), + Action(CreateUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityAddUser]), + tslib_1.__metadata("design:paramtypes", [Object, CreateUser]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); tslib_1.__decorate([ - Action(IdentityUpdateUser), + Action(UpdateUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityUpdateUser]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateUser]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); tslib_1.__decorate([ - Action(IdentityGetUserRoles), + Action(GetUserRoles), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserRoles]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserRoles]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); tslib_1.__decorate([ @@ -289,4 +290,4 @@ if (false) { */ IdentityState.prototype.identityService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9pZGVudGl0eS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7SUFNbEQsYUFBYSxTQUFiLGFBQWE7Ozs7SUFxQnhCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7Ozs7O0lBbkJ4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFrQjtRQUN2QyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFHRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQWtCO1FBQ2pELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQWtCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBa0I7UUFDakQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBS0QsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFnQztRQUNuRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUN6QyxHQUFHOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDVixVQUFVLENBQUM7WUFDVCxLQUFLO1NBQ04sQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBdUI7UUFDcEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUc7Ozs7UUFBQyxZQUFZLENBQUMsRUFBRSxDQUNqQixVQUFVLENBQUM7WUFDVCxZQUFZO1NBQ2IsQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBdUI7UUFDckYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDOzs7Ozs7SUFHRCxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQW1CO1FBQzlFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQzs7Ozs7O0lBR0QsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBc0I7UUFDOUYsT0FBTyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZELFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxtQkFBTSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUssT0FBTyxFQUFHLEVBQUMsRUFDNUYsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFDLENBQ2xELENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQW9CO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDVixVQUFVLENBQUM7WUFDVCxLQUFLO1NBQ04sQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBdUI7UUFDcEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUc7Ozs7UUFBQyxZQUFZLENBQUMsRUFBRSxDQUNqQixVQUFVLENBQUM7WUFDVCxZQUFZO1NBQ2IsQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBdUI7UUFDckYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDOzs7Ozs7SUFHRCxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQW1CO1FBQzlFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQzs7Ozs7O0lBR0QsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBc0I7UUFDOUYsT0FBTyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZELFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxtQkFBTSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUssT0FBTyxFQUFHLEVBQUMsRUFDNUYsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFDLENBQ2xELENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQXdCO1FBQzFGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQ2QsR0FBRzs7OztRQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FDdEIsVUFBVSxDQUFDO1lBQ1QsaUJBQWlCO1NBQ2xCLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTFGQztJQURDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzs7Ozs2Q0FTeEI7QUFHRDtJQURDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQzs7cURBQ3VDLG1CQUFtQjs7NENBUXJGO0FBR0Q7SUFEQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7O3FEQUN5QyxtQkFBbUI7OytDQUV0RjtBQUdEO0lBREMsTUFBTSxDQUFDLGVBQWUsQ0FBQzs7cURBQ3lDLGVBQWU7OzRDQUUvRTtBQUdEO0lBREMsTUFBTSxDQUFDLGtCQUFrQixDQUFDOztxREFDbUQsa0JBQWtCOzsrQ0FLL0Y7QUFHRDtJQURDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzs7cURBQzJDLGdCQUFnQjs7NkNBUW5GO0FBR0Q7SUFEQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7O3FEQUN1QyxtQkFBbUI7OzRDQVFyRjtBQUdEO0lBREMsTUFBTSxDQUFDLGtCQUFrQixDQUFDOztxREFDeUMsbUJBQW1COzsrQ0FFdEY7QUFHRDtJQURDLE1BQU0sQ0FBQyxlQUFlLENBQUM7O3FEQUN5QyxlQUFlOzs0Q0FFL0U7QUFHRDtJQURDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQzs7cURBQ21ELGtCQUFrQjs7K0NBSy9GO0FBR0Q7SUFEQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7O3FEQUMyQyxvQkFBb0I7O2lEQVMzRjtBQS9HRDtJQURDLFFBQVEsRUFBRTs7OzttQ0FHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzs7OzZDQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7Ozs7bUNBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7Ozs2Q0FHVjtBQW5CVSxhQUFhO0lBSnpCLEtBQUssQ0FBaUI7UUFDckIsSUFBSSxFQUFFLGVBQWU7UUFDckIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFrQjtLQUN6RixDQUFDOzZDQXNCcUMsZUFBZTtHQXJCekMsYUFBYSxDQWtIekI7U0FsSFksYUFBYTs7Ozs7O0lBcUJaLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBJZGVudGl0eUFkZFJvbGUsXG4gIElkZW50aXR5QWRkVXNlcixcbiAgSWRlbnRpdHlEZWxldGVSb2xlLFxuICBJZGVudGl0eURlbGV0ZVVzZXIsXG4gIElkZW50aXR5R2V0Um9sZUJ5SWQsXG4gIElkZW50aXR5R2V0Um9sZXMsXG4gIElkZW50aXR5R2V0VXNlckJ5SWQsXG4gIElkZW50aXR5R2V0VXNlcnMsXG4gIElkZW50aXR5VXBkYXRlUm9sZSxcbiAgSWRlbnRpdHlVcGRhdGVVc2VyLFxuICBJZGVudGl0eUdldFVzZXJSb2xlcyxcbn0gZnJvbSAnLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuXG5AU3RhdGU8SWRlbnRpdHkuU3RhdGU+KHtcbiAgbmFtZTogJ0lkZW50aXR5U3RhdGUnLFxuICBkZWZhdWx0czogeyByb2xlczoge30sIHNlbGVjdGVkUm9sZToge30sIHVzZXJzOiB7fSwgc2VsZWN0ZWRVc2VyOiB7fSB9IGFzIElkZW50aXR5LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0eVN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFJvbGVzKHsgcm9sZXMgfTogSWRlbnRpdHkuU3RhdGUpOiBJZGVudGl0eS5Sb2xlSXRlbVtdIHtcbiAgICByZXR1cm4gcm9sZXMuaXRlbXM7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0Um9sZXNUb3RhbENvdW50KHsgcm9sZXMgfTogSWRlbnRpdHkuU3RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb2xlcy50b3RhbENvdW50O1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFVzZXJzKHsgdXNlcnMgfTogSWRlbnRpdHkuU3RhdGUpOiBJZGVudGl0eS5Vc2VySXRlbVtdIHtcbiAgICByZXR1cm4gdXNlcnMuaXRlbXM7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VXNlcnNUb3RhbENvdW50KHsgdXNlcnMgfTogSWRlbnRpdHkuU3RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiB1c2Vycy50b3RhbENvdW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZSkge31cblxuICBAQWN0aW9uKElkZW50aXR5R2V0Um9sZXMpXG4gIGdldFJvbGVzKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFJvbGVzKCkucGlwZShcbiAgICAgIHRhcChyb2xlcyA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICByb2xlcyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5R2V0Um9sZUJ5SWQpXG4gIGdldFJvbGUoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUdldFJvbGVCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFJvbGVCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRSb2xlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkUm9sZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5RGVsZXRlUm9sZSlcbiAgZGVsZXRlUm9sZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUdldFJvbGVCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmRlbGV0ZVJvbGUocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0Um9sZXMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlBZGRSb2xlKVxuICBhZGRSb2xlKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5QWRkUm9sZSkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5hZGRSb2xlKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFJvbGVzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5VXBkYXRlUm9sZSlcbiAgdXBkYXRlUm9sZSh7IGdldFN0YXRlLCBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlVcGRhdGVSb2xlKSB7XG4gICAgcmV0dXJuIGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFJvbGVCeUlkKHBheWxvYWQuaWQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZVJvbGUoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkUm9sZSwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0Um9sZXMoKSkpLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5R2V0VXNlcnMpXG4gIGdldFVzZXJzKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlHZXRVc2Vycykge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRVc2VycyhwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHVzZXJzID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHVzZXJzLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlHZXRVc2VyQnlJZClcbiAgZ2V0VXNlcih7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5R2V0VXNlckJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0VXNlckJ5SWQocGF5bG9hZCkucGlwZShcbiAgICAgIHRhcChzZWxlY3RlZFVzZXIgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgc2VsZWN0ZWRVc2VyLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlEZWxldGVVc2VyKVxuICBkZWxldGVVc2VyKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5R2V0VXNlckJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZGVsZXRlVXNlcihwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VycygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihJZGVudGl0eUFkZFVzZXIpXG4gIGFkZFVzZXIoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlBZGRVc2VyKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmFkZFVzZXIocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlcnMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlVcGRhdGVVc2VyKVxuICB1cGRhdGVVc2VyKHsgZ2V0U3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eVVwZGF0ZVVzZXIpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlckJ5SWQocGF5bG9hZC5pZCkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pZGVudGl0eVNlcnZpY2UudXBkYXRlVXNlcih7IC4uLmdldFN0YXRlKCkuc2VsZWN0ZWRVc2VyLCAuLi5wYXlsb2FkIH0pKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VycygpKSksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlHZXRVc2VyUm9sZXMpXG4gIGdldFVzZXJSb2xlcyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5R2V0VXNlclJvbGVzKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFVzZXJSb2xlcyhwYXlsb2FkKS5waXBlKFxuICAgICAgcGx1Y2soJ2l0ZW1zJyksXG4gICAgICB0YXAoc2VsZWN0ZWRVc2VyUm9sZXMgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgc2VsZWN0ZWRVc2VyUm9sZXMsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9pZGVudGl0eS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEdBQ2IsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7SUFNbEQsYUFBYSxTQUFiLGFBQWE7Ozs7SUFxQnhCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7Ozs7O0lBbkJ4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFrQjtRQUN2QyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFHRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQWtCO1FBQ2pELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQWtCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBa0I7UUFDakQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7Ozs7OztJQUtELFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBWTtRQUMxRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEQsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQ1YsVUFBVSxDQUFDO1lBQ1QsS0FBSztTQUNOLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQWU7UUFDNUUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUc7Ozs7UUFBQyxZQUFZLENBQUMsRUFBRSxDQUNqQixVQUFVLENBQUM7WUFDVCxZQUFZO1NBQ2IsQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUM3RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOzs7Ozs7SUFHRCxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQWM7UUFDekUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQzs7Ozs7O0lBR0QsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBYztRQUN0RixPQUFPLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9DLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxtQkFBTSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUssT0FBTyxFQUFHLEVBQUMsRUFDNUYsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsRUFBQyxDQUMxQyxDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFnQyxFQUFFLEVBQUUsT0FBTyxFQUFZO1FBQzFFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDVixVQUFVLENBQUM7WUFDVCxLQUFLO1NBQ04sQ0FBQyxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUM1RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkQsR0FBRzs7OztRQUFDLFlBQVksQ0FBQyxFQUFFLENBQ2pCLFVBQVUsQ0FBQztZQUNULFlBQVk7U0FDYixDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFnQyxFQUFFLEVBQUUsT0FBTyxFQUFlO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7Ozs7OztJQUdELE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBYztRQUN6RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOzs7Ozs7SUFHRCxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFnQyxFQUFFLEVBQUUsT0FBTyxFQUFjO1FBQ3RGLE9BQU8sUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0MsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLG1CQUFNLFFBQVEsRUFBRSxDQUFDLFlBQVksRUFBSyxPQUFPLEVBQUcsRUFBQyxFQUM1RixTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQzFDLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQWdCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQ2QsR0FBRzs7OztRQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FDdEIsVUFBVSxDQUFDO1lBQ1QsaUJBQWlCO1NBQ2xCLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTFGQztJQURDLE1BQU0sQ0FBQyxRQUFRLENBQUM7O3FEQUNtRCxRQUFROzs2Q0FRM0U7QUFHRDtJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUMrQyxXQUFXOzs0Q0FRN0U7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUNpRCxXQUFXOzsrQ0FFOUU7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUM4QyxVQUFVOzs0Q0FFMUU7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUMyRCxVQUFVOzsrQ0FLdkY7QUFHRDtJQURDLE1BQU0sQ0FBQyxRQUFRLENBQUM7O3FEQUNtRCxRQUFROzs2Q0FRM0U7QUFHRDtJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUMrQyxXQUFXOzs0Q0FRN0U7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUNpRCxXQUFXOzsrQ0FFOUU7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUM4QyxVQUFVOzs0Q0FFMUU7QUFHRDtJQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3FEQUMyRCxVQUFVOzsrQ0FLdkY7QUFHRDtJQURDLE1BQU0sQ0FBQyxZQUFZLENBQUM7O3FEQUNtRCxZQUFZOztpREFTbkY7QUEvR0Q7SUFEQyxRQUFRLEVBQUU7Ozs7bUNBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7Ozs2Q0FHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzs7O21DQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7Ozs7NkNBR1Y7QUFuQlUsYUFBYTtJQUp6QixLQUFLLENBQWlCO1FBQ3JCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBa0I7S0FDekYsQ0FBQzs2Q0FzQnFDLGVBQWU7R0FyQnpDLGFBQWEsQ0FrSHpCO1NBbEhZLGFBQWE7Ozs7OztJQXFCWix3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0IH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAsIHBsdWNrIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlUm9sZSxcbiAgQ3JlYXRlVXNlcixcbiAgRGVsZXRlUm9sZSxcbiAgRGVsZXRlVXNlcixcbiAgR2V0Um9sZUJ5SWQsXG4gIEdldFJvbGVzLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlcnMsXG4gIFVwZGF0ZVJvbGUsXG4gIFVwZGF0ZVVzZXIsXG4gIEdldFVzZXJSb2xlcyxcbn0gZnJvbSAnLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuXG5AU3RhdGU8SWRlbnRpdHkuU3RhdGU+KHtcbiAgbmFtZTogJ0lkZW50aXR5U3RhdGUnLFxuICBkZWZhdWx0czogeyByb2xlczoge30sIHNlbGVjdGVkUm9sZToge30sIHVzZXJzOiB7fSwgc2VsZWN0ZWRVc2VyOiB7fSB9IGFzIElkZW50aXR5LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0eVN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFJvbGVzKHsgcm9sZXMgfTogSWRlbnRpdHkuU3RhdGUpOiBJZGVudGl0eS5Sb2xlSXRlbVtdIHtcbiAgICByZXR1cm4gcm9sZXMuaXRlbXM7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0Um9sZXNUb3RhbENvdW50KHsgcm9sZXMgfTogSWRlbnRpdHkuU3RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb2xlcy50b3RhbENvdW50O1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFVzZXJzKHsgdXNlcnMgfTogSWRlbnRpdHkuU3RhdGUpOiBJZGVudGl0eS5Vc2VySXRlbVtdIHtcbiAgICByZXR1cm4gdXNlcnMuaXRlbXM7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VXNlcnNUb3RhbENvdW50KHsgdXNlcnMgfTogSWRlbnRpdHkuU3RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiB1c2Vycy50b3RhbENvdW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZSkge31cblxuICBAQWN0aW9uKEdldFJvbGVzKVxuICBnZXRSb2xlcyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFJvbGVzKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFJvbGVzKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocm9sZXMgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgcm9sZXMsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihHZXRSb2xlQnlJZClcbiAgZ2V0Um9sZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFJvbGVCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFJvbGVCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRSb2xlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkUm9sZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKERlbGV0ZVJvbGUpXG4gIGRlbGV0ZVJvbGUoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0Um9sZUJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZGVsZXRlUm9sZShwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0Um9sZXMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oQ3JlYXRlUm9sZSlcbiAgYWRkUm9sZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBDcmVhdGVSb2xlKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmNyZWF0ZVJvbGUocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFJvbGVzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVJvbGUpXG4gIHVwZGF0ZVJvbGUoeyBnZXRTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IFVwZGF0ZVJvbGUpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKHBheWxvYWQuaWQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZVJvbGUoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkUm9sZSwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFJvbGVzKCkpKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihHZXRVc2VycylcbiAgZ2V0VXNlcnMoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRVc2Vycykge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRVc2VycyhwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHVzZXJzID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHVzZXJzLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oR2V0VXNlckJ5SWQpXG4gIGdldFVzZXIoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRVc2VyQnlJZCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRVc2VyQnlJZChwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHNlbGVjdGVkVXNlciA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3RlZFVzZXIsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihEZWxldGVVc2VyKVxuICBkZWxldGVVc2VyKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFVzZXJCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmRlbGV0ZVVzZXIocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFVzZXJzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKENyZWF0ZVVzZXIpXG4gIGFkZFVzZXIoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogQ3JlYXRlVXNlcikge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5jcmVhdGVVc2VyKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBHZXRVc2VycygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVVc2VyKVxuICB1cGRhdGVVc2VyKHsgZ2V0U3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBVcGRhdGVVc2VyKSB7XG4gICAgcmV0dXJuIGRpc3BhdGNoKG5ldyBHZXRVc2VyQnlJZChwYXlsb2FkLmlkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmlkZW50aXR5U2VydmljZS51cGRhdGVVc2VyKHsgLi4uZ2V0U3RhdGUoKS5zZWxlY3RlZFVzZXIsIC4uLnBheWxvYWQgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBHZXRVc2VycygpKSksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oR2V0VXNlclJvbGVzKVxuICBnZXRVc2VyUm9sZXMoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRVc2VyUm9sZXMpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0VXNlclJvbGVzKHBheWxvYWQpLnBpcGUoXG4gICAgICBwbHVjaygnaXRlbXMnKSxcbiAgICAgIHRhcChzZWxlY3RlZFVzZXJSb2xlcyA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3RlZFVzZXJSb2xlcyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/public-api.js b/npm/ng-packs/dist/identity/esm2015/public-api.js index 196a6c1781..6863447b22 100644 --- a/npm/ng-packs/dist/identity/esm2015/public-api.js +++ b/npm/ng-packs/dist/identity/esm2015/public-api.js @@ -6,11 +6,11 @@ * Public API Surface of identity */ export { IdentityModule } from './lib/identity.module'; -export { IdentityGetRoles, IdentityGetRoleById, IdentityDeleteRole, IdentityAddRole, IdentityUpdateRole, IdentityGetUsers, IdentityGetUserById, IdentityDeleteUser, IdentityAddUser, IdentityUpdateUser, IdentityGetUserRoles } from './lib/actions/identity.actions'; +export { GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles } from './lib/actions/identity.actions'; export { RolesComponent } from './lib/components/roles/roles.component'; export { IDENTITY_ROUTES } from './lib/constants/routes'; export {} from './lib/models/identity'; export { RoleResolver } from './lib/resolvers/roles.resolver'; export { IdentityService } from './lib/services/identity.service'; export { IdentityState } from './lib/states/identity.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxxT0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js index ae772c9508..52a29f1f6c 100644 --- a/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js @@ -5,8 +5,8 @@ /** * Generated bundle index. Do not edit. */ -export { IdentityModule, IdentityGetRoles, IdentityGetRoleById, IdentityDeleteRole, IdentityAddRole, IdentityUpdateRole, IdentityGetUsers, IdentityGetUserById, IdentityDeleteUser, IdentityAddUser, IdentityUpdateUser, IdentityGetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; +export { IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; export { UsersComponent as ɵb } from './lib/components/users/users.component'; export { IdentityRoutingModule as ɵc } from './lib/identity-routing.module'; export { UserResolver as ɵd } from './lib/resolvers/users.resolver'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb1VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa1BBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/actions/identity.actions.js b/npm/ng-packs/dist/identity/esm5/lib/actions/identity.actions.js index a723bf9486..be282dd3b5 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/actions/identity.actions.js +++ b/npm/ng-packs/dist/identity/esm5/lib/actions/identity.actions.js @@ -2,155 +2,158 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var IdentityGetRoles = /** @class */ (function () { - function IdentityGetRoles() { +var GetRoles = /** @class */ (function () { + function GetRoles(payload) { + this.payload = payload; } - IdentityGetRoles.type = '[Identity] Get Roles'; - return IdentityGetRoles; + GetRoles.type = '[Identity] Get Roles'; + return GetRoles; }()); -export { IdentityGetRoles }; +export { GetRoles }; if (false) { /** @type {?} */ - IdentityGetRoles.type; + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; } -var IdentityGetRoleById = /** @class */ (function () { - function IdentityGetRoleById(payload) { +var GetRoleById = /** @class */ (function () { + function GetRoleById(payload) { this.payload = payload; } - IdentityGetRoleById.type = '[Identity] Get Role By Id'; - return IdentityGetRoleById; + GetRoleById.type = '[Identity] Get Role By Id'; + return GetRoleById; }()); -export { IdentityGetRoleById }; +export { GetRoleById }; if (false) { /** @type {?} */ - IdentityGetRoleById.type; + GetRoleById.type; /** @type {?} */ - IdentityGetRoleById.prototype.payload; + GetRoleById.prototype.payload; } -var IdentityDeleteRole = /** @class */ (function () { - function IdentityDeleteRole(payload) { +var DeleteRole = /** @class */ (function () { + function DeleteRole(payload) { this.payload = payload; } - IdentityDeleteRole.type = '[Identity] Delete Role'; - return IdentityDeleteRole; + DeleteRole.type = '[Identity] Delete Role'; + return DeleteRole; }()); -export { IdentityDeleteRole }; +export { DeleteRole }; if (false) { /** @type {?} */ - IdentityDeleteRole.type; + DeleteRole.type; /** @type {?} */ - IdentityDeleteRole.prototype.payload; + DeleteRole.prototype.payload; } -var IdentityAddRole = /** @class */ (function () { - function IdentityAddRole(payload) { +var CreateRole = /** @class */ (function () { + function CreateRole(payload) { this.payload = payload; } - IdentityAddRole.type = '[Identity] Add Role'; - return IdentityAddRole; + CreateRole.type = '[Identity] Create Role'; + return CreateRole; }()); -export { IdentityAddRole }; +export { CreateRole }; if (false) { /** @type {?} */ - IdentityAddRole.type; + CreateRole.type; /** @type {?} */ - IdentityAddRole.prototype.payload; + CreateRole.prototype.payload; } -var IdentityUpdateRole = /** @class */ (function () { - function IdentityUpdateRole(payload) { +var UpdateRole = /** @class */ (function () { + function UpdateRole(payload) { this.payload = payload; } - IdentityUpdateRole.type = '[Identity] Update Role'; - return IdentityUpdateRole; + UpdateRole.type = '[Identity] Update Role'; + return UpdateRole; }()); -export { IdentityUpdateRole }; +export { UpdateRole }; if (false) { /** @type {?} */ - IdentityUpdateRole.type; + UpdateRole.type; /** @type {?} */ - IdentityUpdateRole.prototype.payload; + UpdateRole.prototype.payload; } -var IdentityGetUsers = /** @class */ (function () { - function IdentityGetUsers(payload) { +var GetUsers = /** @class */ (function () { + function GetUsers(payload) { this.payload = payload; } - IdentityGetUsers.type = '[Identity] Get Users'; - return IdentityGetUsers; + GetUsers.type = '[Identity] Get Users'; + return GetUsers; }()); -export { IdentityGetUsers }; +export { GetUsers }; if (false) { /** @type {?} */ - IdentityGetUsers.type; + GetUsers.type; /** @type {?} */ - IdentityGetUsers.prototype.payload; + GetUsers.prototype.payload; } -var IdentityGetUserById = /** @class */ (function () { - function IdentityGetUserById(payload) { +var GetUserById = /** @class */ (function () { + function GetUserById(payload) { this.payload = payload; } - IdentityGetUserById.type = '[Identity] Get User By Id'; - return IdentityGetUserById; + GetUserById.type = '[Identity] Get User By Id'; + return GetUserById; }()); -export { IdentityGetUserById }; +export { GetUserById }; if (false) { /** @type {?} */ - IdentityGetUserById.type; + GetUserById.type; /** @type {?} */ - IdentityGetUserById.prototype.payload; + GetUserById.prototype.payload; } -var IdentityDeleteUser = /** @class */ (function () { - function IdentityDeleteUser(payload) { +var DeleteUser = /** @class */ (function () { + function DeleteUser(payload) { this.payload = payload; } - IdentityDeleteUser.type = '[Identity] Delete User'; - return IdentityDeleteUser; + DeleteUser.type = '[Identity] Delete User'; + return DeleteUser; }()); -export { IdentityDeleteUser }; +export { DeleteUser }; if (false) { /** @type {?} */ - IdentityDeleteUser.type; + DeleteUser.type; /** @type {?} */ - IdentityDeleteUser.prototype.payload; + DeleteUser.prototype.payload; } -var IdentityAddUser = /** @class */ (function () { - function IdentityAddUser(payload) { +var CreateUser = /** @class */ (function () { + function CreateUser(payload) { this.payload = payload; } - IdentityAddUser.type = '[Identity] Add User'; - return IdentityAddUser; + CreateUser.type = '[Identity] Create User'; + return CreateUser; }()); -export { IdentityAddUser }; +export { CreateUser }; if (false) { /** @type {?} */ - IdentityAddUser.type; + CreateUser.type; /** @type {?} */ - IdentityAddUser.prototype.payload; + CreateUser.prototype.payload; } -var IdentityUpdateUser = /** @class */ (function () { - function IdentityUpdateUser(payload) { +var UpdateUser = /** @class */ (function () { + function UpdateUser(payload) { this.payload = payload; } - IdentityUpdateUser.type = '[Identity] Update User'; - return IdentityUpdateUser; + UpdateUser.type = '[Identity] Update User'; + return UpdateUser; }()); -export { IdentityUpdateUser }; +export { UpdateUser }; if (false) { /** @type {?} */ - IdentityUpdateUser.type; + UpdateUser.type; /** @type {?} */ - IdentityUpdateUser.prototype.payload; + UpdateUser.prototype.payload; } -var IdentityGetUserRoles = /** @class */ (function () { - function IdentityGetUserRoles(payload) { +var GetUserRoles = /** @class */ (function () { + function GetUserRoles(payload) { this.payload = payload; } - IdentityGetUserRoles.type = '[Identity] Get User Roles'; - return IdentityGetUserRoles; + GetUserRoles.type = '[Identity] Get User Roles'; + return GetUserRoles; }()); -export { IdentityGetUserRoles }; +export { GetUserRoles }; if (false) { /** @type {?} */ - IdentityGetUserRoles.type; + GetUserRoles.type; /** @type {?} */ - IdentityGetUserRoles.prototype.payload; + GetUserRoles.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQTtJQUFBO0lBRUEsQ0FBQztJQURpQixxQkFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ2hELHVCQUFDO0NBQUEsQUFGRCxJQUVDO1NBRlksZ0JBQWdCOzs7SUFDM0Isc0JBQThDOztBQUdoRDtJQUVFLDZCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsd0JBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVyRCwwQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLG1CQUFtQjs7O0lBQzlCLHlCQUFtRDs7SUFDdkMsc0NBQXNCOztBQUdwQztJQUVFLDRCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsdUJBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCx5QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGtCQUFrQjs7O0lBQzdCLHdCQUFnRDs7SUFDcEMscUNBQXNCOztBQUdwQztJQUVFLHlCQUFtQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUFHLENBQUM7SUFEeEMsb0JBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUUvQyxzQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGVBQWU7OztJQUMxQixxQkFBNkM7O0lBQ2pDLGtDQUF3Qzs7QUFHdEQ7SUFFRSw0QkFBbUIsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRGpDLHVCQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFbEQseUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxrQkFBa0I7OztJQUM3Qix3QkFBZ0Q7O0lBQ3BDLHFDQUFpQzs7QUFHL0M7SUFFRSwwQkFBbUIsT0FBNkI7UUFBN0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7SUFBRyxDQUFDO0lBRHBDLHFCQUFJLEdBQUcsc0JBQXNCLENBQUM7SUFFaEQsdUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxnQkFBZ0I7OztJQUMzQixzQkFBOEM7O0lBQ2xDLG1DQUFvQzs7QUFHbEQ7SUFFRSw2QkFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRHRCLHdCQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFFckQsMEJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxtQkFBbUI7OztJQUM5Qix5QkFBbUQ7O0lBQ3ZDLHNDQUFzQjs7QUFHcEM7SUFFRSw0QkFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRHRCLHVCQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFbEQseUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxrQkFBa0I7OztJQUM3Qix3QkFBZ0Q7O0lBQ3BDLHFDQUFzQjs7QUFHcEM7SUFFRSx5QkFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFBRyxDQUFDO0lBRHhDLG9CQUFJLEdBQUcscUJBQXFCLENBQUM7SUFFL0Msc0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxlQUFlOzs7SUFDMUIscUJBQTZDOztJQUNqQyxrQ0FBd0M7O0FBR3REO0lBRUUsNEJBQW1CLE9BQWtEO1FBQWxELFlBQU8sR0FBUCxPQUFPLENBQTJDO0lBQUcsQ0FBQztJQUR6RCx1QkFBSSxHQUFHLHdCQUF3QixDQUFDO0lBRWxELHlCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksa0JBQWtCOzs7SUFDN0Isd0JBQWdEOztJQUNwQyxxQ0FBeUQ7O0FBR3ZFO0lBRUUsOEJBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUR0Qix5QkFBSSxHQUFHLDJCQUEyQixDQUFDO0lBRXJELDJCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksb0JBQW9COzs7SUFDL0IsMEJBQW1EOztJQUN2Qyx1Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHZXRSb2xlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFJvbGVzJztcbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5R2V0Um9sZUJ5SWQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEdldCBSb2xlIEJ5IElkJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5RGVsZXRlUm9sZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gRGVsZXRlIFJvbGUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlBZGRSb2xlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBBZGQgUm9sZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Sb2xlU2F2ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eVVwZGF0ZVJvbGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIFVwZGF0ZSBSb2xlJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IElkZW50aXR5LlJvbGVJdGVtKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHZXRVc2VycyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFVzZXJzJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHZXRVc2VyQnlJZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFVzZXIgQnkgSWQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlEZWxldGVVc2VyIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBEZWxldGUgVXNlcic7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUFkZFVzZXIge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEFkZCBVc2VyJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IElkZW50aXR5LlVzZXJTYXZlUmVxdWVzdCkge31cbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5VXBkYXRlVXNlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gVXBkYXRlIFVzZXInO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogSWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0ICYgeyBpZDogc3RyaW5nIH0pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBJZGVudGl0eUdldFVzZXJSb2xlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFVzZXIgUm9sZXMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQTtJQUVFLGtCQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7SUFEcEMsYUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBRWhELGVBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxRQUFROzs7SUFDbkIsY0FBOEM7O0lBQ2xDLDJCQUFvQzs7QUFHbEQ7SUFFRSxxQkFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRHRCLGdCQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFFckQsa0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxXQUFXOzs7SUFDdEIsaUJBQW1EOztJQUN2Qyw4QkFBc0I7O0FBR3BDO0lBRUUsb0JBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUR0QixlQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFbEQsaUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxVQUFVOzs7SUFDckIsZ0JBQWdEOztJQUNwQyw2QkFBc0I7O0FBR3BDO0lBRUUsb0JBQW1CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQUcsQ0FBQztJQUR4QyxlQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFbEQsaUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxVQUFVOzs7SUFDckIsZ0JBQWdEOztJQUNwQyw2QkFBd0M7O0FBR3REO0lBRUUsb0JBQW1CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQURqQyxlQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFbEQsaUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxVQUFVOzs7SUFDckIsZ0JBQWdEOztJQUNwQyw2QkFBaUM7O0FBRy9DO0lBRUUsa0JBQW1CLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUcsQ0FBQztJQURwQyxhQUFJLEdBQUcsc0JBQXNCLENBQUM7SUFFaEQsZUFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFFBQVE7OztJQUNuQixjQUE4Qzs7SUFDbEMsMkJBQW9DOztBQUdsRDtJQUVFLHFCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsZ0JBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVyRCxrQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFdBQVc7OztJQUN0QixpQkFBbUQ7O0lBQ3ZDLDhCQUFzQjs7QUFHcEM7SUFFRSxvQkFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRHRCLGVBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCxpQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFVBQVU7OztJQUNyQixnQkFBZ0Q7O0lBQ3BDLDZCQUFzQjs7QUFHcEM7SUFFRSxvQkFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFBRyxDQUFDO0lBRHhDLGVBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCxpQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFVBQVU7OztJQUNyQixnQkFBZ0Q7O0lBQ3BDLDZCQUF3Qzs7QUFHdEQ7SUFFRSxvQkFBbUIsT0FBa0Q7UUFBbEQsWUFBTyxHQUFQLE9BQU8sQ0FBMkM7SUFBRyxDQUFDO0lBRHpELGVBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCxpQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFVBQVU7OztJQUNyQixnQkFBZ0Q7O0lBQ3BDLDZCQUF5RDs7QUFHdkU7SUFFRSxzQkFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRHRCLGlCQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFFckQsbUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxZQUFZOzs7SUFDdkIsa0JBQW1EOztJQUN2QywrQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY2xhc3MgR2V0Um9sZXMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEdldCBSb2xlcyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogQUJQLlBhZ2VRdWVyeVBhcmFtcykge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFJvbGVCeUlkIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgUm9sZSBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVSb2xlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBEZWxldGUgUm9sZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVSb2xlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBDcmVhdGUgUm9sZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Sb2xlU2F2ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVSb2xlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBVcGRhdGUgUm9sZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBJZGVudGl0eS5Sb2xlSXRlbSkge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFVzZXJzIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0lkZW50aXR5XSBHZXQgVXNlcnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IEFCUC5QYWdlUXVlcnlQYXJhbXMpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRVc2VyQnlJZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gR2V0IFVzZXIgQnkgSWQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgRGVsZXRlVXNlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gRGVsZXRlIFVzZXInO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlVXNlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gQ3JlYXRlIFVzZXInO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogSWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlVXNlciB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tJZGVudGl0eV0gVXBkYXRlIFVzZXInO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogSWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0ICYgeyBpZDogc3RyaW5nIH0pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRVc2VyUm9sZXMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbSWRlbnRpdHldIEdldCBVc2VyIFJvbGVzJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHN0cmluZykge31cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js index 1996c37e10..081515bf94 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js @@ -3,21 +3,37 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; +import { ConfirmationService } from '@abp/ng.theme.shared'; import { Component, TemplateRef, ViewChild } from '@angular/core'; +import { FormBuilder, Validators, FormControl } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { FormBuilder, Validators } from '@angular/forms'; +import { finalize, pluck } from 'rxjs/operators'; +import { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions'; import { IdentityState } from '../../states/identity.state'; -import { IdentityUpdateRole, IdentityAddRole, IdentityDeleteRole, IdentityGetRoleById, } from '../../actions/identity.actions'; -import { pluck } from 'rxjs/operators'; -import { ConfirmationService } from '@abp/ng.theme.shared'; var RolesComponent = /** @class */ (function () { function RolesComponent(confirmationService, fb, store) { this.confirmationService = confirmationService; this.fb = fb; this.store = store; this.visiblePermissions = false; + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } + /** + * @param {?} value + * @return {?} + */ + RolesComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @return {?} */ @@ -26,7 +42,10 @@ var RolesComponent = /** @class */ (function () { */ function () { this.form = this.fb.group({ - name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]], + name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [ + Validators.required, + Validators.maxLength(256), + ]), isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); @@ -62,7 +81,7 @@ var RolesComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new IdentityGetRoleById(id)) + .dispatch(new GetRoleById(id)) .pipe(pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole @@ -85,8 +104,8 @@ var RolesComponent = /** @class */ (function () { return; this.store .dispatch(this.selected.id - ? new IdentityUpdateRole(tslib_1.__assign({}, this.form.value, { id: this.selected.id })) - : new IdentityAddRole(this.form.value)) + ? new UpdateRole(tslib_1.__assign({}, this.form.value, { id: this.selected.id })) + : new CreateRole(this.form.value)) .subscribe((/** * @return {?} */ @@ -116,14 +135,44 @@ var RolesComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteRole(id)); + _this.store.dispatch(new DeleteRole(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + RolesComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + RolesComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetRoles(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -138,13 +187,19 @@ var RolesComponent = /** @class */ (function () { tslib_1.__decorate([ Select(IdentityState.getRoles), tslib_1.__metadata("design:type", Observable) - ], RolesComponent.prototype, "roles$", void 0); + ], RolesComponent.prototype, "data$", void 0); + tslib_1.__decorate([ + Select(IdentityState.getRolesTotalCount), + tslib_1.__metadata("design:type", Observable) + ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); export { RolesComponent }; if (false) { /** @type {?} */ - RolesComponent.prototype.roles$; + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; /** @type {?} */ RolesComponent.prototype.form; /** @type {?} */ @@ -156,6 +211,10 @@ if (false) { /** @type {?} */ RolesComponent.prototype.providerKey; /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -173,4 +232,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixtQkFBbUIsR0FDcEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFFcEU7SUFxQkUsd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVAzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7SUFPMEUsQ0FBQzs7OztJQUUvRyxtQ0FBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxR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QUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7XG4gIElkZW50aXR5VXBkYXRlUm9sZSxcbiAgSWRlbnRpdHlBZGRSb2xlLFxuICBJZGVudGl0eURlbGV0ZVJvbGUsXG4gIElkZW50aXR5R2V0Um9sZUJ5SWQsXG59IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICByb2xlcyQ6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW1bXT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBpc0RlZmF1bHQ6IFt0aGlzLnNlbGVjdGVkLmlzRGVmYXVsdCB8fCBmYWxzZV0sXG4gICAgICBpc1B1YmxpYzogW3RoaXMuc2VsZWN0ZWQuaXNQdWJsaWMgfHwgZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25BZGQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5LlJvbGVJdGVtO1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBvbkVkaXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRSb2xlQnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnSWRlbnRpdHlTdGF0ZScsICdzZWxlY3RlZFJvbGUnKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWRSb2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkUm9sZTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgSWRlbnRpdHlVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IElkZW50aXR5QWRkUm9sZSh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlEZWxldGVSb2xlKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7SUE4QkUsd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRUYsWUFBTyxHQUFZLEtBQUssQ0FBQztJQUtxRixDQUFDOzs7OztJQUUvRyxpQ0FBUTs7OztJQUFSLFVBQVMsS0FBSztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMs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ZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js index 898de723da..5ba640606e 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js @@ -5,13 +5,12 @@ import * as tslib_1 from "tslib"; import { ConfirmationService } from '@abp/ng.theme.shared'; import { Component, TemplateRef, ViewChild } from '@angular/core'; -import { FormBuilder, Validators } from '@angular/forms'; -import { validatePassword } from '@ngx-validate/core'; +import { FormBuilder, Validators, FormControl } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; -import { combineLatest, Observable, Subject } from 'rxjs'; -import { debounceTime, filter, map, pluck, take } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { finalize, pluck, switchMap, take } from 'rxjs/operators'; import snq from 'snq'; -import { IdentityAddUser, IdentityDeleteUser, IdentityGetUserById, IdentityGetUserRoles, IdentityGetUsers, IdentityUpdateUser, } from '../../actions/identity.actions'; +import { CreateUser, DeleteUser, GetUserById, GetUserRoles, GetUsers, UpdateUser, } from '../../actions/identity.actions'; import { IdentityState } from '../../states/identity.state'; var UsersComponent = /** @class */ (function () { function UsersComponent(confirmationService, fb, store) { @@ -23,7 +22,6 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; - this.search$ = new Subject(); this.trackByFn = (/** * @param {?} index * @param {?} item @@ -46,21 +44,16 @@ var UsersComponent = /** @class */ (function () { configurable: true }); /** + * @param {?} value * @return {?} */ - UsersComponent.prototype.ngOnInit = /** + UsersComponent.prototype.onSearch = /** + * @param {?} value * @return {?} */ - function () { - var _this = this; - this.search$.pipe(debounceTime(300)).subscribe((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.pageQuery.filter = value; - _this.get(); - })); + function (value) { + this.pageQuery.filter = value; + this.get(); }; /** * @return {?} @@ -72,15 +65,6 @@ var UsersComponent = /** @class */ (function () { var _this = this; this.roles = this.store.selectSnapshot(IdentityState.getRoles); this.form = this.fb.group({ - password: [ - '', - [ - Validators.required, - Validators.maxLength(32), - Validators.minLength(6), - validatePassword(['small', 'capital', 'number', 'special']), - ], - ], userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]], email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]], name: [this.selected.name || '', [Validators.maxLength(64)]], @@ -106,6 +90,9 @@ var UsersComponent = /** @class */ (function () { _a)); }))), }); + if (!this.selected.userName) { + this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)])); + } }; /** * @return {?} @@ -138,22 +125,12 @@ var UsersComponent = /** @class */ (function () { */ function (id) { var _this = this; - combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))]) - .pipe(filter((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = tslib_1.__read(_a, 2), res1 = _b[0], res2 = _b[1]; - return res1 && res2; - })), map((/** - * @param {?} __0 + this.store + .dispatch(new GetUserById(id)) + .pipe(switchMap((/** * @return {?} */ - function (_a) { - var _b = tslib_1.__read(_a, 2), state = _b[0], _ = _b[1]; - return state; - })), pluck('IdentityState'), take(1)) + function () { return _this.store.dispatch(new GetUserRoles(id)); })), pluck('IdentityState'), take(1)) .subscribe((/** * @param {?} state * @return {?} @@ -190,8 +167,8 @@ var UsersComponent = /** @class */ (function () { function (role) { return Object.keys(role)[0]; })); }), []); this.store .dispatch(this.selected.id - ? new IdentityUpdateUser(tslib_1.__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) - : new IdentityAddUser(tslib_1.__assign({}, this.form.value, { roleNames: mappedRoleNames }))) + ? new UpdateUser(tslib_1.__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) + : new CreateUser(tslib_1.__assign({}, this.form.value, { roleNames: mappedRoleNames }))) .subscribe((/** * @return {?} */ @@ -221,7 +198,7 @@ var UsersComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteUser(id)); + _this.store.dispatch(new DeleteUser(id)); } })); }; @@ -247,15 +224,18 @@ var UsersComponent = /** @class */ (function () { function () { var _this = this; this.loading = true; - this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe((/** + this.store + .dispatch(new GetUsers(this.pageQuery)) + .pipe(finalize((/** * @return {?} */ - function () { return (_this.loading = false); })); + function () { return (_this.loading = false); }))) + .subscribe(); }; UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -304,8 +284,6 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ - UsersComponent.prototype.search$; - /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -323,4 +301,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RDtJQTBDRSx3QkFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBcEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7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QUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxDQUFDLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQXRCLENBQXNCLEVBQUMsQ0FBQztJQUNwRyxDQUFDOztnQkE1SkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQiwwNVBBQXFDO2lCQUN0Qzs7OztnQkFyQlEsbUJBQW1CO2dCQUVTLFdBQVc7Z0JBRS9CLEtBQUs7OzsrQkF5Qm5CLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQUw1QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDOzBDQUN4QixVQUFVO2lEQUFzQjtJQUd2QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7MENBQzVCLFVBQVU7dURBQVM7SUFvSmxDLHFCQUFDO0NBQUEsQUE3SkQsSUE2SkM7U0F6SlksY0FBYzs7O0lBQ3pCLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixpQ0FBZ0M7O0lBRWhDLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVHJhY2tCeUZ1bmN0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBJZGVudGl0eUFkZFVzZXIsXG4gIElkZW50aXR5RGVsZXRlVXNlcixcbiAgSWRlbnRpdHlHZXRVc2VyQnlJZCxcbiAgSWRlbnRpdHlHZXRVc2VyUm9sZXMsXG4gIElkZW50aXR5R2V0VXNlcnMsXG4gIElkZW50aXR5VXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlYXJjaCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XG5cbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xuICAgIHJldHVybiBzbnEoKCkgPT4gKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW10sIFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoJC5waXBlKGRlYm91bmNlVGltZSgzMDApKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgICB0aGlzLmdldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMucm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBwYXNzd29yZDogW1xuICAgICAgICAnJyxcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpLFxuICAgICAgICAgIHZhbGlkYXRlUGFzc3dvcmQoWydzbWFsbCcsICdjYXBpdGFsJywgJ251bWJlcicsICdzcGVjaWFsJ10pLFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICAgIHVzZXJOYW1lOiBbdGhpcy5zZWxlY3RlZC51c2VyTmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGVtYWlsOiBbdGhpcy5zZWxlY3RlZC5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHN1cm5hbWU6IFt0aGlzLnNlbGVjdGVkLnN1cm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHBob25lTnVtYmVyOiBbdGhpcy5zZWxlY3RlZC5waG9uZU51bWJlciB8fCAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgbG9ja291dEVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHR3b0ZhY3RvckVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHJvbGVOYW1lczogdGhpcy5mYi5hcnJheShcbiAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxuICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgW3JvbGUubmFtZV06IFshIXNucSgoKSA9PiB0aGlzLnNlbGVjdGVkVXNlclJvbGVzLmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpKV0sXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuVXNlckl0ZW07XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IFtdIGFzIElkZW50aXR5LlJvbGVJdGVtW107XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VyQnlJZChpZCkpLCB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFVzZXJSb2xlcyhpZCkpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFtyZXMxLCByZXMyXSkgPT4gcmVzMSAmJiByZXMyKSxcbiAgICAgICAgbWFwKChbc3RhdGUsIF9dKSA9PiBzdGF0ZSksXG4gICAgICAgIHBsdWNrKCdJZGVudGl0eVN0YXRlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogSWRlbnRpdHkuU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkVXNlcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHN0YXRlLnNlbGVjdGVkVXNlclJvbGVzO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+IHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgSWRlbnRpdHlVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IElkZW50aXR5QWRkVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlEZWxldGVVc2VyKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlcnModGhpcy5wYWdlUXVlcnkpKS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQ7SUF3Q0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWxCM0csdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FBd0I7WUFDL0IsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUlGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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QUM7MENBQ3hCLFVBQVU7aURBQXNCO0lBR3ZDO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzswQ0FDNUIsVUFBVTt1REFBUztJQTRJbEMscUJBQUM7Q0FBQSxBQXJKRCxJQXFKQztTQWpKWSxjQUFjOzs7SUFDekIsK0JBQ3VDOztJQUV2QyxxQ0FDZ0M7O0lBRWhDLHNDQUMrQjs7SUFFL0IsOEJBQWdCOztJQUVoQixrQ0FBNEI7O0lBRTVCLDJDQUF1Qzs7SUFFdkMsK0JBQTJCOztJQUUzQiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsd0NBQXdCOztJQUV4QixpQ0FBeUI7O0lBRXpCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyByb2xlTmFtZXMgfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBjb25zdCBtYXBwZWRSb2xlTmFtZXMgPSBzbnEoXG4gICAgICAoKSA9PiByb2xlTmFtZXMuZmlsdGVyKHJvbGUgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSkubWFwKHJvbGUgPT4gT2JqZWN0LmtleXMocm9sZSlbMF0pLFxuICAgICAgW10sXG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkLmlkLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlVXNlcihpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js b/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js index 119719ce9c..5459cdc50c 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js +++ b/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js @@ -5,21 +5,22 @@ /** @type {?} */ export var IDENTITY_ROUTES = (/** @type {?} */ ([ { - name: 'Administration', + name: 'AbpUiNavigation::Menu:Administration', path: '', order: 1, wrapper: true, }, { - name: 'Identity', + name: 'AbpIdentity::Menu:IdentityManagement', path: 'identity', order: 1, - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', children: [ - { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, ], }, ])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxDQUFDO1FBQ1IsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixNQUFNLGlDQUF5QjtRQUMvQixRQUFRLEVBQUU7WUFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUMvRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtTQUNoRjtLQUNGO0NBQ0YsRUFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IElERU5USVRZX1JPVVRFUyA9IFtcbiAge1xuICAgIG5hbWU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdJZGVudGl0eScsXG4gICAgcGF0aDogJ2lkZW50aXR5JyxcbiAgICBvcmRlcjogMSxcbiAgICBwYXJlbnROYW1lOiAnQWRtaW5pc3RyYXRpb24nLFxuICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHsgcGF0aDogJ3JvbGVzJywgbmFtZTogJ1JvbGVzJywgb3JkZXI6IDIsIHJlcXVpcmVkUG9saWN5OiAnQWJwSWRlbnRpdHkuUm9sZXMnIH0sXG4gICAgICB7IHBhdGg6ICd1c2VycycsIG5hbWU6ICdVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLENBQUM7UUFDUixVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELE1BQU0saUNBQXlCO1FBQy9CLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUM1RixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFO1NBQzdGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVMYXlvdXRUeXBlLCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgIHBhdGg6ICdpZGVudGl0eScsXG4gICAgb3JkZXI6IDEsXG4gICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBpY29uQ2xhc3M6ICdmYSBmYS1pZC1jYXJkLW8nLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IHBhdGg6ICdyb2xlcycsIG5hbWU6ICdBYnBJZGVudGl0eTo6Um9sZXMnLCBvcmRlcjogMiwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Sb2xlcycgfSxcbiAgICAgIHsgcGF0aDogJ3VzZXJzJywgbmFtZTogJ0FicElkZW50aXR5OjpVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/resolvers/roles.resolver.js b/npm/ng-packs/dist/identity/esm5/lib/resolvers/roles.resolver.js index 3dfe3b7829..ba97e5930f 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/resolvers/roles.resolver.js +++ b/npm/ng-packs/dist/identity/esm5/lib/resolvers/roles.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { IdentityGetRoles } from '../actions/identity.actions'; +import { GetRoles } from '../actions/identity.actions'; import { IdentityState } from '../states/identity.state'; var RoleResolver = /** @class */ (function () { function RoleResolver(store) { @@ -19,7 +19,7 @@ var RoleResolver = /** @class */ (function () { function () { /** @type {?} */ var roles = this.store.selectSnapshot(IdentityState.getRoles); - return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles()); + return roles && roles.length ? null : this.store.dispatch(new GetRoles()); }; RoleResolver.decorators = [ { type: Injectable } @@ -38,4 +38,4 @@ if (false) { */ RoleResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy9yb2xlcy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RDtJQUVFLHNCQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsOEJBQU87OztJQUFQOztZQUNRLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQy9ELE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7Z0JBUEYsVUFBVTs7OztnQkFMRixLQUFLOztJQWFkLG1CQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksWUFBWTs7Ozs7O0lBQ1gsNkJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IElkZW50aXR5R2V0Um9sZXMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb2xlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3Qgcm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuICAgIHJldHVybiByb2xlcyAmJiByb2xlcy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRSb2xlcygpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy9yb2xlcy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQ7SUFFRSxzQkFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLDhCQUFPOzs7SUFBUDs7WUFDUSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDOztnQkFQRixVQUFVOzs7O2dCQUxGLEtBQUs7O0lBYWQsbUJBQUM7Q0FBQSxBQVJELElBUUM7U0FQWSxZQUFZOzs7Ozs7SUFDWCw2QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0Um9sZXMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb2xlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3Qgcm9sZXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpO1xuICAgIHJldHVybiByb2xlcyAmJiByb2xlcy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0Um9sZXMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/resolvers/users.resolver.js b/npm/ng-packs/dist/identity/esm5/lib/resolvers/users.resolver.js index 596b2837f9..24a2b91cb9 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/resolvers/users.resolver.js +++ b/npm/ng-packs/dist/identity/esm5/lib/resolvers/users.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { IdentityGetUsers } from '../actions/identity.actions'; +import { GetUsers } from '../actions/identity.actions'; import { IdentityState } from '../states/identity.state'; var UserResolver = /** @class */ (function () { function UserResolver(store) { @@ -19,7 +19,7 @@ var UserResolver = /** @class */ (function () { function () { /** @type {?} */ var users = this.store.selectSnapshot(IdentityState.getUsers); - return users && users.length ? null : this.store.dispatch(new IdentityGetUsers()); + return users && users.length ? null : this.store.dispatch(new GetUsers()); }; UserResolver.decorators = [ { type: Injectable } @@ -38,4 +38,4 @@ if (false) { */ UserResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy91c2Vycy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RDtJQUVFLHNCQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsOEJBQU87OztJQUFQOztZQUNRLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQy9ELE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7Z0JBUEYsVUFBVTs7OztnQkFMRixLQUFLOztJQWFkLG1CQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksWUFBWTs7Ozs7O0lBQ1gsNkJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IElkZW50aXR5R2V0VXNlcnMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpO1xuICAgIHJldHVybiB1c2VycyAmJiB1c2Vycy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRVc2VycygpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jlc29sdmVycy91c2Vycy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQ7SUFFRSxzQkFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLDhCQUFPOzs7SUFBUDs7WUFDUSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDOztnQkFQRixVQUFVOzs7O2dCQUxGLEtBQUs7O0lBYWQsbUJBQUM7Q0FBQSxBQVJELElBUUM7U0FQWSxZQUFZOzs7Ozs7SUFDWCw2QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0VXNlcnMgfSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPElkZW50aXR5LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpO1xuICAgIHJldHVybiB1c2VycyAmJiB1c2Vycy5sZW5ndGggPyBudWxsIDogdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlcnMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/services/identity.service.js b/npm/ng-packs/dist/identity/esm5/lib/services/identity.service.js index 3f311fa644..72fa0b8753 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/services/identity.service.js +++ b/npm/ng-packs/dist/identity/esm5/lib/services/identity.service.js @@ -11,16 +11,20 @@ var IdentityService = /** @class */ (function () { this.rest = rest; } /** + * @param {?=} params * @return {?} */ IdentityService.prototype.getRoles = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/identity/roles', + params: params, }; return this.rest.request(request); }; @@ -60,7 +64,7 @@ var IdentityService = /** @class */ (function () { * @param {?} body * @return {?} */ - IdentityService.prototype.addRole = /** + IdentityService.prototype.createRole = /** * @param {?} body * @return {?} */ @@ -163,7 +167,7 @@ var IdentityService = /** @class */ (function () { * @param {?} body * @return {?} */ - IdentityService.prototype.addUser = /** + IdentityService.prototype.createUser = /** * @param {?} body * @return {?} */ @@ -186,7 +190,7 @@ var IdentityService = /** @class */ (function () { */ function (body) { /** @type {?} */ - var url = "/identity/users/" + body.id; + var url = "/api/identity/users/" + body.id; delete body.id; /** @type {?} */ var request = { @@ -216,4 +220,4 @@ if (false) { */ IdentityService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaWRlbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSx5QkFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7SUFFekMsa0NBQVE7OztJQUFSOztZQUNRLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUscUJBQXFCO1NBQzNCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxxQ0FBVzs7OztJQUFYLFVBQVksRUFBVTs7WUFDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxvQ0FBVTs7OztJQUFWLFVBQVcsRUFBVTs7WUFDYixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSx5QkFBdUIsRUFBSTtTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBCLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7Ozs7O0lBRUQsaUNBQU87Ozs7SUFBUCxVQUFRLElBQThCOztZQUM5QixPQUFPLEdBQTJDO1lBQ3RELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHFCQUFxQjtZQUMxQixJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Ozs7O0lBRUQsb0NBQVU7Ozs7SUFBVixVQUFXLElBQXVCOztZQUMxQixHQUFHLEdBQUcseUJBQXVCLElBQUksQ0FBQyxFQUFJO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7WUFFVCxPQUFPLEdBQW9DO1lBQy9DLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFBO1lBQ0gsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1QyxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs7OztJQUVELGtDQUFROzs7O0lBQVIsVUFBUyxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ25DLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUscUJBQXFCO1lBQzFCLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxxQ0FBVzs7OztJQUFYLFVBQVksRUFBVTs7WUFDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxzQ0FBWTs7OztJQUFaLFVBQWEsRUFBVTs7WUFDZixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFFLFdBQVE7U0FDdkM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QixPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxFQUFVOztZQUNiLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBYSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7OztJQUVELGlDQUFPOzs7O0lBQVAsVUFBUSxJQUE4Qjs7WUFDOUIsT0FBTyxHQUEyQztZQUN0RCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxJQUF1Qjs7WUFDMUIsR0FBRyxHQUFHLHFCQUFtQixJQUFJLENBQUMsRUFBSTtRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7O1lBRVQsT0FBTyxHQUFvQztZQUMvQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsS0FBQTtZQUNILElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUMsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Z0JBbEhGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVzs7OzBCQUZwQjtDQXdIQyxBQW5IRCxJQW1IQztTQWhIWSxlQUFlOzs7Ozs7SUFDZCwrQkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElkZW50aXR5U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0Um9sZXMoKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9yb2xlcycsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0Um9sZUJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS9yb2xlcy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBkZWxldGVSb2xlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvcm9sZXMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuUm9sZUl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgYWRkUm9sZShib2R5OiBJZGVudGl0eS5Sb2xlU2F2ZVJlcXVlc3QpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvcm9sZXMnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PElkZW50aXR5LlJvbGVTYXZlUmVxdWVzdCwgSWRlbnRpdHkuUm9sZUl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlUm9sZShib2R5OiBJZGVudGl0eS5Sb2xlSXRlbSk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZUl0ZW0+IHtcbiAgICBjb25zdCB1cmwgPSBgL2FwaS9pZGVudGl0eS9yb2xlcy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxJZGVudGl0eS5Sb2xlSXRlbT4gPSB7XG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PElkZW50aXR5LlJvbGVJdGVtLCBJZGVudGl0eS5Sb2xlSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRVc2VycyhwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VyUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS91c2VycycsXG4gICAgICBwYXJhbXMsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Vc2VyUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VXNlckJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS91c2Vycy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBJZGVudGl0eS5Vc2VySXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRVc2VyUm9sZXMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvdXNlcnMvJHtpZH0vcm9sZXNgLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuUm9sZVJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZVVzZXIoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3VzZXJzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIG51bGw+KHJlcXVlc3QpO1xuICB9XG5cbiAgYWRkVXNlcihib2R5OiBJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3QpOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlVzZXJTYXZlUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvdXNlcnMnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PElkZW50aXR5LlVzZXJTYXZlUmVxdWVzdCwgSWRlbnRpdHkuVXNlckl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVXNlcihib2R5OiBJZGVudGl0eS5Vc2VySXRlbSk6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW0+IHtcbiAgICBjb25zdCB1cmwgPSBgL2lkZW50aXR5L3VzZXJzLyR7Ym9keS5pZH1gO1xuICAgIGRlbGV0ZSBib2R5LmlkO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PElkZW50aXR5LlVzZXJJdGVtPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8SWRlbnRpdHkuVXNlckl0ZW0sIElkZW50aXR5LlVzZXJJdGVtPihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaWRlbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSx5QkFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLGtDQUFROzs7O0lBQVIsVUFBUyxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ25DLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUscUJBQXFCO1lBQzFCLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxxQ0FBVzs7OztJQUFYLFVBQVksRUFBVTs7WUFDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxvQ0FBVTs7OztJQUFWLFVBQVcsRUFBVTs7WUFDYixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSx5QkFBdUIsRUFBSTtTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBCLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7Ozs7O0lBRUQsb0NBQVU7Ozs7SUFBVixVQUFXLElBQThCOztZQUNqQyxPQUFPLEdBQTJDO1lBQ3RELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHFCQUFxQjtZQUMxQixJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Ozs7O0lBRUQsb0NBQVU7Ozs7SUFBVixVQUFXLElBQXVCOztZQUMxQixHQUFHLEdBQUcseUJBQXVCLElBQUksQ0FBQyxFQUFJO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7WUFFVCxPQUFPLEdBQW9DO1lBQy9DLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFBO1lBQ0gsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1QyxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs7OztJQUVELGtDQUFROzs7O0lBQVIsVUFBUyxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ25DLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUscUJBQXFCO1lBQzFCLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBOEIsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFRCxxQ0FBVzs7OztJQUFYLFVBQVksRUFBVTs7WUFDZCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBMEIsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxzQ0FBWTs7OztJQUFaLFVBQWEsRUFBVTs7WUFDZixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLHlCQUF1QixFQUFFLFdBQVE7U0FDdkM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QixPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxFQUFVOztZQUNiLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLHlCQUF1QixFQUFJO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBYSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxJQUE4Qjs7WUFDakMsT0FBTyxHQUEyQztZQUN0RCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE4QyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxJQUF1Qjs7WUFDMUIsR0FBRyxHQUFHLHlCQUF1QixJQUFJLENBQUMsRUFBSTtRQUM1QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7O1lBRVQsT0FBTyxHQUFvQztZQUMvQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsS0FBQTtZQUNILElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUMsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Z0JBbkhGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVzs7OzBCQUZwQjtDQXlIQyxBQXBIRCxJQW9IQztTQWpIWSxlQUFlOzs7Ozs7SUFDZCwrQkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElkZW50aXR5U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0Um9sZXMocGFyYW1zID0ge30gYXMgQUJQLlBhZ2VRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SWRlbnRpdHkuUm9sZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvcm9sZXMnLFxuICAgICAgcGFyYW1zLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuUm9sZVJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFJvbGVCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvcm9sZXMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuUm9sZUl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlUm9sZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3JvbGVzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGNyZWF0ZVJvbGUoYm9keTogSWRlbnRpdHkuUm9sZVNhdmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxJZGVudGl0eS5Sb2xlU2F2ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3JvbGVzJyxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxJZGVudGl0eS5Sb2xlU2F2ZVJlcXVlc3QsIElkZW50aXR5LlJvbGVJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZVJvbGUoYm9keTogSWRlbnRpdHkuUm9sZUl0ZW0pOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvaWRlbnRpdHkvcm9sZXMvJHtib2R5LmlkfWA7XG4gICAgZGVsZXRlIGJvZHkuaWQ7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuUm9sZUl0ZW0+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxJZGVudGl0eS5Sb2xlSXRlbSwgSWRlbnRpdHkuUm9sZUl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VXNlcnMocGFyYW1zID0ge30gYXMgQUJQLlBhZ2VRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlclJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvdXNlcnMnLFxuICAgICAgcGFyYW1zLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuVXNlclJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFVzZXJCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvaWRlbnRpdHkvdXNlcnMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgSWRlbnRpdHkuVXNlckl0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VXNlclJvbGVzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2lkZW50aXR5L3VzZXJzLyR7aWR9L3JvbGVzYCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIElkZW50aXR5LlJvbGVSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBkZWxldGVVc2VyKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9pZGVudGl0eS91c2Vycy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBudWxsPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGNyZWF0ZVVzZXIoYm9keTogSWRlbnRpdHkuVXNlclNhdmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxJZGVudGl0eS5Vc2VySXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L3VzZXJzJyxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxJZGVudGl0eS5Vc2VyU2F2ZVJlcXVlc3QsIElkZW50aXR5LlVzZXJJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZVVzZXIoYm9keTogSWRlbnRpdHkuVXNlckl0ZW0pOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvaWRlbnRpdHkvdXNlcnMvJHtib2R5LmlkfWA7XG4gICAgZGVsZXRlIGJvZHkuaWQ7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8SWRlbnRpdHkuVXNlckl0ZW0+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxJZGVudGl0eS5Vc2VySXRlbSwgSWRlbnRpdHkuVXNlckl0ZW0+KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/states/identity.state.js b/npm/ng-packs/dist/identity/esm5/lib/states/identity.state.js index fbaffaaae9..79dd65ec27 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/states/identity.state.js +++ b/npm/ng-packs/dist/identity/esm5/lib/states/identity.state.js @@ -5,7 +5,7 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { switchMap, tap, pluck } from 'rxjs/operators'; -import { IdentityAddRole, IdentityAddUser, IdentityDeleteRole, IdentityDeleteUser, IdentityGetRoleById, IdentityGetRoles, IdentityGetUserById, IdentityGetUsers, IdentityUpdateRole, IdentityUpdateUser, IdentityGetUserRoles, } from '../actions/identity.actions'; +import { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUsers, UpdateRole, UpdateUser, GetUserRoles, } from '../actions/identity.actions'; import { IdentityService } from '../services/identity.service'; var IdentityState = /** @class */ (function () { function IdentityState(identityService) { @@ -61,15 +61,18 @@ var IdentityState = /** @class */ (function () { }; /** * @param {?} __0 + * @param {?} __1 * @return {?} */ IdentityState.prototype.getRoles = /** * @param {?} __0 + * @param {?} __1 * @return {?} */ - function (_a) { + function (_a, _b) { var patchState = _a.patchState; - return this.identityService.getRoles().pipe(tap((/** + var payload = _b.payload; + return this.identityService.getRoles(payload).pipe(tap((/** * @param {?} roles * @return {?} */ @@ -118,7 +121,7 @@ var IdentityState = /** @class */ (function () { return this.identityService.deleteRole(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -133,10 +136,10 @@ var IdentityState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addRole(payload).pipe(switchMap((/** + return this.identityService.createRole(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -152,13 +155,13 @@ var IdentityState = /** @class */ (function () { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetRoleById(payload.id)).pipe(switchMap((/** + return dispatch(new GetRoleById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateRole(tslib_1.__assign({}, getState().selectedRole, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -222,7 +225,7 @@ var IdentityState = /** @class */ (function () { return this.identityService.deleteUser(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -237,10 +240,10 @@ var IdentityState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addUser(payload).pipe(switchMap((/** + return this.identityService.createUser(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -256,13 +259,13 @@ var IdentityState = /** @class */ (function () { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetUserById(payload.id)).pipe(switchMap((/** + return dispatch(new GetUserById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateUser(tslib_1.__assign({}, getState().selectedUser, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -288,69 +291,69 @@ var IdentityState = /** @class */ (function () { }))); }; tslib_1.__decorate([ - Action(IdentityGetRoles), + Action(GetRoles), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoles]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); tslib_1.__decorate([ - Action(IdentityGetRoleById), + Action(GetRoleById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetRoleById]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoleById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); tslib_1.__decorate([ - Action(IdentityDeleteRole), + Action(DeleteRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetRoleById]), + tslib_1.__metadata("design:paramtypes", [Object, GetRoleById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); tslib_1.__decorate([ - Action(IdentityAddRole), + Action(CreateRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityAddRole]), + tslib_1.__metadata("design:paramtypes", [Object, CreateRole]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); tslib_1.__decorate([ - Action(IdentityUpdateRole), + Action(UpdateRole), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityUpdateRole]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateRole]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); tslib_1.__decorate([ - Action(IdentityGetUsers), + Action(GetUsers), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUsers]), + tslib_1.__metadata("design:paramtypes", [Object, GetUsers]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); tslib_1.__decorate([ - Action(IdentityGetUserById), + Action(GetUserById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserById]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); tslib_1.__decorate([ - Action(IdentityDeleteUser), + Action(DeleteUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserById]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserById]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); tslib_1.__decorate([ - Action(IdentityAddUser), + Action(CreateUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityAddUser]), + tslib_1.__metadata("design:paramtypes", [Object, CreateUser]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); tslib_1.__decorate([ - Action(IdentityUpdateUser), + Action(UpdateUser), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityUpdateUser]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateUser]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); tslib_1.__decorate([ - Action(IdentityGetUserRoles), + Action(GetUserRoles), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, IdentityGetUserRoles]), + tslib_1.__metadata("design:paramtypes", [Object, GetUserRoles]), tslib_1.__metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); tslib_1.__decorate([ @@ -394,4 +397,4 @@ if (false) { */ IdentityState.prototype.identityService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9pZGVudGl0eS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0lBMkI3RCx1QkFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQzs7Ozs7SUFuQmpELHNCQUFROzs7O0lBQWYsVUFBZ0IsRUFBeUI7WUFBdkIsZ0JBQUs7UUFDckIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBR00sZ0NBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQXlCO1lBQXZCLGdCQUFLO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUdNLHNCQUFROzs7O0lBQWYsVUFBZ0IsRUFBeUI7WUFBdkIsZ0JBQUs7UUFDckIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBR00sZ0NBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQXlCO1lBQXZCLGdCQUFLO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMx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QUFLLENBQWlCO1lBQ3JCLElBQUksRUFBRSxlQUFlO1lBQ3JCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBa0I7U0FDekYsQ0FBQztpREFzQnFDLGVBQWU7T0FyQnpDLGFBQWEsQ0FrSHpCO0lBQUQsb0JBQUM7Q0FBQSxJQUFBO1NBbEhZLGFBQWE7Ozs7OztJQXFCWix3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0IH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAsIHBsdWNrIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgSWRlbnRpdHlBZGRSb2xlLFxuICBJZGVudGl0eUFkZFVzZXIsXG4gIElkZW50aXR5RGVsZXRlUm9sZSxcbiAgSWRlbnRpdHlEZWxldGVVc2VyLFxuICBJZGVudGl0eUdldFJvbGVCeUlkLFxuICBJZGVudGl0eUdldFJvbGVzLFxuICBJZGVudGl0eUdldFVzZXJCeUlkLFxuICBJZGVudGl0eUdldFVzZXJzLFxuICBJZGVudGl0eVVwZGF0ZVJvbGUsXG4gIElkZW50aXR5VXBkYXRlVXNlcixcbiAgSWRlbnRpdHlHZXRVc2VyUm9sZXMsXG59IGZyb20gJy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlJztcblxuQFN0YXRlPElkZW50aXR5LlN0YXRlPih7XG4gIG5hbWU6ICdJZGVudGl0eVN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcm9sZXM6IHt9LCBzZWxlY3RlZFJvbGU6IHt9LCB1c2Vyczoge30sIHNlbGVjdGVkVXNlcjoge30gfSBhcyBJZGVudGl0eS5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRSb2xlcyh7IHJvbGVzIH06IElkZW50aXR5LlN0YXRlKTogSWRlbnRpdHkuUm9sZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHJvbGVzLml0ZW1zO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFJvbGVzVG90YWxDb3VudCh7IHJvbGVzIH06IElkZW50aXR5LlN0YXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm9sZXMudG90YWxDb3VudDtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRVc2Vycyh7IHVzZXJzIH06IElkZW50aXR5LlN0YXRlKTogSWRlbnRpdHkuVXNlckl0ZW1bXSB7XG4gICAgcmV0dXJuIHVzZXJzLml0ZW1zO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFVzZXJzVG90YWxDb3VudCh7IHVzZXJzIH06IElkZW50aXR5LlN0YXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdXNlcnMudG90YWxDb3VudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRlbnRpdHlTZXJ2aWNlOiBJZGVudGl0eVNlcnZpY2UpIHt9XG5cbiAgQEFjdGlvbihJZGVudGl0eUdldFJvbGVzKVxuICBnZXRSb2xlcyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPikge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRSb2xlcygpLnBpcGUoXG4gICAgICB0YXAocm9sZXMgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgcm9sZXMsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihJZGVudGl0eUdldFJvbGVCeUlkKVxuICBnZXRSb2xlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlHZXRSb2xlQnlJZCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRSb2xlQnlJZChwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHNlbGVjdGVkUm9sZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3RlZFJvbGUsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihJZGVudGl0eURlbGV0ZVJvbGUpXG4gIGRlbGV0ZVJvbGUoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlHZXRSb2xlQnlJZCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5kZWxldGVSb2xlKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFJvbGVzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5QWRkUm9sZSlcbiAgYWRkUm9sZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUFkZFJvbGUpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuYWRkUm9sZShwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRSb2xlcygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihJZGVudGl0eVVwZGF0ZVJvbGUpXG4gIHVwZGF0ZVJvbGUoeyBnZXRTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5VXBkYXRlUm9sZSkge1xuICAgIHJldHVybiBkaXNwYXRjaChuZXcgSWRlbnRpdHlHZXRSb2xlQnlJZChwYXlsb2FkLmlkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmlkZW50aXR5U2VydmljZS51cGRhdGVSb2xlKHsgLi4uZ2V0U3RhdGUoKS5zZWxlY3RlZFJvbGUsIC4uLnBheWxvYWQgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFJvbGVzKCkpKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihJZGVudGl0eUdldFVzZXJzKVxuICBnZXRVc2Vycyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5R2V0VXNlcnMpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0VXNlcnMocGF5bG9hZCkucGlwZShcbiAgICAgIHRhcCh1c2VycyA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICB1c2VycyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5R2V0VXNlckJ5SWQpXG4gIGdldFVzZXIoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUdldFVzZXJCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFVzZXJCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRVc2VyID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkVXNlcixcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5RGVsZXRlVXNlcilcbiAgZGVsZXRlVXNlcih7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUdldFVzZXJCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmRlbGV0ZVVzZXIocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlcnMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oSWRlbnRpdHlBZGRVc2VyKVxuICBhZGRVc2VyKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IElkZW50aXR5QWRkVXNlcikge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5hZGRVc2VyKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFVzZXJzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5VXBkYXRlVXNlcilcbiAgdXBkYXRlVXNlcih7IGdldFN0YXRlLCBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogSWRlbnRpdHlVcGRhdGVVc2VyKSB7XG4gICAgcmV0dXJuIGRpc3BhdGNoKG5ldyBJZGVudGl0eUdldFVzZXJCeUlkKHBheWxvYWQuaWQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZVVzZXIoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkVXNlciwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IElkZW50aXR5R2V0VXNlcnMoKSkpLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKElkZW50aXR5R2V0VXNlclJvbGVzKVxuICBnZXRVc2VyUm9sZXMoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBJZGVudGl0eUdldFVzZXJSb2xlcykge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRVc2VyUm9sZXMocGF5bG9hZCkucGlwZShcbiAgICAgIHBsdWNrKCdpdGVtcycpLFxuICAgICAgdGFwKHNlbGVjdGVkVXNlclJvbGVzID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkVXNlclJvbGVzLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9pZGVudGl0eS5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEdBQ2IsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0lBMkI3RCx1QkFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQzs7Ozs7SUFuQmpELHNCQUFROzs7O0lBQWYsVUFBZ0IsRUFBeUI7WUFBdkIsZ0JBQUs7UUFDckIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBR00sZ0NBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQXlCO1lBQXZCLGdCQUFLO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUdNLHNCQUFROzs7O0lBQWYsVUFBZ0IsRUFBeUI7WUFBdkIsZ0JBQUs7UUFDckIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBR00sZ0NBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQXlCO1lBQXZCLGdCQUFLO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFLRCxnQ0FBUTs7Ozs7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WUFDckIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFrQjtTQUN6RixDQUFDO2lEQXNCcUMsZUFBZTtPQXJCekMsYUFBYSxDQWtIekI7SUFBRCxvQkFBQztDQUFBLElBQUE7U0FsSFksYUFBYTs7Ozs7O0lBcUJaLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVSb2xlLFxuICBDcmVhdGVVc2VyLFxuICBEZWxldGVSb2xlLFxuICBEZWxldGVVc2VyLFxuICBHZXRSb2xlQnlJZCxcbiAgR2V0Um9sZXMsXG4gIEdldFVzZXJCeUlkLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlUm9sZSxcbiAgVXBkYXRlVXNlcixcbiAgR2V0VXNlclJvbGVzLFxufSBmcm9tICcuLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaWRlbnRpdHkuc2VydmljZSc7XG5cbkBTdGF0ZTxJZGVudGl0eS5TdGF0ZT4oe1xuICBuYW1lOiAnSWRlbnRpdHlTdGF0ZScsXG4gIGRlZmF1bHRzOiB7IHJvbGVzOiB7fSwgc2VsZWN0ZWRSb2xlOiB7fSwgdXNlcnM6IHt9LCBzZWxlY3RlZFVzZXI6IHt9IH0gYXMgSWRlbnRpdHkuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIElkZW50aXR5U3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0Um9sZXMoeyByb2xlcyB9OiBJZGVudGl0eS5TdGF0ZSk6IElkZW50aXR5LlJvbGVJdGVtW10ge1xuICAgIHJldHVybiByb2xlcy5pdGVtcztcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRSb2xlc1RvdGFsQ291bnQoeyByb2xlcyB9OiBJZGVudGl0eS5TdGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHJvbGVzLnRvdGFsQ291bnQ7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VXNlcnMoeyB1c2VycyB9OiBJZGVudGl0eS5TdGF0ZSk6IElkZW50aXR5LlVzZXJJdGVtW10ge1xuICAgIHJldHVybiB1c2Vycy5pdGVtcztcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRVc2Vyc1RvdGFsQ291bnQoeyB1c2VycyB9OiBJZGVudGl0eS5TdGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHVzZXJzLnRvdGFsQ291bnQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkZW50aXR5U2VydmljZTogSWRlbnRpdHlTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oR2V0Um9sZXMpXG4gIGdldFJvbGVzKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0Um9sZXMpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0Um9sZXMocGF5bG9hZCkucGlwZShcbiAgICAgIHRhcChyb2xlcyA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICByb2xlcyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKEdldFJvbGVCeUlkKVxuICBnZXRSb2xlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0Um9sZUJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0Um9sZUJ5SWQocGF5bG9hZCkucGlwZShcbiAgICAgIHRhcChzZWxlY3RlZFJvbGUgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgc2VsZWN0ZWRSb2xlLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oRGVsZXRlUm9sZSlcbiAgZGVsZXRlUm9sZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRSb2xlQnlJZCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5kZWxldGVSb2xlKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBHZXRSb2xlcygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihDcmVhdGVSb2xlKVxuICBhZGRSb2xlKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IENyZWF0ZVJvbGUpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuY3JlYXRlUm9sZShwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0Um9sZXMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oVXBkYXRlUm9sZSlcbiAgdXBkYXRlUm9sZSh7IGdldFN0YXRlLCBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogVXBkYXRlUm9sZSkge1xuICAgIHJldHVybiBkaXNwYXRjaChuZXcgR2V0Um9sZUJ5SWQocGF5bG9hZC5pZCkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pZGVudGl0eVNlcnZpY2UudXBkYXRlUm9sZSh7IC4uLmdldFN0YXRlKCkuc2VsZWN0ZWRSb2xlLCAuLi5wYXlsb2FkIH0pKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0Um9sZXMoKSkpLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKEdldFVzZXJzKVxuICBnZXRVc2Vycyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFVzZXJzKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFVzZXJzKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAodXNlcnMgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgdXNlcnMsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihHZXRVc2VyQnlJZClcbiAgZ2V0VXNlcih7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFVzZXJCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldFVzZXJCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRVc2VyID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkVXNlcixcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKERlbGV0ZVVzZXIpXG4gIGRlbGV0ZVVzZXIoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8SWRlbnRpdHkuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0VXNlckJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eVNlcnZpY2UuZGVsZXRlVXNlcihwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0VXNlcnMoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oQ3JlYXRlVXNlcilcbiAgYWRkVXNlcih7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxJZGVudGl0eS5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBDcmVhdGVVc2VyKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmNyZWF0ZVVzZXIocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFVzZXJzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVVzZXIpXG4gIHVwZGF0ZVVzZXIoeyBnZXRTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IFVwZGF0ZVVzZXIpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKHBheWxvYWQuaWQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZVVzZXIoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkVXNlciwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFVzZXJzKCkpKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihHZXRVc2VyUm9sZXMpXG4gIGdldFVzZXJSb2xlcyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PElkZW50aXR5LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFVzZXJSb2xlcykge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5U2VydmljZS5nZXRVc2VyUm9sZXMocGF5bG9hZCkucGlwZShcbiAgICAgIHBsdWNrKCdpdGVtcycpLFxuICAgICAgdGFwKHNlbGVjdGVkVXNlclJvbGVzID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkVXNlclJvbGVzLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/public-api.js b/npm/ng-packs/dist/identity/esm5/public-api.js index 196a6c1781..6863447b22 100644 --- a/npm/ng-packs/dist/identity/esm5/public-api.js +++ b/npm/ng-packs/dist/identity/esm5/public-api.js @@ -6,11 +6,11 @@ * Public API Surface of identity */ export { IdentityModule } from './lib/identity.module'; -export { IdentityGetRoles, IdentityGetRoleById, IdentityDeleteRole, IdentityAddRole, IdentityUpdateRole, IdentityGetUsers, IdentityGetUserById, IdentityDeleteUser, IdentityAddUser, IdentityUpdateUser, IdentityGetUserRoles } from './lib/actions/identity.actions'; +export { GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles } from './lib/actions/identity.actions'; export { RolesComponent } from './lib/components/roles/roles.component'; export { IDENTITY_ROUTES } from './lib/constants/routes'; export {} from './lib/models/identity'; export { RoleResolver } from './lib/resolvers/roles.resolver'; export { IdentityService } from './lib/services/identity.service'; export { IdentityState } from './lib/states/identity.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxxT0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js index 85d377691b..582e158e7f 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js @@ -2,26 +2,32 @@ import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreMo import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata } from 'tslib'; -import { Observable, Subject, combineLatest } from 'rxjs'; -import { Validators, FormBuilder } from '@angular/forms'; -import { tap, switchMap, pluck, debounceTime, filter, map, take } from 'rxjs/operators'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { FormControl, Validators, FormBuilder } from '@angular/forms'; +import { Observable } from 'rxjs'; +import { tap, switchMap, pluck, finalize, take } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; -import { validatePassword, NgxValidateCoreModule } from '@ngx-validate/core'; import snq from 'snq'; import { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { PermissionManagementModule } from '@abp/ng.permission-management'; import { TableModule } from 'primeng/table'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class IdentityGetRoles { +class GetRoles { + /** + * @param {?=} payload + */ + constructor(payload) { + this.payload = payload; + } } -IdentityGetRoles.type = '[Identity] Get Roles'; -class IdentityGetRoleById { +GetRoles.type = '[Identity] Get Roles'; +class GetRoleById { /** * @param {?} payload */ @@ -29,8 +35,8 @@ class IdentityGetRoleById { this.payload = payload; } } -IdentityGetRoleById.type = '[Identity] Get Role By Id'; -class IdentityDeleteRole { +GetRoleById.type = '[Identity] Get Role By Id'; +class DeleteRole { /** * @param {?} payload */ @@ -38,8 +44,8 @@ class IdentityDeleteRole { this.payload = payload; } } -IdentityDeleteRole.type = '[Identity] Delete Role'; -class IdentityAddRole { +DeleteRole.type = '[Identity] Delete Role'; +class CreateRole { /** * @param {?} payload */ @@ -47,8 +53,8 @@ class IdentityAddRole { this.payload = payload; } } -IdentityAddRole.type = '[Identity] Add Role'; -class IdentityUpdateRole { +CreateRole.type = '[Identity] Create Role'; +class UpdateRole { /** * @param {?} payload */ @@ -56,8 +62,8 @@ class IdentityUpdateRole { this.payload = payload; } } -IdentityUpdateRole.type = '[Identity] Update Role'; -class IdentityGetUsers { +UpdateRole.type = '[Identity] Update Role'; +class GetUsers { /** * @param {?=} payload */ @@ -65,8 +71,8 @@ class IdentityGetUsers { this.payload = payload; } } -IdentityGetUsers.type = '[Identity] Get Users'; -class IdentityGetUserById { +GetUsers.type = '[Identity] Get Users'; +class GetUserById { /** * @param {?} payload */ @@ -74,8 +80,8 @@ class IdentityGetUserById { this.payload = payload; } } -IdentityGetUserById.type = '[Identity] Get User By Id'; -class IdentityDeleteUser { +GetUserById.type = '[Identity] Get User By Id'; +class DeleteUser { /** * @param {?} payload */ @@ -83,8 +89,8 @@ class IdentityDeleteUser { this.payload = payload; } } -IdentityDeleteUser.type = '[Identity] Delete User'; -class IdentityAddUser { +DeleteUser.type = '[Identity] Delete User'; +class CreateUser { /** * @param {?} payload */ @@ -92,8 +98,8 @@ class IdentityAddUser { this.payload = payload; } } -IdentityAddUser.type = '[Identity] Add User'; -class IdentityUpdateUser { +CreateUser.type = '[Identity] Create User'; +class UpdateUser { /** * @param {?} payload */ @@ -101,8 +107,8 @@ class IdentityUpdateUser { this.payload = payload; } } -IdentityUpdateUser.type = '[Identity] Update User'; -class IdentityGetUserRoles { +UpdateUser.type = '[Identity] Update User'; +class GetUserRoles { /** * @param {?} payload */ @@ -110,7 +116,7 @@ class IdentityGetUserRoles { this.payload = payload; } } -IdentityGetUserRoles.type = '[Identity] Get User Roles'; +GetUserRoles.type = '[Identity] Get User Roles'; /** * @fileoverview added by tsickle @@ -124,13 +130,15 @@ class IdentityService { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - getRoles() { + getRoles(params = (/** @type {?} */ ({}))) { /** @type {?} */ const request = { method: 'GET', url: '/api/identity/roles', + params, }; return this.rest.request(request); } @@ -162,7 +170,7 @@ class IdentityService { * @param {?} body * @return {?} */ - addRole(body) { + createRole(body) { /** @type {?} */ const request = { method: 'POST', @@ -240,7 +248,7 @@ class IdentityService { * @param {?} body * @return {?} */ - addUser(body) { + createUser(body) { /** @type {?} */ const request = { method: 'POST', @@ -255,7 +263,7 @@ class IdentityService { */ updateUser(body) { /** @type {?} */ - const url = `/identity/users/${body.id}`; + const url = `/api/identity/users/${body.id}`; delete body.id; /** @type {?} */ const request = { @@ -318,10 +326,11 @@ let IdentityState = class IdentityState { } /** * @param {?} __0 + * @param {?} __1 * @return {?} */ - getRoles({ patchState }) { - return this.identityService.getRoles().pipe(tap((/** + getRoles({ patchState }, { payload }) { + return this.identityService.getRoles(payload).pipe(tap((/** * @param {?} roles * @return {?} */ @@ -352,7 +361,7 @@ let IdentityState = class IdentityState { return this.identityService.deleteRole(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -360,10 +369,10 @@ let IdentityState = class IdentityState { * @return {?} */ addRole({ dispatch }, { payload }) { - return this.identityService.addRole(payload).pipe(switchMap((/** + return this.identityService.createRole(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -371,13 +380,13 @@ let IdentityState = class IdentityState { * @return {?} */ updateRole({ getState, dispatch }, { payload }) { - return dispatch(new IdentityGetRoleById(payload.id)).pipe(switchMap((/** + return dispatch(new GetRoleById(payload.id)).pipe(switchMap((/** * @return {?} */ () => this.identityService.updateRole(Object.assign({}, getState().selectedRole, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetRoles())))); + () => dispatch(new GetRoles())))); } /** * @param {?} __0 @@ -416,7 +425,7 @@ let IdentityState = class IdentityState { return this.identityService.deleteUser(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -424,10 +433,10 @@ let IdentityState = class IdentityState { * @return {?} */ addUser({ dispatch }, { payload }) { - return this.identityService.addUser(payload).pipe(switchMap((/** + return this.identityService.createUser(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -435,13 +444,13 @@ let IdentityState = class IdentityState { * @return {?} */ updateUser({ getState, dispatch }, { payload }) { - return dispatch(new IdentityGetUserById(payload.id)).pipe(switchMap((/** + return dispatch(new GetUserById(payload.id)).pipe(switchMap((/** * @return {?} */ () => this.identityService.updateUser(Object.assign({}, getState().selectedUser, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new IdentityGetUsers())))); + () => dispatch(new GetUsers())))); } /** * @param {?} __0 @@ -459,69 +468,69 @@ let IdentityState = class IdentityState { } }; __decorate([ - Action(IdentityGetRoles), + Action(GetRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); __decorate([ - Action(IdentityGetRoleById), + Action(GetRoleById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); __decorate([ - Action(IdentityDeleteRole), + Action(DeleteRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); __decorate([ - Action(IdentityAddRole), + Action(CreateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddRole]), + __metadata("design:paramtypes", [Object, CreateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); __decorate([ - Action(IdentityUpdateRole), + Action(UpdateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateRole]), + __metadata("design:paramtypes", [Object, UpdateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); __decorate([ - Action(IdentityGetUsers), + Action(GetUsers), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUsers]), + __metadata("design:paramtypes", [Object, GetUsers]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); __decorate([ - Action(IdentityGetUserById), + Action(GetUserById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); __decorate([ - Action(IdentityDeleteUser), + Action(DeleteUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); __decorate([ - Action(IdentityAddUser), + Action(CreateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddUser]), + __metadata("design:paramtypes", [Object, CreateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); __decorate([ - Action(IdentityUpdateUser), + Action(UpdateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateUser]), + __metadata("design:paramtypes", [Object, UpdateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); __decorate([ - Action(IdentityGetUserRoles), + Action(GetUserRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserRoles]), + __metadata("design:paramtypes", [Object, GetUserRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); __decorate([ @@ -571,13 +580,28 @@ class RolesComponent { this.fb = fb; this.store = store; this.visiblePermissions = false; + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; + } + /** + * @param {?} value + * @return {?} + */ + onSearch(value) { + this.pageQuery.filter = value; + this.get(); } /** * @return {?} */ createForm() { this.form = this.fb.group({ - name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]], + name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [ + Validators.required, + Validators.maxLength(256), + ]), isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); @@ -602,7 +626,7 @@ class RolesComponent { */ onEdit(id) { this.store - .dispatch(new IdentityGetRoleById(id)) + .dispatch(new GetRoleById(id)) .pipe(pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole @@ -621,8 +645,8 @@ class RolesComponent { return; this.store .dispatch(this.selected.id - ? new IdentityUpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) - : new IdentityAddRole(this.form.value)) + ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) + : new CreateRole(this.form.value)) .subscribe((/** * @return {?} */ @@ -646,15 +670,37 @@ class RolesComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new IdentityDeleteRole(id)); + this.store.dispatch(new DeleteRole(id)); } })); } + /** + * @param {?} data + * @return {?} + */ + onPageChange(data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + } + /** + * @return {?} + */ + get() { + this.loading = true; + this.store + .dispatch(new GetRoles(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + () => (this.loading = false)))) + .subscribe(); + } } RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -669,7 +715,11 @@ RolesComponent.propDecorators = { __decorate([ Select(IdentityState.getRoles), __metadata("design:type", Observable) -], RolesComponent.prototype, "roles$", void 0); +], RolesComponent.prototype, "data$", void 0); +__decorate([ + Select(IdentityState.getRolesTotalCount), + __metadata("design:type", Observable) +], RolesComponent.prototype, "totalCount$", void 0); /** * @fileoverview added by tsickle @@ -688,7 +738,7 @@ class RoleResolver { resolve() { /** @type {?} */ const roles = this.store.selectSnapshot(IdentityState.getRoles); - return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles()); + return roles && roles.length ? null : this.store.dispatch(new GetRoles()); } } RoleResolver.decorators = [ @@ -718,7 +768,6 @@ class UsersComponent { sorting: 'userName', }; this.loading = false; - this.search$ = new Subject(); this.trackByFn = (/** * @param {?} index * @param {?} item @@ -736,17 +785,12 @@ class UsersComponent { () => (/** @type {?} */ (((/** @type {?} */ (this.form.get('roleNames')))).controls))), []); } /** + * @param {?} value * @return {?} */ - ngOnInit() { - this.search$.pipe(debounceTime(300)).subscribe((/** - * @param {?} value - * @return {?} - */ - value => { - this.pageQuery.filter = value; - this.get(); - })); + onSearch(value) { + this.pageQuery.filter = value; + this.get(); } /** * @return {?} @@ -754,15 +798,6 @@ class UsersComponent { buildForm() { this.roles = this.store.selectSnapshot(IdentityState.getRoles); this.form = this.fb.group({ - password: [ - '', - [ - Validators.required, - Validators.maxLength(32), - Validators.minLength(6), - validatePassword(['small', 'capital', 'number', 'special']), - ], - ], userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]], email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]], name: [this.selected.name || '', [Validators.maxLength(64)]], @@ -785,6 +820,9 @@ class UsersComponent { userRole => userRole.id === role.id))))], })))), }); + if (!this.selected.userName) { + this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)])); + } } /** * @return {?} @@ -806,16 +844,12 @@ class UsersComponent { * @return {?} */ onEdit(id) { - combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))]) - .pipe(filter((/** - * @param {?} __0 - * @return {?} - */ - ([res1, res2]) => res1 && res2)), map((/** - * @param {?} __0 + this.store + .dispatch(new GetUserById(id)) + .pipe(switchMap((/** * @return {?} */ - ([state, _]) => state)), pluck('IdentityState'), take(1)) + () => this.store.dispatch(new GetUserRoles(id)))), pluck('IdentityState'), take(1)) .subscribe((/** * @param {?} state * @return {?} @@ -848,8 +882,8 @@ class UsersComponent { role => Object.keys(role)[0]))), []); this.store .dispatch(this.selected.id - ? new IdentityUpdateUser(Object.assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) - : new IdentityAddUser(Object.assign({}, this.form.value, { roleNames: mappedRoleNames }))) + ? new UpdateUser(Object.assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) + : new CreateUser(Object.assign({}, this.form.value, { roleNames: mappedRoleNames }))) .subscribe((/** * @return {?} */ @@ -873,7 +907,7 @@ class UsersComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new IdentityDeleteUser(id)); + this.store.dispatch(new DeleteUser(id)); } })); } @@ -891,16 +925,19 @@ class UsersComponent { */ get() { this.loading = true; - this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe((/** + this.store + .dispatch(new GetUsers(this.pageQuery)) + .pipe(finalize((/** * @return {?} */ - () => (this.loading = false))); + () => (this.loading = false)))) + .subscribe(); } } UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -938,7 +975,7 @@ class UserResolver { resolve() { /** @type {?} */ const users = this.store.selectSnapshot(IdentityState.getUsers); - return users && users.length ? null : this.store.dispatch(new IdentityGetUsers()); + return users && users.length ? null : this.store.dispatch(new GetUsers()); } } UserResolver.decorators = [ @@ -1019,20 +1056,21 @@ IdentityModule.decorators = [ /** @type {?} */ const IDENTITY_ROUTES = (/** @type {?} */ ([ { - name: 'Administration', + name: 'AbpUiNavigation::Menu:Administration', path: '', order: 1, wrapper: true, }, { - name: 'Identity', + name: 'AbpIdentity::Menu:IdentityManagement', path: 'identity', order: 1, - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', children: [ - { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, ], }, ])); @@ -1075,5 +1113,5 @@ var Identity; Identity.UserSaveRequest = UserSaveRequest; })(Identity || (Identity = {})); -export { IDENTITY_ROUTES, IdentityAddRole, IdentityAddUser, IdentityDeleteRole, IdentityDeleteUser, IdentityGetRoleById, IdentityGetRoles, IdentityGetUserById, IdentityGetUserRoles, IdentityGetUsers, IdentityModule, IdentityService, IdentityState, IdentityUpdateRole, IdentityUpdateUser, RoleResolver, RolesComponent, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; +export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map index 9cb4ffc10d..332d00fe10 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class IdentityGetRoles {\n static readonly type = '[Identity] Get Roles';\n}\n\nexport class IdentityGetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddRole {\n static readonly type = '[Identity] Add Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class IdentityUpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class IdentityGetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class IdentityGetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddUser {\n static readonly type = '[Identity] Add User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class IdentityUpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class IdentityGetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n IdentityAddRole,\n IdentityAddUser,\n IdentityDeleteRole,\n IdentityDeleteUser,\n IdentityGetRoleById,\n IdentityGetRoles,\n IdentityGetUserById,\n IdentityGetUsers,\n IdentityUpdateRole,\n IdentityUpdateUser,\n IdentityGetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(IdentityGetRoles)\n getRoles({ patchState }: StateContext) {\n return this.identityService.getRoles().pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(IdentityGetRoleById)\n getRole({ patchState }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityAddRole)\n addRole({ dispatch }: StateContext, { payload }: IdentityAddRole) {\n return this.identityService.addRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityUpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: IdentityUpdateRole) {\n return dispatch(new IdentityGetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new IdentityGetRoles())),\n );\n }\n\n @Action(IdentityGetUsers)\n getUsers({ patchState }: StateContext, { payload }: IdentityGetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(IdentityGetUserById)\n getUser({ patchState }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityAddUser)\n addUser({ dispatch }: StateContext, { payload }: IdentityAddUser) {\n return this.identityService.addUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityUpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: IdentityUpdateUser) {\n return dispatch(new IdentityGetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new IdentityGetUsers())),\n );\n }\n\n @Action(IdentityGetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: IdentityGetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { IdentityState } from '../../states/identity.state';\nimport { Identity } from '../../models/identity';\nimport {\n IdentityUpdateRole,\n IdentityAddRole,\n IdentityDeleteRole,\n IdentityGetRoleById,\n} from '../../actions/identity.actions';\nimport { pluck } from 'rxjs/operators';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n roles$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new IdentityGetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateRole({ ...this.form.value, id: this.selected.id })\n : new IdentityAddRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteRole(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, OnInit, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { validatePassword } from '@ngx-validate/core';\nimport { Select, Store } from '@ngxs/store';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, map, pluck, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n IdentityAddUser,\n IdentityDeleteUser,\n IdentityGetUserById,\n IdentityGetUserRoles,\n IdentityGetUsers,\n IdentityUpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent implements OnInit {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n search$ = new Subject();\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n ngOnInit() {\n this.search$.pipe(debounceTime(300)).subscribe(value => {\n this.pageQuery.filter = value;\n this.get();\n });\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n\n this.form = this.fb.group({\n password: [\n '',\n [\n Validators.required,\n Validators.maxLength(32),\n Validators.minLength(6),\n validatePassword(['small', 'capital', 'number', 'special']),\n ],\n ],\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))])\n .pipe(\n filter(([res1, res2]) => res1 && res2),\n map(([state, _]) => state),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new IdentityAddUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe(() => (this.loading = false));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new IdentityGetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'Identity',\n path: 'identity',\n order: 1,\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js index 8d37e64668..21756ce49a 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js @@ -1,98 +1,99 @@ import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; -import { __assign, __decorate, __metadata, __read } from 'tslib'; -import { Observable, combineLatest, Subject } from 'rxjs'; -import { Validators, FormBuilder } from '@angular/forms'; -import { tap, switchMap, pluck, debounceTime, filter, map, take } from 'rxjs/operators'; +import { __assign, __decorate, __metadata } from 'tslib'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { FormControl, Validators, FormBuilder } from '@angular/forms'; +import { Observable } from 'rxjs'; +import { tap, switchMap, pluck, finalize, take } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; -import { validatePassword, NgxValidateCoreModule } from '@ngx-validate/core'; import snq from 'snq'; import { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { PermissionManagementModule } from '@abp/ng.permission-management'; import { TableModule } from 'primeng/table'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var IdentityGetRoles = /** @class */ (function () { - function IdentityGetRoles() { +var GetRoles = /** @class */ (function () { + function GetRoles(payload) { + this.payload = payload; } - IdentityGetRoles.type = '[Identity] Get Roles'; - return IdentityGetRoles; + GetRoles.type = '[Identity] Get Roles'; + return GetRoles; }()); -var IdentityGetRoleById = /** @class */ (function () { - function IdentityGetRoleById(payload) { +var GetRoleById = /** @class */ (function () { + function GetRoleById(payload) { this.payload = payload; } - IdentityGetRoleById.type = '[Identity] Get Role By Id'; - return IdentityGetRoleById; + GetRoleById.type = '[Identity] Get Role By Id'; + return GetRoleById; }()); -var IdentityDeleteRole = /** @class */ (function () { - function IdentityDeleteRole(payload) { +var DeleteRole = /** @class */ (function () { + function DeleteRole(payload) { this.payload = payload; } - IdentityDeleteRole.type = '[Identity] Delete Role'; - return IdentityDeleteRole; + DeleteRole.type = '[Identity] Delete Role'; + return DeleteRole; }()); -var IdentityAddRole = /** @class */ (function () { - function IdentityAddRole(payload) { +var CreateRole = /** @class */ (function () { + function CreateRole(payload) { this.payload = payload; } - IdentityAddRole.type = '[Identity] Add Role'; - return IdentityAddRole; + CreateRole.type = '[Identity] Create Role'; + return CreateRole; }()); -var IdentityUpdateRole = /** @class */ (function () { - function IdentityUpdateRole(payload) { +var UpdateRole = /** @class */ (function () { + function UpdateRole(payload) { this.payload = payload; } - IdentityUpdateRole.type = '[Identity] Update Role'; - return IdentityUpdateRole; + UpdateRole.type = '[Identity] Update Role'; + return UpdateRole; }()); -var IdentityGetUsers = /** @class */ (function () { - function IdentityGetUsers(payload) { +var GetUsers = /** @class */ (function () { + function GetUsers(payload) { this.payload = payload; } - IdentityGetUsers.type = '[Identity] Get Users'; - return IdentityGetUsers; + GetUsers.type = '[Identity] Get Users'; + return GetUsers; }()); -var IdentityGetUserById = /** @class */ (function () { - function IdentityGetUserById(payload) { +var GetUserById = /** @class */ (function () { + function GetUserById(payload) { this.payload = payload; } - IdentityGetUserById.type = '[Identity] Get User By Id'; - return IdentityGetUserById; + GetUserById.type = '[Identity] Get User By Id'; + return GetUserById; }()); -var IdentityDeleteUser = /** @class */ (function () { - function IdentityDeleteUser(payload) { +var DeleteUser = /** @class */ (function () { + function DeleteUser(payload) { this.payload = payload; } - IdentityDeleteUser.type = '[Identity] Delete User'; - return IdentityDeleteUser; + DeleteUser.type = '[Identity] Delete User'; + return DeleteUser; }()); -var IdentityAddUser = /** @class */ (function () { - function IdentityAddUser(payload) { +var CreateUser = /** @class */ (function () { + function CreateUser(payload) { this.payload = payload; } - IdentityAddUser.type = '[Identity] Add User'; - return IdentityAddUser; + CreateUser.type = '[Identity] Create User'; + return CreateUser; }()); -var IdentityUpdateUser = /** @class */ (function () { - function IdentityUpdateUser(payload) { +var UpdateUser = /** @class */ (function () { + function UpdateUser(payload) { this.payload = payload; } - IdentityUpdateUser.type = '[Identity] Update User'; - return IdentityUpdateUser; + UpdateUser.type = '[Identity] Update User'; + return UpdateUser; }()); -var IdentityGetUserRoles = /** @class */ (function () { - function IdentityGetUserRoles(payload) { +var GetUserRoles = /** @class */ (function () { + function GetUserRoles(payload) { this.payload = payload; } - IdentityGetUserRoles.type = '[Identity] Get User Roles'; - return IdentityGetUserRoles; + GetUserRoles.type = '[Identity] Get User Roles'; + return GetUserRoles; }()); /** @@ -104,16 +105,20 @@ var IdentityService = /** @class */ (function () { this.rest = rest; } /** + * @param {?=} params * @return {?} */ IdentityService.prototype.getRoles = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/identity/roles', + params: params, }; return this.rest.request(request); }; @@ -153,7 +158,7 @@ var IdentityService = /** @class */ (function () { * @param {?} body * @return {?} */ - IdentityService.prototype.addRole = /** + IdentityService.prototype.createRole = /** * @param {?} body * @return {?} */ @@ -256,7 +261,7 @@ var IdentityService = /** @class */ (function () { * @param {?} body * @return {?} */ - IdentityService.prototype.addUser = /** + IdentityService.prototype.createUser = /** * @param {?} body * @return {?} */ @@ -279,7 +284,7 @@ var IdentityService = /** @class */ (function () { */ function (body) { /** @type {?} */ - var url = "/identity/users/" + body.id; + var url = "/api/identity/users/" + body.id; delete body.id; /** @type {?} */ var request = { @@ -360,15 +365,18 @@ var IdentityState = /** @class */ (function () { }; /** * @param {?} __0 + * @param {?} __1 * @return {?} */ IdentityState.prototype.getRoles = /** * @param {?} __0 + * @param {?} __1 * @return {?} */ - function (_a) { + function (_a, _b) { var patchState = _a.patchState; - return this.identityService.getRoles().pipe(tap((/** + var payload = _b.payload; + return this.identityService.getRoles(payload).pipe(tap((/** * @param {?} roles * @return {?} */ @@ -417,7 +425,7 @@ var IdentityState = /** @class */ (function () { return this.identityService.deleteRole(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -432,10 +440,10 @@ var IdentityState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addRole(payload).pipe(switchMap((/** + return this.identityService.createRole(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -451,13 +459,13 @@ var IdentityState = /** @class */ (function () { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetRoleById(payload.id)).pipe(switchMap((/** + return dispatch(new GetRoleById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateRole(__assign({}, getState().selectedRole, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetRoles()); }))); + function () { return dispatch(new GetRoles()); }))); }; /** * @param {?} __0 @@ -521,7 +529,7 @@ var IdentityState = /** @class */ (function () { return this.identityService.deleteUser(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -536,10 +544,10 @@ var IdentityState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.identityService.addUser(payload).pipe(switchMap((/** + return this.identityService.createUser(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -555,13 +563,13 @@ var IdentityState = /** @class */ (function () { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; - return dispatch(new IdentityGetUserById(payload.id)).pipe(switchMap((/** + return dispatch(new GetUserById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateUser(__assign({}, getState().selectedUser, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new IdentityGetUsers()); }))); + function () { return dispatch(new GetUsers()); }))); }; /** * @param {?} __0 @@ -587,69 +595,69 @@ var IdentityState = /** @class */ (function () { }))); }; __decorate([ - Action(IdentityGetRoles), + Action(GetRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); __decorate([ - Action(IdentityGetRoleById), + Action(GetRoleById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); __decorate([ - Action(IdentityDeleteRole), + Action(DeleteRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetRoleById]), + __metadata("design:paramtypes", [Object, GetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); __decorate([ - Action(IdentityAddRole), + Action(CreateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddRole]), + __metadata("design:paramtypes", [Object, CreateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); __decorate([ - Action(IdentityUpdateRole), + Action(UpdateRole), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateRole]), + __metadata("design:paramtypes", [Object, UpdateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); __decorate([ - Action(IdentityGetUsers), + Action(GetUsers), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUsers]), + __metadata("design:paramtypes", [Object, GetUsers]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); __decorate([ - Action(IdentityGetUserById), + Action(GetUserById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); __decorate([ - Action(IdentityDeleteUser), + Action(DeleteUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserById]), + __metadata("design:paramtypes", [Object, GetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); __decorate([ - Action(IdentityAddUser), + Action(CreateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityAddUser]), + __metadata("design:paramtypes", [Object, CreateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); __decorate([ - Action(IdentityUpdateUser), + Action(UpdateUser), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityUpdateUser]), + __metadata("design:paramtypes", [Object, UpdateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); __decorate([ - Action(IdentityGetUserRoles), + Action(GetUserRoles), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, IdentityGetUserRoles]), + __metadata("design:paramtypes", [Object, GetUserRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); __decorate([ @@ -696,7 +704,23 @@ var RolesComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.visiblePermissions = false; + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } + /** + * @param {?} value + * @return {?} + */ + RolesComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @return {?} */ @@ -705,7 +729,10 @@ var RolesComponent = /** @class */ (function () { */ function () { this.form = this.fb.group({ - name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]], + name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [ + Validators.required, + Validators.maxLength(256), + ]), isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); @@ -741,7 +768,7 @@ var RolesComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new IdentityGetRoleById(id)) + .dispatch(new GetRoleById(id)) .pipe(pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole @@ -764,8 +791,8 @@ var RolesComponent = /** @class */ (function () { return; this.store .dispatch(this.selected.id - ? new IdentityUpdateRole(__assign({}, this.form.value, { id: this.selected.id })) - : new IdentityAddRole(this.form.value)) + ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) + : new CreateRole(this.form.value)) .subscribe((/** * @return {?} */ @@ -795,14 +822,44 @@ var RolesComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteRole(id)); + _this.store.dispatch(new DeleteRole(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + RolesComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + RolesComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetRoles(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -817,7 +874,11 @@ var RolesComponent = /** @class */ (function () { __decorate([ Select(IdentityState.getRoles), __metadata("design:type", Observable) - ], RolesComponent.prototype, "roles$", void 0); + ], RolesComponent.prototype, "data$", void 0); + __decorate([ + Select(IdentityState.getRolesTotalCount), + __metadata("design:type", Observable) + ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); @@ -838,7 +899,7 @@ var RoleResolver = /** @class */ (function () { function () { /** @type {?} */ var roles = this.store.selectSnapshot(IdentityState.getRoles); - return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles()); + return roles && roles.length ? null : this.store.dispatch(new GetRoles()); }; RoleResolver.decorators = [ { type: Injectable } @@ -864,7 +925,6 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; - this.search$ = new Subject(); this.trackByFn = (/** * @param {?} index * @param {?} item @@ -887,21 +947,16 @@ var UsersComponent = /** @class */ (function () { configurable: true }); /** + * @param {?} value * @return {?} */ - UsersComponent.prototype.ngOnInit = /** + UsersComponent.prototype.onSearch = /** + * @param {?} value * @return {?} */ - function () { - var _this = this; - this.search$.pipe(debounceTime(300)).subscribe((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.pageQuery.filter = value; - _this.get(); - })); + function (value) { + this.pageQuery.filter = value; + this.get(); }; /** * @return {?} @@ -913,15 +968,6 @@ var UsersComponent = /** @class */ (function () { var _this = this; this.roles = this.store.selectSnapshot(IdentityState.getRoles); this.form = this.fb.group({ - password: [ - '', - [ - Validators.required, - Validators.maxLength(32), - Validators.minLength(6), - validatePassword(['small', 'capital', 'number', 'special']), - ], - ], userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]], email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]], name: [this.selected.name || '', [Validators.maxLength(64)]], @@ -947,6 +993,9 @@ var UsersComponent = /** @class */ (function () { _a)); }))), }); + if (!this.selected.userName) { + this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)])); + } }; /** * @return {?} @@ -979,22 +1028,12 @@ var UsersComponent = /** @class */ (function () { */ function (id) { var _this = this; - combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))]) - .pipe(filter((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = __read(_a, 2), res1 = _b[0], res2 = _b[1]; - return res1 && res2; - })), map((/** - * @param {?} __0 + this.store + .dispatch(new GetUserById(id)) + .pipe(switchMap((/** * @return {?} */ - function (_a) { - var _b = __read(_a, 2), state = _b[0], _ = _b[1]; - return state; - })), pluck('IdentityState'), take(1)) + function () { return _this.store.dispatch(new GetUserRoles(id)); })), pluck('IdentityState'), take(1)) .subscribe((/** * @param {?} state * @return {?} @@ -1031,8 +1070,8 @@ var UsersComponent = /** @class */ (function () { function (role) { return Object.keys(role)[0]; })); }), []); this.store .dispatch(this.selected.id - ? new IdentityUpdateUser(__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) - : new IdentityAddUser(__assign({}, this.form.value, { roleNames: mappedRoleNames }))) + ? new UpdateUser(__assign({}, this.form.value, { id: this.selected.id, roleNames: mappedRoleNames })) + : new CreateUser(__assign({}, this.form.value, { roleNames: mappedRoleNames }))) .subscribe((/** * @return {?} */ @@ -1062,7 +1101,7 @@ var UsersComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new IdentityDeleteUser(id)); + _this.store.dispatch(new DeleteUser(id)); } })); }; @@ -1088,15 +1127,18 @@ var UsersComponent = /** @class */ (function () { function () { var _this = this; this.loading = true; - this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe((/** + this.store + .dispatch(new GetUsers(this.pageQuery)) + .pipe(finalize((/** * @return {?} */ - function () { return (_this.loading = false); })); + function () { return (_this.loading = false); }))) + .subscribe(); }; UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -1136,7 +1178,7 @@ var UserResolver = /** @class */ (function () { function () { /** @type {?} */ var users = this.store.selectSnapshot(IdentityState.getUsers); - return users && users.length ? null : this.store.dispatch(new IdentityGetUsers()); + return users && users.length ? null : this.store.dispatch(new GetUsers()); }; UserResolver.decorators = [ { type: Injectable } @@ -1224,20 +1266,21 @@ var IdentityModule = /** @class */ (function () { /** @type {?} */ var IDENTITY_ROUTES = (/** @type {?} */ ([ { - name: 'Administration', + name: 'AbpUiNavigation::Menu:Administration', path: '', order: 1, wrapper: true, }, { - name: 'Identity', + name: 'AbpIdentity::Menu:IdentityManagement', path: 'identity', order: 1, - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', children: [ - { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, ], }, ])); @@ -1280,5 +1323,5 @@ var Identity; Identity.UserSaveRequest = UserSaveRequest; })(Identity || (Identity = {})); -export { IDENTITY_ROUTES, IdentityAddRole, IdentityAddUser, IdentityDeleteRole, IdentityDeleteUser, IdentityGetRoleById, IdentityGetRoles, IdentityGetUserById, IdentityGetUserRoles, IdentityGetUsers, IdentityModule, IdentityService, IdentityState, IdentityUpdateRole, IdentityUpdateUser, RoleResolver, RolesComponent, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; +export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map index b48b7c1274..f6cd981177 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class IdentityGetRoles {\n static readonly type = '[Identity] Get Roles';\n}\n\nexport class IdentityGetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddRole {\n static readonly type = '[Identity] Add Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class IdentityUpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class IdentityGetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class IdentityGetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class IdentityDeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class IdentityAddUser {\n static readonly type = '[Identity] Add User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class IdentityUpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class IdentityGetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n addUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n IdentityAddRole,\n IdentityAddUser,\n IdentityDeleteRole,\n IdentityDeleteUser,\n IdentityGetRoleById,\n IdentityGetRoles,\n IdentityGetUserById,\n IdentityGetUsers,\n IdentityUpdateRole,\n IdentityUpdateUser,\n IdentityGetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(IdentityGetRoles)\n getRoles({ patchState }: StateContext) {\n return this.identityService.getRoles().pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(IdentityGetRoleById)\n getRole({ patchState }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: IdentityGetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityAddRole)\n addRole({ dispatch }: StateContext, { payload }: IdentityAddRole) {\n return this.identityService.addRole(payload).pipe(switchMap(() => dispatch(new IdentityGetRoles())));\n }\n\n @Action(IdentityUpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: IdentityUpdateRole) {\n return dispatch(new IdentityGetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new IdentityGetRoles())),\n );\n }\n\n @Action(IdentityGetUsers)\n getUsers({ patchState }: StateContext, { payload }: IdentityGetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(IdentityGetUserById)\n getUser({ patchState }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(IdentityDeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: IdentityGetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityAddUser)\n addUser({ dispatch }: StateContext, { payload }: IdentityAddUser) {\n return this.identityService.addUser(payload).pipe(switchMap(() => dispatch(new IdentityGetUsers())));\n }\n\n @Action(IdentityUpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: IdentityUpdateUser) {\n return dispatch(new IdentityGetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new IdentityGetUsers())),\n );\n }\n\n @Action(IdentityGetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: IdentityGetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { IdentityState } from '../../states/identity.state';\nimport { Identity } from '../../models/identity';\nimport {\n IdentityUpdateRole,\n IdentityAddRole,\n IdentityDeleteRole,\n IdentityGetRoleById,\n} from '../../actions/identity.actions';\nimport { pluck } from 'rxjs/operators';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n roles$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n createForm() {\n this.form = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new IdentityGetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateRole({ ...this.form.value, id: this.selected.id })\n : new IdentityAddRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteRole(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new IdentityGetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, OnInit, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { validatePassword } from '@ngx-validate/core';\nimport { Select, Store } from '@ngxs/store';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { debounceTime, filter, map, pluck, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n IdentityAddUser,\n IdentityDeleteUser,\n IdentityGetUserById,\n IdentityGetUserRoles,\n IdentityGetUsers,\n IdentityUpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent implements OnInit {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n search$ = new Subject();\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n ngOnInit() {\n this.search$.pipe(debounceTime(300)).subscribe(value => {\n this.pageQuery.filter = value;\n this.get();\n });\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n\n this.form = this.fb.group({\n password: [\n '',\n [\n Validators.required,\n Validators.maxLength(32),\n Validators.minLength(6),\n validatePassword(['small', 'capital', 'number', 'special']),\n ],\n ],\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n combineLatest([this.store.dispatch(new IdentityGetUserById(id)), this.store.dispatch(new IdentityGetUserRoles(id))])\n .pipe(\n filter(([res1, res2]) => res1 && res2),\n map(([state, _]) => state),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new IdentityUpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new IdentityAddUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new IdentityDeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store.dispatch(new IdentityGetUsers(this.pageQuery)).subscribe(() => (this.loading = false));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { IdentityGetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new IdentityGetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'Identity',\n path: 'identity',\n order: 1,\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n { path: 'roles', name: 'Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/lib/actions/identity.actions.d.ts b/npm/ng-packs/dist/identity/lib/actions/identity.actions.d.ts index 450403d71d..3836c1359b 100644 --- a/npm/ng-packs/dist/identity/lib/actions/identity.actions.d.ts +++ b/npm/ng-packs/dist/identity/lib/actions/identity.actions.d.ts @@ -1,49 +1,51 @@ import { Identity } from '../models/identity'; import { ABP } from '@abp/ng.core'; -export declare class IdentityGetRoles { +export declare class GetRoles { + payload?: ABP.PageQueryParams; static readonly type = "[Identity] Get Roles"; + constructor(payload?: ABP.PageQueryParams); } -export declare class IdentityGetRoleById { +export declare class GetRoleById { payload: string; static readonly type = "[Identity] Get Role By Id"; constructor(payload: string); } -export declare class IdentityDeleteRole { +export declare class DeleteRole { payload: string; static readonly type = "[Identity] Delete Role"; constructor(payload: string); } -export declare class IdentityAddRole { +export declare class CreateRole { payload: Identity.RoleSaveRequest; - static readonly type = "[Identity] Add Role"; + static readonly type = "[Identity] Create Role"; constructor(payload: Identity.RoleSaveRequest); } -export declare class IdentityUpdateRole { +export declare class UpdateRole { payload: Identity.RoleItem; static readonly type = "[Identity] Update Role"; constructor(payload: Identity.RoleItem); } -export declare class IdentityGetUsers { +export declare class GetUsers { payload?: ABP.PageQueryParams; static readonly type = "[Identity] Get Users"; constructor(payload?: ABP.PageQueryParams); } -export declare class IdentityGetUserById { +export declare class GetUserById { payload: string; static readonly type = "[Identity] Get User By Id"; constructor(payload: string); } -export declare class IdentityDeleteUser { +export declare class DeleteUser { payload: string; static readonly type = "[Identity] Delete User"; constructor(payload: string); } -export declare class IdentityAddUser { +export declare class CreateUser { payload: Identity.UserSaveRequest; - static readonly type = "[Identity] Add User"; + static readonly type = "[Identity] Create User"; constructor(payload: Identity.UserSaveRequest); } -export declare class IdentityUpdateUser { +export declare class UpdateUser { payload: Identity.UserSaveRequest & { id: string; }; @@ -52,7 +54,7 @@ export declare class IdentityUpdateUser { id: string; }); } -export declare class IdentityGetUserRoles { +export declare class GetUserRoles { payload: string; static readonly type = "[Identity] Get User Roles"; constructor(payload: string); diff --git a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts index e3d2b35495..68584bf177 100644 --- a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts @@ -1,25 +1,32 @@ +import { ABP } from '@abp/ng.core'; +import { ConfirmationService } from '@abp/ng.theme.shared'; import { TemplateRef } from '@angular/core'; +import { FormBuilder, FormGroup } from '@angular/forms'; import { Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { FormBuilder, FormGroup } from '@angular/forms'; import { Identity } from '../../models/identity'; -import { ConfirmationService } from '@abp/ng.theme.shared'; export declare class RolesComponent { private confirmationService; private fb; private store; - roles$: Observable; + data$: Observable; + totalCount$: Observable; form: FormGroup; selected: Identity.RoleItem; isModalVisible: boolean; visiblePermissions: boolean; providerKey: string; + pageQuery: ABP.PageQueryParams; + loading: boolean; modalContent: TemplateRef; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); + onSearch(value: any): void; createForm(): void; openModal(): void; onAdd(): void; onEdit(id: string): void; save(): void; delete(id: string, name: string): void; + onPageChange(data: any): void; + get(): void; } diff --git a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts index 221a226a8b..a9f99333d4 100644 --- a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts @@ -1,11 +1,11 @@ import { ABP } from '@abp/ng.core'; import { ConfirmationService } from '@abp/ng.theme.shared'; -import { OnInit, TemplateRef, TrackByFunction } from '@angular/core'; +import { TemplateRef, TrackByFunction } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms'; import { Store } from '@ngxs/store'; -import { Observable, Subject } from 'rxjs'; +import { Observable } from 'rxjs'; import { Identity } from '../../models/identity'; -export declare class UsersComponent implements OnInit { +export declare class UsersComponent { private confirmationService; private fb; private store; @@ -21,11 +21,10 @@ export declare class UsersComponent implements OnInit { pageQuery: ABP.PageQueryParams; isModalVisible: boolean; loading: boolean; - search$: Subject; trackByFn: TrackByFunction; readonly roleGroups: FormGroup[]; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); - ngOnInit(): void; + onSearch(value: any): void; buildForm(): void; openModal(): void; onAdd(): void; diff --git a/npm/ng-packs/dist/identity/lib/services/identity.service.d.ts b/npm/ng-packs/dist/identity/lib/services/identity.service.d.ts index c35bc109a9..aede6cda73 100644 --- a/npm/ng-packs/dist/identity/lib/services/identity.service.d.ts +++ b/npm/ng-packs/dist/identity/lib/services/identity.service.d.ts @@ -4,15 +4,15 @@ import { Identity } from '../models/identity'; export declare class IdentityService { private rest; constructor(rest: RestService); - getRoles(): Observable; + getRoles(params?: ABP.PageQueryParams): Observable; getRoleById(id: string): Observable; deleteRole(id: string): Observable; - addRole(body: Identity.RoleSaveRequest): Observable; + createRole(body: Identity.RoleSaveRequest): Observable; updateRole(body: Identity.RoleItem): Observable; getUsers(params?: ABP.PageQueryParams): Observable; getUserById(id: string): Observable; getUserRoles(id: string): Observable; deleteUser(id: string): Observable; - addUser(body: Identity.UserSaveRequest): Observable; + createUser(body: Identity.UserSaveRequest): Observable; updateUser(body: Identity.UserItem): Observable; } diff --git a/npm/ng-packs/dist/identity/lib/states/identity.state.d.ts b/npm/ng-packs/dist/identity/lib/states/identity.state.d.ts index 5fbd3491f6..dcf1ecb80a 100644 --- a/npm/ng-packs/dist/identity/lib/states/identity.state.d.ts +++ b/npm/ng-packs/dist/identity/lib/states/identity.state.d.ts @@ -1,5 +1,5 @@ import { StateContext } from '@ngxs/store'; -import { IdentityAddRole, IdentityAddUser, IdentityGetRoleById, IdentityGetUserById, IdentityGetUsers, IdentityUpdateRole, IdentityUpdateUser, IdentityGetUserRoles } from '../actions/identity.actions'; +import { CreateRole, CreateUser, GetRoleById, GetRoles, GetUserById, GetUsers, UpdateRole, UpdateUser, GetUserRoles } from '../actions/identity.actions'; import { Identity } from '../models/identity'; import { IdentityService } from '../services/identity.service'; export declare class IdentityState { @@ -9,15 +9,15 @@ export declare class IdentityState { static getUsers({ users }: Identity.State): Identity.UserItem[]; static getUsersTotalCount({ users }: Identity.State): number; constructor(identityService: IdentityService); - getRoles({ patchState }: StateContext): import("rxjs").Observable>; - getRole({ patchState }: StateContext, { payload }: IdentityGetRoleById): import("rxjs").Observable; - deleteRole({ dispatch }: StateContext, { payload }: IdentityGetRoleById): import("rxjs").Observable; - addRole({ dispatch }: StateContext, { payload }: IdentityAddRole): import("rxjs").Observable; - updateRole({ getState, dispatch }: StateContext, { payload }: IdentityUpdateRole): import("rxjs").Observable; - getUsers({ patchState }: StateContext, { payload }: IdentityGetUsers): import("rxjs").Observable>; - getUser({ patchState }: StateContext, { payload }: IdentityGetUserById): import("rxjs").Observable; - deleteUser({ dispatch }: StateContext, { payload }: IdentityGetUserById): import("rxjs").Observable; - addUser({ dispatch }: StateContext, { payload }: IdentityAddUser): import("rxjs").Observable; - updateUser({ getState, dispatch }: StateContext, { payload }: IdentityUpdateUser): import("rxjs").Observable; - getUserRoles({ patchState }: StateContext, { payload }: IdentityGetUserRoles): import("rxjs").Observable; + getRoles({ patchState }: StateContext, { payload }: GetRoles): import("rxjs").Observable>; + getRole({ patchState }: StateContext, { payload }: GetRoleById): import("rxjs").Observable; + deleteRole({ dispatch }: StateContext, { payload }: GetRoleById): import("rxjs").Observable; + addRole({ dispatch }: StateContext, { payload }: CreateRole): import("rxjs").Observable; + updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole): import("rxjs").Observable; + getUsers({ patchState }: StateContext, { payload }: GetUsers): import("rxjs").Observable>; + getUser({ patchState }: StateContext, { payload }: GetUserById): import("rxjs").Observable; + deleteUser({ dispatch }: StateContext, { payload }: GetUserById): import("rxjs").Observable; + addUser({ dispatch }: StateContext, { payload }: CreateUser): import("rxjs").Observable; + updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser): import("rxjs").Observable; + getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles): import("rxjs").Observable; } diff --git a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.d.ts b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.d.ts index 8fe3ba6462..dcffdd9db3 100644 --- a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.d.ts +++ b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.d.ts @@ -2,7 +2,7 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { PermissionManagementGetPermissions as ɵd, PermissionManagementUpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; +export { GetPermissions as ɵd, UpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; export { PermissionManagementComponent as ɵa } from './lib/components/permission-management.component'; export { PermissionManagement as ɵf } from './lib/models/permission-management'; export { PermissionManagementService as ɵc } from './lib/services/permission-management.service'; diff --git a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json index 136f682cfa..10da5a3628 100644 --- a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json +++ b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":58,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":89,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":89,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":9,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":26,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":86,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":86,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js index f5ce1663dd..cb40477261 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js @@ -68,19 +68,19 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var PermissionManagementGetPermissions = /** @class */ (function () { - function PermissionManagementGetPermissions(payload) { + var GetPermissions = /** @class */ (function () { + function GetPermissions(payload) { this.payload = payload; } - PermissionManagementGetPermissions.type = '[PermissionManagement] Get Permissions'; - return PermissionManagementGetPermissions; + GetPermissions.type = '[PermissionManagement] Get Permissions'; + return GetPermissions; }()); - var PermissionManagementUpdatePermissions = /** @class */ (function () { - function PermissionManagementUpdatePermissions(payload) { + var UpdatePermissions = /** @class */ (function () { + function UpdatePermissions(payload) { this.payload = payload; } - PermissionManagementUpdatePermissions.type = '[PermissionManagement] Update Permissions'; - return PermissionManagementUpdatePermissions; + UpdatePermissions.type = '[PermissionManagement] Update Permissions'; + return UpdatePermissions; }()); /** @@ -210,15 +210,15 @@ return this.permissionManagementService.updatePermissions(payload); }; __decorate([ - store.Action(PermissionManagementGetPermissions), + store.Action(GetPermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementGetPermissions]), + __metadata("design:paramtypes", [Object, GetPermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementGet", null); __decorate([ - store.Action(PermissionManagementUpdatePermissions), + store.Action(UpdatePermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementUpdatePermissions]), + __metadata("design:paramtypes", [Object, UpdatePermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementUpdate", null); __decorate([ @@ -356,6 +356,8 @@ */ function (clickedPermission, value) { var _this = this; + if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + return; setTimeout((/** * @return {?} */ @@ -459,6 +461,8 @@ * @return {?} */ function (permission) { + if (permission.isGranted && permission.grantedProviders.length > 0) + return; /** @type {?} */ var index = _this.permissions.findIndex((/** * @param {?} per @@ -532,7 +536,7 @@ })); if (changedPermissions.length) { this.store - .dispatch(new PermissionManagementUpdatePermissions({ + .dispatch(new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, permissions: changedPermissions, @@ -560,7 +564,7 @@ throw new Error('Provider Key and Provider Name are required.'); } this.store - .dispatch(new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) + .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) .pipe(operators.pluck('PermissionManagementState', 'permissionRes')) .subscribe((/** * @param {?} permissionRes @@ -570,15 +574,18 @@ _this.selectedGroup = permissionRes.groups[0]; _this.permissions = getPermissions(permissionRes.groups); _this.visible = true; - setTimeout((/** - * @return {?} - */ - function () { - _this.setTabCheckboxState(); - _this.setGrantCheckboxState(); - }), 0); })); }; + /** + * @return {?} + */ + PermissionManagementComponent.prototype.initModal = /** + * @return {?} + */ + function () { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + }; /** * @param {?} __0 * @return {?} @@ -601,7 +608,7 @@ PermissionManagementComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -717,17 +724,17 @@ PermissionManagement.UpdateRequest = UpdateRequest; })(PermissionManagement || (PermissionManagement = {})); + exports.GetPermissions = GetPermissions; exports.PermissionManagementComponent = PermissionManagementComponent; - exports.PermissionManagementGetPermissions = PermissionManagementGetPermissions; exports.PermissionManagementModule = PermissionManagementModule; exports.PermissionManagementService = PermissionManagementService; exports.PermissionManagementState = PermissionManagementState; - exports.PermissionManagementUpdatePermissions = PermissionManagementUpdatePermissions; + exports.UpdatePermissions = UpdatePermissions; exports.ɵa = PermissionManagementComponent; exports.ɵb = PermissionManagementState; exports.ɵc = PermissionManagementService; - exports.ɵd = PermissionManagementGetPermissions; - exports.ɵe = PermissionManagementUpdatePermissions; + exports.ɵd = GetPermissions; + exports.ɵe = UpdatePermissions; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map index ba5cd5511a..45a40ee711 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class PermissionManagementGetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class PermissionManagementUpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(PermissionManagementGetPermissions)\n permissionManagementGet(\n { patchState }: StateContext,\n { payload }: PermissionManagementGetPermissions,\n ) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(PermissionManagementUpdatePermissions)\n permissionManagementUpdate(_, { payload }: PermissionManagementUpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new PermissionManagementUpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(\n new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName }),\n )\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n\n setTimeout(() => {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n });\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js index 5ef33e87f2..da29b50646 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,s,r,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(n,t,o):s(n,t))||o);return r>3&&o&&Object.defineProperty(n,t,o),o}function p(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,s,r=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(s)throw s.error}}return o}function m(){for(var e=[],n=0;n\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},l([s.Select(h.getPermissionGroups),p("design:type",r.Observable)],e.prototype,"groups$",void 0),l([s.Select(h.getEntitiyDisplayName),p("design:type",r.Observable)],e.prototype,"entityName$",void 0),e}();function y(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+y(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CoreModule,t.ThemeSharedModule,s.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[g]}]}],e}();!function(e){e.State=function(){},e.Response=function(){},e.Group=function(){},e.MinimumPermission=function(){},e.Permission=function(){},e.GrantedProvider=function(){},e.UpdateRequest=function(){}}(G||(G={})),e.PermissionManagementComponent=g,e.PermissionManagementGetPermissions=d,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.PermissionManagementUpdatePermissions=b,e.ɵa=g,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function l(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n0||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!(n.isGranted&&n.grantedProviders.length>0)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this,n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.visible=!1}):this.visible=!1},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},p([r.Select(h.getPermissionGroups),l("design:type",s.Observable)],e.prototype,"groups$",void 0),p([r.Select(h.getEntitiyDisplayName),l("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function y(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+y(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[g]}]}],e}();!function(e){e.State=function(){},e.Response=function(){},e.Group=function(){},e.MinimumPermission=function(){},e.Permission=function(){},e.GrantedProvider=function(){},e.UpdateRequest=function(){}}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=g,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=g,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.permission-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map index 9922f4991d..58235537b6 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","PermissionManagementGetPermissions","payload","type","PermissionManagementUpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","onClickCheckbox","clickedPermission","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","findIndex","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class PermissionManagementGetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class PermissionManagementUpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(PermissionManagementGetPermissions)\n permissionManagementGet(\n { patchState }: StateContext,\n { payload }: PermissionManagementGetPermissions,\n ) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(PermissionManagementUpdatePermissions)\n permissionManagementUpdate(_, { payload }: PermissionManagementUpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new PermissionManagementUpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(\n new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName }),\n )\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n\n setTimeout(() => {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n });\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","onClickCheckbox","clickedPermission","grantedProviders","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","findIndex","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js index 4c6723512d..a8be4b0a6d 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js @@ -5,9 +5,9 @@ /** * Generated bundle index. Do not edit. */ -export { PermissionManagementModule, PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; -export { PermissionManagementGetPermissions as ɵd, PermissionManagementUpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; +export { PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; +export { GetPermissions as ɵd, UpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; export { PermissionManagementComponent as ɵa } from './lib/components/permission-management.component'; export { PermissionManagementService as ɵc } from './lib/services/permission-management.service'; export { PermissionManagementState as ɵb } from './lib/states/permission-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMscUNBQXFDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakosT0FBTyxFQUFDLDZCQUE2QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBRXJHLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRHZXRQZXJtaXNzaW9ucyBhcyDJtWQsUGVybWlzc2lvbk1hbmFnZW1lbnRVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUtBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/actions/index.js b/npm/ng-packs/dist/permission-management/esm2015/lib/actions/index.js index 314c92ddc4..018239c2ee 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/actions/index.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions } from './permission-management.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwwRkFBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file +export { GetPermissions, UpdatePermissions } from './permission-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxrREFBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/actions/permission-management.actions.js b/npm/ng-packs/dist/permission-management/esm2015/lib/actions/permission-management.actions.js index d036f8dab6..f2375f0690 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/actions/permission-management.actions.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/actions/permission-management.actions.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class PermissionManagementGetPermissions { +export class GetPermissions { /** * @param {?} payload */ @@ -10,14 +10,14 @@ export class PermissionManagementGetPermissions { this.payload = payload; } } -PermissionManagementGetPermissions.type = '[PermissionManagement] Get Permissions'; +GetPermissions.type = '[PermissionManagement] Get Permissions'; if (false) { /** @type {?} */ - PermissionManagementGetPermissions.type; + GetPermissions.type; /** @type {?} */ - PermissionManagementGetPermissions.prototype.payload; + GetPermissions.prototype.payload; } -export class PermissionManagementUpdatePermissions { +export class UpdatePermissions { /** * @param {?} payload */ @@ -25,11 +25,11 @@ export class PermissionManagementUpdatePermissions { this.payload = payload; } } -PermissionManagementUpdatePermissions.type = '[PermissionManagement] Update Permissions'; +UpdatePermissions.type = '[PermissionManagement] Update Permissions'; if (false) { /** @type {?} */ - PermissionManagementUpdatePermissions.type; + UpdatePermissions.type; /** @type {?} */ - PermissionManagementUpdatePermissions.prototype.payload; + UpdatePermissions.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sa0NBQWtDOzs7O0lBRTdDLFlBQW1CLE9BQTZDO1FBQTdDLFlBQU8sR0FBUCxPQUFPLENBQXNDO0lBQUcsQ0FBQzs7QUFEcEQsdUNBQUksR0FBRyx3Q0FBd0MsQ0FBQzs7O0lBQWhFLHdDQUFnRTs7SUFDcEQscURBQW9EOztBQUdsRSxNQUFNLE9BQU8scUNBQXFDOzs7O0lBRWhELFlBQW1CLE9BQWtGO1FBQWxGLFlBQU8sR0FBUCxPQUFPLENBQTJFO0lBQUcsQ0FBQzs7QUFEekYsMENBQUksR0FBRywyQ0FBMkMsQ0FBQzs7O0lBQW5FLDJDQUFtRTs7SUFDdkQsd0RBQXlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcblxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUGVybWlzc2lvbk1hbmFnZW1lbnRdIEdldCBQZXJtaXNzaW9ucyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5HcmFudGVkUHJvdmlkZXIpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBVcGRhdGUgUGVybWlzc2lvbnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyICYgUGVybWlzc2lvbk1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCkge31cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sY0FBYzs7OztJQUV6QixZQUFtQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7O0FBRHBELG1CQUFJLEdBQUcsd0NBQXdDLENBQUM7OztJQUFoRSxvQkFBZ0U7O0lBQ3BELGlDQUFvRDs7QUFHbEUsTUFBTSxPQUFPLGlCQUFpQjs7OztJQUU1QixZQUFtQixPQUFrRjtRQUFsRixZQUFPLEdBQVAsT0FBTyxDQUEyRTtJQUFHLENBQUM7O0FBRHpGLHNCQUFJLEdBQUcsMkNBQTJDLENBQUM7OztJQUFuRSx1QkFBbUU7O0lBQ3ZELG9DQUF5RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBHZXRQZXJtaXNzaW9ucyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQZXJtaXNzaW9uTWFuYWdlbWVudF0gR2V0IFBlcm1pc3Npb25zJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcikge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVBlcm1pc3Npb25zIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBVcGRhdGUgUGVybWlzc2lvbnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyICYgUGVybWlzc2lvbk1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCkge31cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js index f44c51fce4..bcd6432581 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js @@ -7,7 +7,7 @@ import { Component, EventEmitter, Input, Output, Renderer2, } from '@angular/cor import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; import { map, pluck, take } from 'rxjs/operators'; -import { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, } from '../actions/permission-management.actions'; +import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { PermissionManagementState } from '../states/permission-management.state'; export class PermissionManagementComponent { /** @@ -94,6 +94,8 @@ export class PermissionManagementComponent { * @return {?} */ onClickCheckbox(clickedPermission, value) { + if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + return; setTimeout((/** * @return {?} */ @@ -186,6 +188,8 @@ export class PermissionManagementComponent { * @return {?} */ permission => { + if (permission.isGranted && permission.grantedProviders.length > 0) + return; /** @type {?} */ const index = this.permissions.findIndex((/** * @param {?} per @@ -244,7 +248,7 @@ export class PermissionManagementComponent { ({ name, isGranted }) => ({ name, isGranted }))); if (changedPermissions.length) { this.store - .dispatch(new PermissionManagementUpdatePermissions({ + .dispatch(new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, permissions: changedPermissions, @@ -268,7 +272,7 @@ export class PermissionManagementComponent { throw new Error('Provider Key and Provider Name are required.'); } this.store - .dispatch(new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) + .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) .pipe(pluck('PermissionManagementState', 'permissionRes')) .subscribe((/** * @param {?} permissionRes @@ -278,15 +282,15 @@ export class PermissionManagementComponent { this.selectedGroup = permissionRes.groups[0]; this.permissions = getPermissions(permissionRes.groups); this.visible = true; - setTimeout((/** - * @return {?} - */ - () => { - this.setTabCheckboxState(); - this.setGrantCheckboxState(); - }), 0); })); } + /** + * @return {?} + */ + initModal() { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + } /** * @param {?} __0 * @return {?} @@ -305,7 +309,7 @@ export class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -395,4 +399,4 @@ function getPermissions(groups) { */ (acc, val) => [...acc, ...val.permissions]), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxxQ0FBcUMsR0FDdEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVFsRixNQUFNLE9BQU8sNkJBQTZCOzs7OztJQThEeEMsWUFBb0IsS0FBWSxFQUFVLFFBQW1CO1FBQXpDLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBcEM3RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFVNUMsZ0JBQVcsR0FBc0MsRUFBRSxDQUFDO1FBRXBELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGNBQVM7Ozs7O1FBQWdELENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQztJQW9CaEIsQ0FBQzs7OztJQXJEakUsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBRWhDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNILENBQUM7Ozs7SUFxQkQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsR0FBRzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDbkcsRUFDRCxHQUFHOzs7O1FBQTRELFdBQVcsQ0FBQyxFQUFFLENBQzNFLFdBQVcsQ0FBQyxHQUFHOzs7O1FBQ2IsVUFBVSxDQUFDLEVBQUUsQ0FDWCxDQUFDLG1CQUFBLENBQUMscUNBQ0csVUFBVSxJQUNiLE1BQU0sRUFBRSxVQUFVLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJOzs7O1lBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLEtBQ3pFLENBQUMsRUFBd0IsQ0FBQyxFQUNyQyxFQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7SUFJRCxRQUFRLEtBQVUsQ0FBQzs7Ozs7SUFFbkIsVUFBVSxDQUFDLElBQVk7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RixDQUFDOzs7Ozs7SUFFRCxlQUFlLENBQUMsaUJBQWtELEVBQUUsS0FBSztRQUN2RSxVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLGlCQUFpQixDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUN2Qyx5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBRztpQkFDOUM7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7b0JBQ25GLHlCQUFZLEdBQUcsSUFBRSxTQUFTLEVBQUUsS0FBSyxJQUFHO2lCQUNyQztxQkFBTSxJQUFJLGlCQUFpQixDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO29CQUNwRix5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLElBQUksSUFBRztpQkFDcEM7Z0JBRUQsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsV0FBVyxDQUFDLEVBQUU7O2tCQUM3RCxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTTs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7a0JBQzlELE9BQU8sR0FBRyxtQkFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLEVBQU87WUFFekUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckQsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO2lCQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQscUJBQXFCOztjQUNiLHNCQUFzQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7Y0FDdEUsZUFBZSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUVoRixJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3RCxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0wsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7O0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ25FLFdBQVcsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBVSxDQUFDLEVBQUU7O3NCQUN6QixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTOzs7O2dCQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxFQUFDO2dCQUU3RSxJQUFJLENBQUMsV0FBVyxHQUFHO29CQUNqQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7c0NBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUUsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWE7b0JBQzVELEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDckMsQ0FBQztZQUNKLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7UUFFSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG1CQUFNLFVBQVUsSUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFHLEVBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxLQUFpQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7O0lBRUQsUUFBUTs7Y0FDQSxvQkFBb0IsR0FBRyxjQUFjLENBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLENBQ3pFOztjQUVLLGtCQUFrQixHQUE2QyxJQUFJLENBQUMsV0FBVzthQUNsRixNQUFNOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDWixvQkFBb0IsQ0FBQyxJQUFJOzs7O1FBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQy9HO2FBQ0EsR0FBRzs7OztRQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBQztRQUV0RCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSztpQkFDUCxRQUFRLENBQ1AsSUFBSSxxQ0FBcUMsQ0FBQztnQkFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFdBQVcsRUFBRSxrQkFBa0I7YUFDaEMsQ0FBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLEVBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUNQLElBQUksa0NBQWtDLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQzNHO2FBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUN6RCxTQUFTOzs7O1FBQUMsQ0FBQyxhQUE0QyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVwQixVQUFVOzs7WUFBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBbk5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywwc0hBQXFEO2FBQ3REOzs7O1lBZmdCLEtBQUs7WUFKcEIsU0FBUzs7OzJCQXFCUixLQUFLOzBCQUdMLEtBQUs7c0JBS0wsS0FBSzs0QkFnQkwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQztzQ0FDN0MsVUFBVTs4REFBK0I7QUFHbEQ7SUFEQyxNQUFNLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUM7c0NBQzNDLFVBQVU7a0VBQVM7OztJQS9CaEMscURBQ3FCOztJQUVyQixvREFDb0I7Ozs7O0lBRXBCLGlEQUFtQjs7SUFrQm5CLHNEQUM0Qzs7SUFFNUMsZ0RBQ2tEOztJQUVsRCxvREFDZ0M7O0lBRWhDLHNEQUEwQzs7SUFFMUMsb0RBQW9EOztJQUVwRCxzREFBK0I7O0lBRS9CLHFEQUE4Qjs7SUFFOUIsa0RBQWdGOzs7OztJQW9CcEUsOENBQW9COzs7OztJQUFFLGlEQUEyQjs7Ozs7OztBQW9KL0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMsXG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMsXG59IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVyID0+IHtcbiAgICAgICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6ICFwZXIuaXNHcmFudGVkIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLnBhcmVudE5hbWUgJiYgY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IGZhbHNlIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ucGFyZW50TmFtZSA9PT0gcGVyLm5hbWUgJiYgIWNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFRhYkNoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLXRoaXMtdGFicycpIGFzIGFueTtcblxuICAgICAgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSBwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRHcmFudENoZWNrYm94U3RhdGUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICBjb25zdCBjaGVja2JveEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi1hbGwtdGFicycpIGFzIGFueTtcblxuICAgIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gdGhpcy5wZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0VGhpc1RhYigpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaChwZXJtaXNzaW9uID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnBlcm1pc3Npb25zLmZpbmRJbmRleChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSk7XG5cbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IFtcbiAgICAgICAgICAuLi50aGlzLnBlcm1pc3Npb25zLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICB7IC4uLnRoaXMucGVybWlzc2lvbnNbaW5kZXhdLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdFRoaXNUYWIgfSxcbiAgICAgICAgICAuLi50aGlzLnBlcm1pc3Npb25zLnNsaWNlKGluZGV4ICsgMSksXG4gICAgICAgIF07XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0QWxsKCkge1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLm1hcChwZXJtaXNzaW9uID0+ICh7IC4uLnBlcm1pc3Npb24sIGlzR3JhbnRlZDogIXRoaXMuc2VsZWN0QWxsVGFiIH0pKTtcblxuICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9ICF0aGlzLnNlbGVjdEFsbFRhYjtcbiAgfVxuXG4gIG9uQ2hhbmdlR3JvdXAoZ3JvdXA6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gZ3JvdXA7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBjb25zdCB1bmNoYW5nZWRQZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBjaGFuZ2VkUGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lk1pbmltdW1QZXJtaXNzaW9uW10gPSB0aGlzLnBlcm1pc3Npb25zXG4gICAgICAuZmlsdGVyKHBlciA9PlxuICAgICAgICB1bmNoYW5nZWRQZXJtaXNzaW9ucy5maW5kKHVuY2hhbmdlZCA9PiB1bmNoYW5nZWQubmFtZSA9PT0gcGVyLm5hbWUpLmlzR3JhbnRlZCA9PT0gcGVyLmlzR3JhbnRlZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIClcbiAgICAgIC5tYXAoKHsgbmFtZSwgaXNHcmFudGVkIH0pID0+ICh7IG5hbWUsIGlzR3JhbnRlZCB9KSk7XG5cbiAgICBpZiAoY2hhbmdlZFBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMoe1xuICAgICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgICBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGNoYW5nZWRQZXJtaXNzaW9ucyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvdmlkZXJLZXkgfHwgIXRoaXMucHJvdmlkZXJOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVyIEtleSBhbmQgUHJvdmlkZXIgTmFtZSBhcmUgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgUGVybWlzc2lvbk1hbmFnZW1lbnRHZXRQZXJtaXNzaW9ucyh7IHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LCBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUocGx1Y2soJ1Blcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUnLCAncGVybWlzc2lvblJlcycpKVxuICAgICAgLnN1YnNjcmliZSgocGVybWlzc2lvblJlczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gcGVybWlzc2lvblJlcy5ncm91cHNbMF07XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhwZXJtaXNzaW9uUmVzLmdyb3Vwcyk7XG5cbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTWFyZ2luKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10sIHBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24pIHtcbiAgY29uc3QgcGFyZW50UGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLnBhcmVudE5hbWUpO1xuXG4gIGlmIChwYXJlbnRQZXJtaXNzaW9uICYmIHBhcmVudFBlcm1pc3Npb24ucGFyZW50TmFtZSkge1xuICAgIGxldCBtYXJnaW4gPSAyMDtcbiAgICByZXR1cm4gKG1hcmdpbiArPSBmaW5kTWFyZ2luKHBlcm1pc3Npb25zLCBwYXJlbnRQZXJtaXNzaW9uKSk7XG4gIH1cblxuICByZXR1cm4gcGFyZW50UGVybWlzc2lvbiA/IDIwIDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnMoZ3JvdXBzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cFtdKTogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdIHtcbiAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwucGVybWlzc2lvbnNdLCBbXSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBOER4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO0lBb0JoQixDQUFDOzs7O0lBckRqRSxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7OztJQXFCRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixHQUFHOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDWCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNuRyxFQUNELEdBQUc7Ozs7UUFBNEQsV0FBVyxDQUFDLEVBQUUsQ0FDM0UsV0FBVyxDQUFDLEdBQUc7Ozs7UUFDYixVQUFVLENBQUMsRUFBRSxDQUNYLENBQUMsbUJBQUEsQ0FBQyxxQ0FDRyxVQUFVLElBQ2IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7WUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsS0FDekUsQ0FBQyxFQUF3QixDQUFDLEVBQ3JDLEVBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUlELFFBQVEsS0FBVSxDQUFDOzs7OztJQUVuQixVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdGLENBQUM7Ozs7OztJQUVELGVBQWUsQ0FBQyxpQkFBa0QsRUFBRSxLQUFLO1FBQ3ZFLElBQUksaUJBQWlCLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTztRQUV6RixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLGlCQUFpQixDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUN2Qyx5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBRztpQkFDOUM7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7b0JBQ25GLHlCQUFZLEdBQUcsSUFBRSxTQUFTLEVBQUUsS0FBSyxJQUFHO2lCQUNyQztxQkFBTSxJQUFJLGlCQUFpQixDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO29CQUNwRix5QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLElBQUksSUFBRztpQkFDcEM7Z0JBRUQsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsV0FBVyxDQUFDLEVBQUU7O2tCQUM3RCxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTTs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7a0JBQzlELE9BQU8sR0FBRyxtQkFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLEVBQU87WUFFekUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckQsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO2lCQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQscUJBQXFCOztjQUNiLHNCQUFzQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQzs7Y0FDdEUsZUFBZSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUVoRixJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3RCxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0wsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7O0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ25FLFdBQVcsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQy9CLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQUUsT0FBTzs7c0JBRXJFLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7Z0JBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUM7Z0JBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUc7b0JBQ2pCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztzQ0FDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtvQkFDNUQsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQyxDQUFDO1lBQ0osQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztRQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsbUJBQU0sVUFBVSxJQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUcsRUFBQyxDQUFDO1FBRTFHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLEtBQWlDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxRQUFROztjQUNBLG9CQUFvQixHQUFHLGNBQWMsQ0FDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FDekU7O2NBRUssa0JBQWtCLEdBQTZDLElBQUksQ0FBQyxXQUFXO2FBQ2xGLE1BQU07Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUNaLG9CQUFvQixDQUFDLElBQUk7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDL0c7YUFDQSxHQUFHOzs7O1FBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFDO1FBRXRELElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLO2lCQUNQLFFBQVEsQ0FDUCxJQUFJLGlCQUFpQixDQUFDO2dCQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsV0FBVyxFQUFFLGtCQUFrQjthQUNoQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUzs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsRUFBQyxDQUFDO1NBQ047YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDaEcsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUN6RCxTQUFTOzs7O1FBQUMsQ0FBQyxhQUE0QyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBck5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywrbUlBQXFEO2FBQ3REOzs7O1lBWmdCLEtBQUs7WUFKcEIsU0FBUzs7OzJCQWtCUixLQUFLOzBCQUdMLEtBQUs7c0JBS0wsS0FBSzs0QkFnQkwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQztzQ0FDN0MsVUFBVTs4REFBK0I7QUFHbEQ7SUFEQyxNQUFNLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUM7c0NBQzNDLFVBQVU7a0VBQVM7OztJQS9CaEMscURBQ3FCOztJQUVyQixvREFDb0I7Ozs7O0lBRXBCLGlEQUFtQjs7SUFrQm5CLHNEQUM0Qzs7SUFFNUMsZ0RBQ2tEOztJQUVsRCxvREFDZ0M7O0lBRWhDLHNEQUEwQzs7SUFFMUMsb0RBQW9EOztJQUVwRCxzREFBK0I7O0lBRS9CLHFEQUE4Qjs7SUFFOUIsa0RBQWdGOzs7OztJQW9CcEUsOENBQW9COzs7OztJQUFFLGlEQUEyQjs7Ozs7OztBQXNKL0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/states/permission-management.state.js b/npm/ng-packs/dist/permission-management/esm2015/lib/states/permission-management.state.js index 8b412f6329..a0b8cfa904 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/states/permission-management.state.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/states/permission-management.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, } from '../actions/permission-management.actions'; +import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { PermissionManagementService } from '../services/permission-management.service'; import { tap } from 'rxjs/operators'; let PermissionManagementState = class PermissionManagementState { @@ -52,15 +52,15 @@ let PermissionManagementState = class PermissionManagementState { } }; tslib_1.__decorate([ - Action(PermissionManagementGetPermissions), + Action(GetPermissions), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, PermissionManagementGetPermissions]), + tslib_1.__metadata("design:paramtypes", [Object, GetPermissions]), tslib_1.__metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementGet", null); tslib_1.__decorate([ - Action(PermissionManagementUpdatePermissions), + Action(UpdatePermissions), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, PermissionManagementUpdatePermissions]), + tslib_1.__metadata("design:paramtypes", [Object, UpdatePermissions]), tslib_1.__metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementUpdate", null); tslib_1.__decorate([ @@ -90,4 +90,4 @@ if (false) { */ PermissionManagementState.prototype.permissionManagementService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxxQ0FBcUMsR0FDdEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7SUFNeEIseUJBQXlCLFNBQXpCLHlCQUF5Qjs7OztJQVdwQyxZQUFvQiwyQkFBd0Q7UUFBeEQsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtJQUFHLENBQUM7Ozs7O0lBVGhGLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGFBQWEsRUFBOEI7UUFDdEUsT0FBTyxhQUFhLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLGFBQWEsRUFBOEI7UUFDeEUsT0FBTyxhQUFhLENBQUMsaUJBQWlCLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBS0QsdUJBQXVCLENBQ3JCLEVBQUUsVUFBVSxFQUE0QyxFQUN4RCxFQUFFLE9BQU8sRUFBc0M7UUFFL0MsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbEUsR0FBRzs7OztRQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FDdkIsVUFBVSxDQUFDO1lBQ1QsYUFBYSxFQUFFLGtCQUFrQjtTQUNsQyxDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUF5QztRQUM5RSxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YsQ0FBQTtBQWpCQztJQURDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQzs7cURBRzVCLGtDQUFrQzs7d0VBU2hEO0FBR0Q7SUFEQyxNQUFNLENBQUMscUNBQXFDLENBQUM7O3FEQUNILHFDQUFxQzs7MkVBRS9FO0FBNUJEO0lBREMsUUFBUSxFQUFFOzs7OzBEQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7Ozs7NERBR1Y7QUFUVSx5QkFBeUI7SUFKckMsS0FBSyxDQUE2QjtRQUNqQyxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLFFBQVEsRUFBRSxtQkFBQSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBOEI7S0FDOUQsQ0FBQzs2Q0FZaUQsMkJBQTJCO0dBWGpFLHlCQUF5QixDQStCckM7U0EvQlkseUJBQXlCOzs7Ozs7SUFXeEIsZ0VBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMsXG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMsXG59IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFN0YXRlPFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPih7XG4gIG5hbWU6ICdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcGVybWlzc2lvblJlczoge30gfSBhcyBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRQZXJtaXNzaW9uR3JvdXBzKHsgcGVybWlzc2lvblJlcyB9OiBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSkge1xuICAgIHJldHVybiBwZXJtaXNzaW9uUmVzLmdyb3VwcyB8fCBbXTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRFbnRpdGl5RGlzcGxheU5hbWUoeyBwZXJtaXNzaW9uUmVzIH06IFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGVybWlzc2lvblJlcy5lbnRpdHlEaXNwbGF5TmFtZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlOiBQZXJtaXNzaW9uTWFuYWdlbWVudFNlcnZpY2UpIHt9XG5cbiAgQEFjdGlvbihQZXJtaXNzaW9uTWFuYWdlbWVudEdldFBlcm1pc3Npb25zKVxuICBwZXJtaXNzaW9uTWFuYWdlbWVudEdldChcbiAgICB7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPixcbiAgICB7IHBheWxvYWQgfTogUGVybWlzc2lvbk1hbmFnZW1lbnRHZXRQZXJtaXNzaW9ucyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLmdldFBlcm1pc3Npb25zKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocGVybWlzc2lvblJlc3BvbnNlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHBlcm1pc3Npb25SZXM6IHBlcm1pc3Npb25SZXNwb25zZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMpXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlKF8sIHsgcGF5bG9hZCB9OiBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLnVwZGF0ZVBlcm1pc3Npb25zKHBheWxvYWQpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztJQU14Qix5QkFBeUIsU0FBekIseUJBQXlCOzs7O0lBV3BDLFlBQW9CLDJCQUF3RDtRQUF4RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO0lBQUcsQ0FBQzs7Ozs7SUFUaEYsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUE4QjtRQUN0RSxPQUFPLGFBQWEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBR0QsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsYUFBYSxFQUE4QjtRQUN4RSxPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFLRCx1QkFBdUIsQ0FBQyxFQUFFLFVBQVUsRUFBNEMsRUFBRSxFQUFFLE9BQU8sRUFBa0I7UUFDM0csT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbEUsR0FBRzs7OztRQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FDdkIsVUFBVSxDQUFDO1lBQ1QsYUFBYSxFQUFFLGtCQUFrQjtTQUNsQyxDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFxQjtRQUMxRCxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YsQ0FBQTtBQWRDO0lBREMsTUFBTSxDQUFDLGNBQWMsQ0FBQzs7cURBQ3dFLGNBQWM7O3dFQVE1RztBQUdEO0lBREMsTUFBTSxDQUFDLGlCQUFpQixDQUFDOztxREFDaUIsaUJBQWlCOzsyRUFFM0Q7QUF6QkQ7SUFEQyxRQUFRLEVBQUU7Ozs7MERBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7Ozs0REFHVjtBQVRVLHlCQUF5QjtJQUpyQyxLQUFLLENBQTZCO1FBQ2pDLElBQUksRUFBRSwyQkFBMkI7UUFDakMsUUFBUSxFQUFFLG1CQUFBLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxFQUE4QjtLQUM5RCxDQUFDOzZDQVlpRCwyQkFBMkI7R0FYakUseUJBQXlCLENBNEJyQztTQTVCWSx5QkFBeUI7Ozs7OztJQVd4QixnRUFBZ0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgQWN0aW9uLCBTdGF0ZUNvbnRleHQsIFNlbGVjdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0UGVybWlzc2lvbnMsIFVwZGF0ZVBlcm1pc3Npb25zIH0gZnJvbSAnLi4vYWN0aW9ucy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AU3RhdGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuU3RhdGU+KHtcbiAgbmFtZTogJ1Blcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUnLFxuICBkZWZhdWx0czogeyBwZXJtaXNzaW9uUmVzOiB7fSB9IGFzIFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFBlcm1pc3Npb25Hcm91cHMoeyBwZXJtaXNzaW9uUmVzIH06IFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlKSB7XG4gICAgcmV0dXJuIHBlcm1pc3Npb25SZXMuZ3JvdXBzIHx8IFtdO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEVudGl0aXlEaXNwbGF5TmFtZSh7IHBlcm1pc3Npb25SZXMgfTogUGVybWlzc2lvbk1hbmFnZW1lbnQuU3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBwZXJtaXNzaW9uUmVzLmVudGl0eURpc3BsYXlOYW1lO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwZXJtaXNzaW9uTWFuYWdlbWVudFNlcnZpY2U6IFBlcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSkge31cblxuICBAQWN0aW9uKEdldFBlcm1pc3Npb25zKVxuICBwZXJtaXNzaW9uTWFuYWdlbWVudEdldCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFBlcm1pc3Npb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLmdldFBlcm1pc3Npb25zKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocGVybWlzc2lvblJlc3BvbnNlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHBlcm1pc3Npb25SZXM6IHBlcm1pc3Npb25SZXNwb25zZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVBlcm1pc3Npb25zKVxuICBwZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZShfLCB7IHBheWxvYWQgfTogVXBkYXRlUGVybWlzc2lvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uTWFuYWdlbWVudFNlcnZpY2UudXBkYXRlUGVybWlzc2lvbnMocGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/public-api.js b/npm/ng-packs/dist/permission-management/esm2015/public-api.js index e2c955262e..9d041be370 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/public-api.js +++ b/npm/ng-packs/dist/permission-management/esm2015/public-api.js @@ -6,9 +6,9 @@ * Public API Surface of permission-management */ export { PermissionManagementModule } from './lib/permission-management.module'; -export { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions } from './lib/actions'; +export { GetPermissions, UpdatePermissions } from './lib/actions'; export { PermissionManagementComponent } from './lib/components'; export {} from './lib/models'; export { PermissionManagementService } from './lib/services'; export { PermissionManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsMEZBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js index 4c6723512d..a8be4b0a6d 100644 --- a/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js @@ -5,9 +5,9 @@ /** * Generated bundle index. Do not edit. */ -export { PermissionManagementModule, PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; -export { PermissionManagementGetPermissions as ɵd, PermissionManagementUpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; +export { PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; +export { GetPermissions as ɵd, UpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; export { PermissionManagementComponent as ɵa } from './lib/components/permission-management.component'; export { PermissionManagementService as ɵc } from './lib/services/permission-management.service'; export { PermissionManagementState as ɵb } from './lib/states/permission-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMscUNBQXFDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakosT0FBTyxFQUFDLDZCQUE2QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBRXJHLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRHZXRQZXJtaXNzaW9ucyBhcyDJtWQsUGVybWlzc2lvbk1hbmFnZW1lbnRVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUtBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/actions/index.js b/npm/ng-packs/dist/permission-management/esm5/lib/actions/index.js index 314c92ddc4..018239c2ee 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/actions/index.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions } from './permission-management.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwwRkFBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file +export { GetPermissions, UpdatePermissions } from './permission-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxrREFBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/actions/permission-management.actions.js b/npm/ng-packs/dist/permission-management/esm5/lib/actions/permission-management.actions.js index e6a51d91b2..7f81cfafc1 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/actions/permission-management.actions.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/actions/permission-management.actions.js @@ -2,32 +2,32 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var PermissionManagementGetPermissions = /** @class */ (function () { - function PermissionManagementGetPermissions(payload) { +var GetPermissions = /** @class */ (function () { + function GetPermissions(payload) { this.payload = payload; } - PermissionManagementGetPermissions.type = '[PermissionManagement] Get Permissions'; - return PermissionManagementGetPermissions; + GetPermissions.type = '[PermissionManagement] Get Permissions'; + return GetPermissions; }()); -export { PermissionManagementGetPermissions }; +export { GetPermissions }; if (false) { /** @type {?} */ - PermissionManagementGetPermissions.type; + GetPermissions.type; /** @type {?} */ - PermissionManagementGetPermissions.prototype.payload; + GetPermissions.prototype.payload; } -var PermissionManagementUpdatePermissions = /** @class */ (function () { - function PermissionManagementUpdatePermissions(payload) { +var UpdatePermissions = /** @class */ (function () { + function UpdatePermissions(payload) { this.payload = payload; } - PermissionManagementUpdatePermissions.type = '[PermissionManagement] Update Permissions'; - return PermissionManagementUpdatePermissions; + UpdatePermissions.type = '[PermissionManagement] Update Permissions'; + return UpdatePermissions; }()); -export { PermissionManagementUpdatePermissions }; +export { UpdatePermissions }; if (false) { /** @type {?} */ - PermissionManagementUpdatePermissions.type; + UpdatePermissions.type; /** @type {?} */ - PermissionManagementUpdatePermissions.prototype.payload; + UpdatePermissions.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUVFLDRDQUFtQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFEcEQsdUNBQUksR0FBRyx3Q0FBd0MsQ0FBQztJQUVsRSx5Q0FBQztDQUFBLEFBSEQsSUFHQztTQUhZLGtDQUFrQzs7O0lBQzdDLHdDQUFnRTs7SUFDcEQscURBQW9EOztBQUdsRTtJQUVFLCtDQUFtQixPQUFrRjtRQUFsRixZQUFPLEdBQVAsT0FBTyxDQUEyRTtJQUFHLENBQUM7SUFEekYsMENBQUksR0FBRywyQ0FBMkMsQ0FBQztJQUVyRSw0Q0FBQztDQUFBLEFBSEQsSUFHQztTQUhZLHFDQUFxQzs7O0lBQ2hELDJDQUFtRTs7SUFDdkQsd0RBQXlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcblxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUGVybWlzc2lvbk1hbmFnZW1lbnRdIEdldCBQZXJtaXNzaW9ucyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5HcmFudGVkUHJvdmlkZXIpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBVcGRhdGUgUGVybWlzc2lvbnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyICYgUGVybWlzc2lvbk1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCkge31cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUVFLHdCQUFtQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFEcEQsbUJBQUksR0FBRyx3Q0FBd0MsQ0FBQztJQUVsRSxxQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGNBQWM7OztJQUN6QixvQkFBZ0U7O0lBQ3BELGlDQUFvRDs7QUFHbEU7SUFFRSwyQkFBbUIsT0FBa0Y7UUFBbEYsWUFBTyxHQUFQLE9BQU8sQ0FBMkU7SUFBRyxDQUFDO0lBRHpGLHNCQUFJLEdBQUcsMkNBQTJDLENBQUM7SUFFckUsd0JBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxpQkFBaUI7OztJQUM1Qix1QkFBbUU7O0lBQ3ZELG9DQUF5RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBHZXRQZXJtaXNzaW9ucyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tQZXJtaXNzaW9uTWFuYWdlbWVudF0gR2V0IFBlcm1pc3Npb25zJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcikge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVBlcm1pc3Npb25zIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBVcGRhdGUgUGVybWlzc2lvbnMnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyICYgUGVybWlzc2lvbk1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCkge31cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js index 21c59499f8..0bf0bb7d41 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js @@ -7,7 +7,7 @@ import { Component, EventEmitter, Input, Output, Renderer2, } from '@angular/cor import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; import { map, pluck, take } from 'rxjs/operators'; -import { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, } from '../actions/permission-management.actions'; +import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { PermissionManagementState } from '../states/permission-management.state'; var PermissionManagementComponent = /** @class */ (function () { function PermissionManagementComponent(store, renderer) { @@ -118,6 +118,8 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; + if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + return; setTimeout((/** * @return {?} */ @@ -221,6 +223,8 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { + if (permission.isGranted && permission.grantedProviders.length > 0) + return; /** @type {?} */ var index = _this.permissions.findIndex((/** * @param {?} per @@ -294,7 +298,7 @@ var PermissionManagementComponent = /** @class */ (function () { })); if (changedPermissions.length) { this.store - .dispatch(new PermissionManagementUpdatePermissions({ + .dispatch(new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, permissions: changedPermissions, @@ -322,7 +326,7 @@ var PermissionManagementComponent = /** @class */ (function () { throw new Error('Provider Key and Provider Name are required.'); } this.store - .dispatch(new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) + .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) .pipe(pluck('PermissionManagementState', 'permissionRes')) .subscribe((/** * @param {?} permissionRes @@ -332,15 +336,18 @@ var PermissionManagementComponent = /** @class */ (function () { _this.selectedGroup = permissionRes.groups[0]; _this.permissions = getPermissions(permissionRes.groups); _this.visible = true; - setTimeout((/** - * @return {?} - */ - function () { - _this.setTabCheckboxState(); - _this.setGrantCheckboxState(); - }), 0); })); }; + /** + * @return {?} + */ + PermissionManagementComponent.prototype.initModal = /** + * @return {?} + */ + function () { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + }; /** * @param {?} __0 * @return {?} @@ -363,7 +370,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -456,4 +463,4 @@ function getPermissions(groups) { */ function (acc, val) { return tslib_1.__spread(acc, val.permissions); }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxxQ0FBcUMsR0FDdEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUlsRjtJQWtFRSx1Q0FBb0IsS0FBWSxFQUFVLFFBQW1CO1FBQXpDLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBcEM3RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFVNUMsZ0JBQVcsR0FBc0MsRUFBRSxDQUFDO1FBRXBELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGNBQVM7Ozs7O1FBQWdELFVBQUMsQ0FBQyxFQUFFLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxJQUFJLEVBQVQsQ0FBUyxFQUFDO0lBb0JoQixDQUFDO0lBckRqRSxzQkFDSSxrREFBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZC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Z0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7O1lBQy9DLE1BQU0sR0FBRyxFQUFFO1FBQ2YsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztLQUM5RDtJQUVELE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7Ozs7O0FBRUQsU0FBUyxjQUFjLENBQUMsTUFBb0M7SUFDMUQsT0FBTyxNQUFNLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssd0JBQUksR0FBRyxFQUFLLEdBQUcsQ0FBQyxXQUFXLEdBQTNCLENBQTRCLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBQZXJtaXNzaW9uTWFuYWdlbWVudEdldFBlcm1pc3Npb25zLFxuICBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zLFxufSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgUGVybWlzc2lvbldpdGhNYXJnaW4gPSBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uICYgeyBtYXJnaW46IG51bWJlciB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwcm92aWRlck5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkR3JvdXApIHJldHVybjtcblxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKVxuICBncm91cHMkOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10+O1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRFbnRpdGl5RGlzcGxheU5hbWUpXG4gIGVudGl0eU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2VsZWN0ZWRHcm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXA7XG5cbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSA9IFtdO1xuXG4gIHNlbGVjdFRoaXNUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzZWxlY3RBbGxUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cD4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGdldCBzZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbldpdGhNYXJnaW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwcyQucGlwZShcbiAgICAgIG1hcChncm91cHMgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID8gZ3JvdXBzLmZpbmQoZ3JvdXAgPT4gZ3JvdXAubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwLm5hbWUpLnBlcm1pc3Npb25zIDogW10sXG4gICAgICApLFxuICAgICAgbWFwPFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgUGVybWlzc2lvbldpdGhNYXJnaW5bXT4ocGVybWlzc2lvbnMgPT5cbiAgICAgICAgcGVybWlzc2lvbnMubWFwKFxuICAgICAgICAgIHBlcm1pc3Npb24gPT5cbiAgICAgICAgICAgICgoe1xuICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBtYXJnaW46IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBlcm1pc3Npb24pLFxuICAgICAgICAgICAgICBpc0dyYW50ZWQ6IHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSkuaXNHcmFudGVkLFxuICAgICAgICAgICAgfSBhcyBhbnkpIGFzIFBlcm1pc3Npb25XaXRoTWFyZ2luKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldENoZWNrZWQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLnBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBuYW1lKSB8fCB7IGlzR3JhbnRlZDogZmFsc2UgfSkuaXNHcmFudGVkO1xuICB9XG5cbiAgb25DbGlja0NoZWNrYm94KGNsaWNrZWRQZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uLCB2YWx1ZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zKHtcbiAgICAgICAgICAgIHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBjaGFuZ2VkUGVybWlzc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3ZpZGVyS2V5IHx8ICF0aGlzLnByb3ZpZGVyTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlciBLZXkgYW5kIFByb3ZpZGVyIE5hbWUgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgbmV3IFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMoeyBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSwgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKHBsdWNrKCdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJywgJ3Blcm1pc3Npb25SZXMnKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25SZXM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IHBlcm1pc3Npb25SZXMuZ3JvdXBzWzBdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMocGVybWlzc2lvblJlcy5ncm91cHMpO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBa0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsVUFBQyxDQUFDLEVBQUUsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLElBQUksRUFBVCxDQUFTLEVBQUM7SUFvQmhCLENBQUM7SUFyRGpFLHNCQUNJLGtEQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FB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RSxVQUEyQzs7UUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBbEMsQ0FBa0MsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyx3QkFBSSxHQUFHLEVBQUssR0FBRyxDQUFDLFdBQVcsR0FBM0IsQ0FBNEIsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/states/permission-management.state.js b/npm/ng-packs/dist/permission-management/esm5/lib/states/permission-management.state.js index 4516ebb638..55b3c4638a 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/states/permission-management.state.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/states/permission-management.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions, } from '../actions/permission-management.actions'; +import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { PermissionManagementService } from '../services/permission-management.service'; import { tap } from 'rxjs/operators'; var PermissionManagementState = /** @class */ (function () { @@ -73,15 +73,15 @@ var PermissionManagementState = /** @class */ (function () { return this.permissionManagementService.updatePermissions(payload); }; tslib_1.__decorate([ - Action(PermissionManagementGetPermissions), + Action(GetPermissions), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, PermissionManagementGetPermissions]), + tslib_1.__metadata("design:paramtypes", [Object, GetPermissions]), tslib_1.__metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementGet", null); tslib_1.__decorate([ - Action(PermissionManagementUpdatePermissions), + Action(UpdatePermissions), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, PermissionManagementUpdatePermissions]), + tslib_1.__metadata("design:paramtypes", [Object, UpdatePermissions]), tslib_1.__metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementUpdate", null); tslib_1.__decorate([ @@ -113,4 +113,4 @@ if (false) { */ PermissionManagementState.prototype.permissionManagementService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxxQ0FBcUMsR0FDdEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0lBaUJuQyxtQ0FBb0IsMkJBQXdEO1FBQXhELGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7SUFBRyxDQUFDOzs7OztJQVR6RSw2Q0FBbUI7Ozs7SUFBMUIsVUFBMkIsRUFBNkM7WUFBM0MsZ0NBQWE7UUFDeEMsT0FBTyxhQUFhLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzs7OztJQUdNLCtDQUFxQjs7OztJQUE1QixVQUE2QixFQUE2QztZQUEzQyxnQ0FBYTtRQUMxQyxPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFLRCwyREFBdUI7Ozs7O0lBQXZCLFVBQ0UsRUFBd0QsRUFDeEQsRUFBK0M7WUFEN0MsMEJBQVU7WUFDVixvQkFBTztRQUVULE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2xFLEdBQUc7Ozs7UUFBQyxVQUFBLGtCQUFrQjtZQUNwQixPQUFBLFVBQVUsQ0FBQztnQkFDVCxhQUFhLEVBQUUsa0JBQWtCO2FBQ2xDLENBQUM7UUFGRixDQUVFLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsOERBQTBCOzs7OztJQUExQixVQUEyQixDQUFDLEVBQUUsRUFBa0Q7WUFBaEQsb0JBQU87UUFDckMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQWhCRDtRQURDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQzs7eURBRzVCLGtDQUFrQzs7NEVBU2hEO0lBR0Q7UUFEQyxNQUFNLENBQUMscUNBQXFDLENBQUM7O3lEQUNILHFDQUFxQzs7K0VBRS9FO0lBNUJEO1FBREMsUUFBUSxFQUFFOzs7OzhEQUdWO0lBR0Q7UUFEQyxRQUFRLEVBQUU7Ozs7Z0VBR1Y7SUFUVSx5QkFBeUI7UUFKckMsS0FBSyxDQUE2QjtZQUNqQyxJQUFJLEVBQUUsMkJBQTJCO1lBQ2pDLFFBQVEsRUFBRSxtQkFBQSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBOEI7U0FDOUQsQ0FBQztpREFZaUQsMkJBQTJCO09BWGpFLHlCQUF5QixDQStCckM7SUFBRCxnQ0FBQztDQUFBLElBQUE7U0EvQlkseUJBQXlCOzs7Ozs7SUFXeEIsZ0VBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50R2V0UGVybWlzc2lvbnMsXG4gIFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMsXG59IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFN0YXRlPFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPih7XG4gIG5hbWU6ICdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcGVybWlzc2lvblJlczoge30gfSBhcyBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRQZXJtaXNzaW9uR3JvdXBzKHsgcGVybWlzc2lvblJlcyB9OiBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSkge1xuICAgIHJldHVybiBwZXJtaXNzaW9uUmVzLmdyb3VwcyB8fCBbXTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRFbnRpdGl5RGlzcGxheU5hbWUoeyBwZXJtaXNzaW9uUmVzIH06IFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGVybWlzc2lvblJlcy5lbnRpdHlEaXNwbGF5TmFtZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlOiBQZXJtaXNzaW9uTWFuYWdlbWVudFNlcnZpY2UpIHt9XG5cbiAgQEFjdGlvbihQZXJtaXNzaW9uTWFuYWdlbWVudEdldFBlcm1pc3Npb25zKVxuICBwZXJtaXNzaW9uTWFuYWdlbWVudEdldChcbiAgICB7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPixcbiAgICB7IHBheWxvYWQgfTogUGVybWlzc2lvbk1hbmFnZW1lbnRHZXRQZXJtaXNzaW9ucyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLmdldFBlcm1pc3Npb25zKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocGVybWlzc2lvblJlc3BvbnNlID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHBlcm1pc3Npb25SZXM6IHBlcm1pc3Npb25SZXNwb25zZSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlUGVybWlzc2lvbnMpXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50VXBkYXRlKF8sIHsgcGF5bG9hZCB9OiBQZXJtaXNzaW9uTWFuYWdlbWVudFVwZGF0ZVBlcm1pc3Npb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLnVwZGF0ZVBlcm1pc3Npb25zKHBheWxvYWQpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7SUFpQm5DLG1DQUFvQiwyQkFBd0Q7UUFBeEQsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtJQUFHLENBQUM7Ozs7O0lBVHpFLDZDQUFtQjs7OztJQUExQixVQUEyQixFQUE2QztZQUEzQyxnQ0FBYTtRQUN4QyxPQUFPLGFBQWEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBR00sK0NBQXFCOzs7O0lBQTVCLFVBQTZCLEVBQTZDO1lBQTNDLGdDQUFhO1FBQzFDLE9BQU8sYUFBYSxDQUFDLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7Ozs7OztJQUtELDJEQUF1Qjs7Ozs7SUFBdkIsVUFBd0IsRUFBd0QsRUFBRSxFQUEyQjtZQUFuRiwwQkFBVTtZQUFnRCxvQkFBTztRQUN6RixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNsRSxHQUFHOzs7O1FBQUMsVUFBQSxrQkFBa0I7WUFDcEIsT0FBQSxVQUFVLENBQUM7Z0JBQ1QsYUFBYSxFQUFFLGtCQUFrQjthQUNsQyxDQUFDO1FBRkYsQ0FFRSxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELDhEQUEwQjs7Ozs7SUFBMUIsVUFBMkIsQ0FBQyxFQUFFLEVBQThCO1lBQTVCLG9CQUFPO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFiRDtRQURDLE1BQU0sQ0FBQyxjQUFjLENBQUM7O3lEQUN3RSxjQUFjOzs0RUFRNUc7SUFHRDtRQURDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQzs7eURBQ2lCLGlCQUFpQjs7K0VBRTNEO0lBekJEO1FBREMsUUFBUSxFQUFFOzs7OzhEQUdWO0lBR0Q7UUFEQyxRQUFRLEVBQUU7Ozs7Z0VBR1Y7SUFUVSx5QkFBeUI7UUFKckMsS0FBSyxDQUE2QjtZQUNqQyxJQUFJLEVBQUUsMkJBQTJCO1lBQ2pDLFFBQVEsRUFBRSxtQkFBQSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBOEI7U0FDOUQsQ0FBQztpREFZaUQsMkJBQTJCO09BWGpFLHlCQUF5QixDQTRCckM7SUFBRCxnQ0FBQztDQUFBLElBQUE7U0E1QlkseUJBQXlCOzs7Ozs7SUFXeEIsZ0VBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFN0YXRlPFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlPih7XG4gIG5hbWU6ICdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcGVybWlzc2lvblJlczoge30gfSBhcyBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRQZXJtaXNzaW9uR3JvdXBzKHsgcGVybWlzc2lvblJlcyB9OiBQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZSkge1xuICAgIHJldHVybiBwZXJtaXNzaW9uUmVzLmdyb3VwcyB8fCBbXTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRFbnRpdGl5RGlzcGxheU5hbWUoeyBwZXJtaXNzaW9uUmVzIH06IFBlcm1pc3Npb25NYW5hZ2VtZW50LlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGVybWlzc2lvblJlcy5lbnRpdHlEaXNwbGF5TmFtZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlOiBQZXJtaXNzaW9uTWFuYWdlbWVudFNlcnZpY2UpIHt9XG5cbiAgQEFjdGlvbihHZXRQZXJtaXNzaW9ucylcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRHZXQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxQZXJtaXNzaW9uTWFuYWdlbWVudC5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRQZXJtaXNzaW9ucykge1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZS5nZXRQZXJtaXNzaW9ucyhwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHBlcm1pc3Npb25SZXNwb25zZSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBwZXJtaXNzaW9uUmVzOiBwZXJtaXNzaW9uUmVzcG9uc2UsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVQZXJtaXNzaW9ucylcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRVcGRhdGUoXywgeyBwYXlsb2FkIH06IFVwZGF0ZVBlcm1pc3Npb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbk1hbmFnZW1lbnRTZXJ2aWNlLnVwZGF0ZVBlcm1pc3Npb25zKHBheWxvYWQpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/public-api.js b/npm/ng-packs/dist/permission-management/esm5/public-api.js index e2c955262e..9d041be370 100644 --- a/npm/ng-packs/dist/permission-management/esm5/public-api.js +++ b/npm/ng-packs/dist/permission-management/esm5/public-api.js @@ -6,9 +6,9 @@ * Public API Surface of permission-management */ export { PermissionManagementModule } from './lib/permission-management.module'; -export { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions } from './lib/actions'; +export { GetPermissions, UpdatePermissions } from './lib/actions'; export { PermissionManagementComponent } from './lib/components'; export {} from './lib/models'; export { PermissionManagementService } from './lib/services'; export { PermissionManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsMEZBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js index 33e058281c..92631dd363 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js @@ -11,7 +11,7 @@ import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class PermissionManagementGetPermissions { +class GetPermissions { /** * @param {?} payload */ @@ -19,8 +19,8 @@ class PermissionManagementGetPermissions { this.payload = payload; } } -PermissionManagementGetPermissions.type = '[PermissionManagement] Get Permissions'; -class PermissionManagementUpdatePermissions { +GetPermissions.type = '[PermissionManagement] Get Permissions'; +class UpdatePermissions { /** * @param {?} payload */ @@ -28,7 +28,7 @@ class PermissionManagementUpdatePermissions { this.payload = payload; } } -PermissionManagementUpdatePermissions.type = '[PermissionManagement] Update Permissions'; +UpdatePermissions.type = '[PermissionManagement] Update Permissions'; /** * @fileoverview added by tsickle @@ -129,15 +129,15 @@ let PermissionManagementState = class PermissionManagementState { } }; __decorate([ - Action(PermissionManagementGetPermissions), + Action(GetPermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementGetPermissions]), + __metadata("design:paramtypes", [Object, GetPermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementGet", null); __decorate([ - Action(PermissionManagementUpdatePermissions), + Action(UpdatePermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementUpdatePermissions]), + __metadata("design:paramtypes", [Object, UpdatePermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementUpdate", null); __decorate([ @@ -249,6 +249,8 @@ class PermissionManagementComponent { * @return {?} */ onClickCheckbox(clickedPermission, value) { + if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + return; setTimeout((/** * @return {?} */ @@ -341,6 +343,8 @@ class PermissionManagementComponent { * @return {?} */ permission => { + if (permission.isGranted && permission.grantedProviders.length > 0) + return; /** @type {?} */ const index = this.permissions.findIndex((/** * @param {?} per @@ -399,7 +403,7 @@ class PermissionManagementComponent { ({ name, isGranted }) => ({ name, isGranted }))); if (changedPermissions.length) { this.store - .dispatch(new PermissionManagementUpdatePermissions({ + .dispatch(new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, permissions: changedPermissions, @@ -423,7 +427,7 @@ class PermissionManagementComponent { throw new Error('Provider Key and Provider Name are required.'); } this.store - .dispatch(new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) + .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) .pipe(pluck('PermissionManagementState', 'permissionRes')) .subscribe((/** * @param {?} permissionRes @@ -433,15 +437,15 @@ class PermissionManagementComponent { this.selectedGroup = permissionRes.groups[0]; this.permissions = getPermissions(permissionRes.groups); this.visible = true; - setTimeout((/** - * @return {?} - */ - () => { - this.setTabCheckboxState(); - this.setGrantCheckboxState(); - }), 0); })); } + /** + * @return {?} + */ + initModal() { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + } /** * @param {?} __0 * @return {?} @@ -460,7 +464,7 @@ class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -571,5 +575,5 @@ var PermissionManagement; PermissionManagement.UpdateRequest = UpdateRequest; })(PermissionManagement || (PermissionManagement = {})); -export { PermissionManagementComponent, PermissionManagementGetPermissions, PermissionManagementModule, PermissionManagementService, PermissionManagementState, PermissionManagementUpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, PermissionManagementGetPermissions as ɵd, PermissionManagementUpdatePermissions as ɵe }; +export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map index 70f233b079..6a0c34e311 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class PermissionManagementGetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class PermissionManagementUpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(PermissionManagementGetPermissions)\n permissionManagementGet(\n { patchState }: StateContext,\n { payload }: PermissionManagementGetPermissions,\n ) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(PermissionManagementUpdatePermissions)\n permissionManagementUpdate(_, { payload }: PermissionManagementUpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new PermissionManagementUpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(\n new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName }),\n )\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n\n setTimeout(() => {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n });\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;AAEA,MAAa,kCAAkC;;;;IAE7C,YAAmB,OAA6C;QAA7C,YAAO,GAAP,OAAO,CAAsC;KAAI;;AADpD,uCAAI,GAAG,wCAAwC,CAAC;MAIrD,qCAAqC;;;;IAEhD,YAAmB,OAAkF;QAAlF,YAAO,GAAP,OAAO,CAA2E;KAAI;;AADzF,0CAAI,GAAG,2CAA2C,CAAC;;;;;;ACRrE,MAQa,2BAA2B;;;;IACtC,YAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,cAAc,CAAC,MAA4C;;cACnD,OAAO,GAAuD;YAClE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,sBAAsB;YAC3B,MAAM;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsE,OAAO,CAAC,CAAC;KACxG;;;;;IAED,iBAAiB,CAAC,EAChB,WAAW,EACX,WAAW,EACX,YAAY,GAC8D;;cACpE,OAAO,GAAqD;YAChE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,sBAAsB;YAC3B,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;SACtC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2C,OAAO,CAAC,CAAC;KAC7E;;;YA7BF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YANQ,WAAW;;;;;;;;ICYP,yBAAyB,SAAzB,yBAAyB;;;;IAWpC,YAAoB,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;KAAI;;;;;IAThF,OAAO,mBAAmB,CAAC,EAAE,aAAa,EAA8B;QACtE,OAAO,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;KACnC;;;;;IAGD,OAAO,qBAAqB,CAAC,EAAE,aAAa,EAA8B;QACxE,OAAO,aAAa,CAAC,iBAAiB,CAAC;KACxC;;;;;;IAKD,uBAAuB,CACrB,EAAE,UAAU,EAA4C,EACxD,EAAE,OAAO,EAAsC;QAE/C,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAClE,GAAG;;;;QAAC,kBAAkB,IACpB,UAAU,CAAC;YACT,aAAa,EAAE,kBAAkB;SAClC,CAAC,EACH,CACF,CAAC;KACH;;;;;;IAGD,0BAA0B,CAAC,CAAC,EAAE,EAAE,OAAO,EAAyC;QAC9E,OAAO,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACpE;CACF,CAAA;AAjBCA;IADC,MAAM,CAAC,kCAAkC,CAAC;;6CAG5B,kCAAkC;;wEAShD;AAGDA;IADC,MAAM,CAAC,qCAAqC,CAAC;;6CACH,qCAAqC;;2EAE/E;AA5BDA;IADC,QAAQ,EAAE;;;;0DAGV;AAGDA;IADC,QAAQ,EAAE;;;;4DAGV;AATU,yBAAyB;IAJrC,KAAK,CAA6B;QACjC,IAAI,EAAE,2BAA2B;QACjC,QAAQ,qBAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAA8B;KAC9D,CAAC;qCAYiD,2BAA2B;GAXjE,yBAAyB,CA+BrC;;;;;;MCjBY,6BAA6B;;;;;IA8DxC,YAAoB,KAAY,EAAU,QAAmB;QAAzC,UAAK,GAAL,KAAK,CAAO;QAAU,aAAQ,GAAR,QAAQ,CAAW;QApC7D,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAU5C,gBAAW,GAAsC,EAAE,CAAC;QAEpD,kBAAa,GAAY,KAAK,CAAC;QAE/B,iBAAY,GAAY,KAAK,CAAC;QAE9B,cAAS;;;;;QAAgD,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAC;KAoBf;;;;IArDjE,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;;;;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;KACF;;;;IAqBD,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,GAAG;;;;QAAC,MAAM,IACR,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;;;;QAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAC,CAAC,WAAW,GAAG,EAAE,EACnG,EACD,GAAG;;;;QAA4D,WAAW,IACxE,WAAW,CAAC,GAAG;;;;QACb,UAAU,8DAEH,UAAU,IACb,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;;;;YAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAC,CAAC,SAAS,SAC/C,EACrC,EACF,CACF,CAAC;KACH;;;;IAID,QAAQ,MAAW;;;;;IAEnB,UAAU,CAAC,IAAY;QACrB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;;;;QAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;KAC5F;;;;;;IAED,eAAe,CAAC,iBAAkD,EAAE,KAAK;QACvE,UAAU;;;QAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;;;;YAAC,GAAG;gBACzC,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE;oBACvC,yBAAY,GAAG,IAAE,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAG;iBAC9C;qBAAM,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,IAAI,iBAAiB,CAAC,SAAS,EAAE;oBACnF,yBAAY,GAAG,IAAE,SAAS,EAAE,KAAK,IAAG;iBACrC;qBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;oBACpF,yBAAY,GAAG,IAAE,SAAS,EAAE,IAAI,IAAG;iBACpC;gBAED,OAAO,GAAG,CAAC;aACZ,EAAC,CAAC;YAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B,GAAE,CAAC,CAAC,CAAC;KACP;;;;IAED,mBAAmB;QACjB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;QAAC,WAAW;;kBAC1D,mBAAmB,GAAG,WAAW,CAAC,MAAM;;;;YAAC,GAAG,IAAI,GAAG,CAAC,SAAS,EAAC;;kBAC9D,OAAO,sBAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAO;YAEzE,IAAI,mBAAmB,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;gBACrD,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3C,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACL,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9B;SACF,EAAC,CAAC;KACJ;;;;IAED,qBAAqB;;cACb,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;;;;QAAC,GAAG,IAAI,GAAG,CAAC,SAAS,EAAC;;cACtE,eAAe,sBAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAO;QAEhF,IAAI,sBAAsB,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC7D,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aAAM;YACL,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;SACtC;KACF;;;;IAED,oBAAoB;QAClB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;QAAC,WAAW;YAChE,WAAW,CAAC,OAAO;;;;YAAC,UAAU;;sBACtB,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;;;;gBAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAC;gBAE7E,IAAI,CAAC,WAAW,GAAG;oBACjB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;sCAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAE,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa;oBAC5D,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;iBACrC,CAAC;aACH,EAAC,CAAC;SACJ,EAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;;;;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;;;;QAAC,UAAU,uBAAU,UAAU,IAAE,SAAS,EAAE,CAAC,IAAI,CAAC,YAAY,IAAG,EAAC,CAAC;QAE1G,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;KACzC;;;;;IAED,aAAa,CAAC,KAAiC;QAC7C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;;;;IAED,QAAQ;;cACA,oBAAoB,GAAG,cAAc,CACzC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CACzE;;cAEK,kBAAkB,GAA6C,IAAI,CAAC,WAAW;aAClF,MAAM;;;;QAAC,GAAG,IACT,oBAAoB,CAAC,IAAI;;;;QAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAC,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI,EAC/G;aACA,GAAG;;;;QAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAC;QAEtD,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAI,qCAAqC,CAAC;gBACxC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,kBAAkB;aAChC,CAAC,CACH;iBACA,SAAS;;;YAAC;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,kCAAkC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAC3G;aACA,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;aACzD,SAAS;;;;QAAC,CAAC,aAA4C;YACtD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,UAAU;;;YAAC;gBACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B,GAAE,CAAC,CAAC,CAAC;SACP,EAAC,CAAC;KACN;;;;;IAED,WAAW,CAAC,EAAE,OAAO,EAAiB;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;YAnNF,SAAS,SAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,0sHAAqD;aACtD;;;;YAfgB,KAAK;YAJpB,SAAS;;;2BAqBR,KAAK;0BAGL,KAAK;sBAKL,KAAK;4BAgBL,MAAM;;AAIPA;IADC,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;8BAC7C,UAAU;8DAA+B;AAGlDA;IADC,MAAM,CAAC,yBAAyB,CAAC,qBAAqB,CAAC;8BAC3C,UAAU;kEAAS;;;;;;AAkLlC,SAAS,UAAU,CAAC,WAA8C,EAAE,UAA2C;;UACvG,gBAAgB,GAAG,WAAW,CAAC,IAAI;;;;IAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAC;IAEpF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,EAAE;;YAC/C,MAAM,GAAG,EAAE;QACf,QAAQ,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;KAC9D;IAED,OAAO,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC;CAClC;;;;;AAED,SAAS,cAAc,CAAC,MAAoC;IAC1D,OAAO,MAAM,CAAC,MAAM;;;;;IAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAE,EAAE,CAAC,CAAC;CACtE;;;;;;AC1PD,MAaa,0BAA0B;;;YALtC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,OAAO,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,sBAAsB,CAAC;gBACpH,OAAO,EAAE,CAAC,6BAA6B,CAAC;aACzC;;;;;;;ACZD,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;;;;IACnC,oBAEC;;;;;IAED,uBAGC;;;;;IAED,oBAIC;;;;;IAED,gCAGC;;;;;IAED,yBAKC;;;;;IAED,8BAGC;;;;;IAED,4BAEC;;AACH,CAAC,EApCgB,oBAAoB,KAApB,oBAAoB,QAoCpC;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;AAEA,MAAa,cAAc;;;;IAEzB,YAAmB,OAA6C;QAA7C,YAAO,GAAP,OAAO,CAAsC;KAAI;;AADpD,mBAAI,GAAG,wCAAwC,CAAC;MAIrD,iBAAiB;;;;IAE5B,YAAmB,OAAkF;QAAlF,YAAO,GAAP,OAAO,CAA2E;KAAI;;AADzF,sBAAI,GAAG,2CAA2C,CAAC;;;;;;ACRrE,MAQa,2BAA2B;;;;IACtC,YAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,cAAc,CAAC,MAA4C;;cACnD,OAAO,GAAuD;YAClE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,sBAAsB;YAC3B,MAAM;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsE,OAAO,CAAC,CAAC;KACxG;;;;;IAED,iBAAiB,CAAC,EAChB,WAAW,EACX,WAAW,EACX,YAAY,GAC8D;;cACpE,OAAO,GAAqD;YAChE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,sBAAsB;YAC3B,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;SACtC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2C,OAAO,CAAC,CAAC;KAC7E;;;YA7BF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YANQ,WAAW;;;;;;;;ICSP,yBAAyB,SAAzB,yBAAyB;;;;IAWpC,YAAoB,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;KAAI;;;;;IAThF,OAAO,mBAAmB,CAAC,EAAE,aAAa,EAA8B;QACtE,OAAO,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;KACnC;;;;;IAGD,OAAO,qBAAqB,CAAC,EAAE,aAAa,EAA8B;QACxE,OAAO,aAAa,CAAC,iBAAiB,CAAC;KACxC;;;;;;IAKD,uBAAuB,CAAC,EAAE,UAAU,EAA4C,EAAE,EAAE,OAAO,EAAkB;QAC3G,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAClE,GAAG;;;;QAAC,kBAAkB,IACpB,UAAU,CAAC;YACT,aAAa,EAAE,kBAAkB;SAClC,CAAC,EACH,CACF,CAAC;KACH;;;;;;IAGD,0BAA0B,CAAC,CAAC,EAAE,EAAE,OAAO,EAAqB;QAC1D,OAAO,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACpE;CACF,CAAA;AAdCA;IADC,MAAM,CAAC,cAAc,CAAC;;6CACwE,cAAc;;wEAQ5G;AAGDA;IADC,MAAM,CAAC,iBAAiB,CAAC;;6CACiB,iBAAiB;;2EAE3D;AAzBDA;IADC,QAAQ,EAAE;;;;0DAGV;AAGDA;IADC,QAAQ,EAAE;;;;4DAGV;AATU,yBAAyB;IAJrC,KAAK,CAA6B;QACjC,IAAI,EAAE,2BAA2B;QACjC,QAAQ,qBAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAA8B;KAC9D,CAAC;qCAYiD,2BAA2B;GAXjE,yBAAyB,CA4BrC;;;;;;MCdY,6BAA6B;;;;;IA8DxC,YAAoB,KAAY,EAAU,QAAmB;QAAzC,UAAK,GAAL,KAAK,CAAO;QAAU,aAAQ,GAAR,QAAQ,CAAW;QApC7D,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAU5C,gBAAW,GAAsC,EAAE,CAAC;QAEpD,kBAAa,GAAY,KAAK,CAAC;QAE/B,iBAAY,GAAY,KAAK,CAAC;QAE9B,cAAS;;;;;QAAgD,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAC;KAoBf;;;;IArDjE,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;;;;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;KACF;;;;IAqBD,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,GAAG;;;;QAAC,MAAM,IACR,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;;;;QAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAC,CAAC,WAAW,GAAG,EAAE,EACnG,EACD,GAAG;;;;QAA4D,WAAW,IACxE,WAAW,CAAC,GAAG;;;;QACb,UAAU,8DAEH,UAAU,IACb,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;;;;YAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAC,CAAC,SAAS,SAC/C,EACrC,EACF,CACF,CAAC;KACH;;;;IAID,QAAQ,MAAW;;;;;IAEnB,UAAU,CAAC,IAAY;QACrB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;;;;QAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;KAC5F;;;;;;IAED,eAAe,CAAC,iBAAkD,EAAE,KAAK;QACvE,IAAI,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEzF,UAAU;;;QAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;;;;YAAC,GAAG;gBACzC,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE;oBACvC,yBAAY,GAAG,IAAE,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAG;iBAC9C;qBAAM,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,IAAI,iBAAiB,CAAC,SAAS,EAAE;oBACnF,yBAAY,GAAG,IAAE,SAAS,EAAE,KAAK,IAAG;iBACrC;qBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;oBACpF,yBAAY,GAAG,IAAE,SAAS,EAAE,IAAI,IAAG;iBACpC;gBAED,OAAO,GAAG,CAAC;aACZ,EAAC,CAAC;YAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B,GAAE,CAAC,CAAC,CAAC;KACP;;;;IAED,mBAAmB;QACjB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;QAAC,WAAW;;kBAC1D,mBAAmB,GAAG,WAAW,CAAC,MAAM;;;;YAAC,GAAG,IAAI,GAAG,CAAC,SAAS,EAAC;;kBAC9D,OAAO,sBAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAO;YAEzE,IAAI,mBAAmB,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;gBACrD,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3C,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACL,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9B;SACF,EAAC,CAAC;KACJ;;;;IAED,qBAAqB;;cACb,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;;;;QAAC,GAAG,IAAI,GAAG,CAAC,SAAS,EAAC;;cACtE,eAAe,sBAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAO;QAEhF,IAAI,sBAAsB,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC7D,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aAAM;YACL,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;SACtC;KACF;;;;IAED,oBAAoB;QAClB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;QAAC,WAAW;YAChE,WAAW,CAAC,OAAO;;;;YAAC,UAAU;gBAC5B,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO;;sBAErE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;;;;gBAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAC;gBAE7E,IAAI,CAAC,WAAW,GAAG;oBACjB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;sCAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAE,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa;oBAC5D,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;iBACrC,CAAC;aACH,EAAC,CAAC;SACJ,EAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;;;;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;;;;QAAC,UAAU,uBAAU,UAAU,IAAE,SAAS,EAAE,CAAC,IAAI,CAAC,YAAY,IAAG,EAAC,CAAC;QAE1G,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;KACzC;;;;;IAED,aAAa,CAAC,KAAiC;QAC7C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;;;;IAED,QAAQ;;cACA,oBAAoB,GAAG,cAAc,CACzC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CACzE;;cAEK,kBAAkB,GAA6C,IAAI,CAAC,WAAW;aAClF,MAAM;;;;QAAC,GAAG,IACT,oBAAoB,CAAC,IAAI;;;;QAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAC,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI,EAC/G;aACA,GAAG;;;;QAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAC;QAEtD,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAI,iBAAiB,CAAC;gBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,kBAAkB;aAChC,CAAC,CACH;iBACA,SAAS;;;YAAC;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;aAChG,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;aACzD,SAAS;;;;QAAC,CAAC,aAA4C;YACtD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB,EAAC,CAAC;KACN;;;;IAED,SAAS;QACP,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;;;;;IAED,WAAW,CAAC,EAAE,OAAO,EAAiB;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;;YArNF,SAAS,SAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,+mIAAqD;aACtD;;;;YAZgB,KAAK;YAJpB,SAAS;;;2BAkBR,KAAK;0BAGL,KAAK;sBAKL,KAAK;4BAgBL,MAAM;;AAIPA;IADC,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;8BAC7C,UAAU;8DAA+B;AAGlDA;IADC,MAAM,CAAC,yBAAyB,CAAC,qBAAqB,CAAC;8BAC3C,UAAU;kEAAS;;;;;;AAoLlC,SAAS,UAAU,CAAC,WAA8C,EAAE,UAA2C;;UACvG,gBAAgB,GAAG,WAAW,CAAC,IAAI;;;;IAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAC;IAEpF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,EAAE;;YAC/C,MAAM,GAAG,EAAE;QACf,QAAQ,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;KAC9D;IAED,OAAO,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC;CAClC;;;;;AAED,SAAS,cAAc,CAAC,MAAoC;IAC1D,OAAO,MAAM,CAAC,MAAM;;;;;IAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAE,EAAE,CAAC,CAAC;CACtE;;;;;;ACzPD,MAaa,0BAA0B;;;YALtC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,OAAO,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,sBAAsB,CAAC;gBACpH,OAAO,EAAE,CAAC,6BAA6B,CAAC;aACzC;;;;;;;ACZD,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;;;;IACnC,oBAEC;;;;;IAED,uBAGC;;;;;IAED,oBAIC;;;;;IAED,gCAGC;;;;;IAED,yBAKC;;;;;IAED,8BAGC;;;;;IAED,4BAEC;;AACH,CAAC,EApCgB,oBAAoB,KAApB,oBAAoB,QAoCpC;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js index 699234c3c8..e6d55b478b 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js @@ -11,19 +11,19 @@ import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var PermissionManagementGetPermissions = /** @class */ (function () { - function PermissionManagementGetPermissions(payload) { +var GetPermissions = /** @class */ (function () { + function GetPermissions(payload) { this.payload = payload; } - PermissionManagementGetPermissions.type = '[PermissionManagement] Get Permissions'; - return PermissionManagementGetPermissions; + GetPermissions.type = '[PermissionManagement] Get Permissions'; + return GetPermissions; }()); -var PermissionManagementUpdatePermissions = /** @class */ (function () { - function PermissionManagementUpdatePermissions(payload) { +var UpdatePermissions = /** @class */ (function () { + function UpdatePermissions(payload) { this.payload = payload; } - PermissionManagementUpdatePermissions.type = '[PermissionManagement] Update Permissions'; - return PermissionManagementUpdatePermissions; + UpdatePermissions.type = '[PermissionManagement] Update Permissions'; + return UpdatePermissions; }()); /** @@ -153,15 +153,15 @@ var PermissionManagementState = /** @class */ (function () { return this.permissionManagementService.updatePermissions(payload); }; __decorate([ - Action(PermissionManagementGetPermissions), + Action(GetPermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementGetPermissions]), + __metadata("design:paramtypes", [Object, GetPermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementGet", null); __decorate([ - Action(PermissionManagementUpdatePermissions), + Action(UpdatePermissions), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, PermissionManagementUpdatePermissions]), + __metadata("design:paramtypes", [Object, UpdatePermissions]), __metadata("design:returntype", void 0) ], PermissionManagementState.prototype, "permissionManagementUpdate", null); __decorate([ @@ -299,6 +299,8 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; + if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + return; setTimeout((/** * @return {?} */ @@ -402,6 +404,8 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { + if (permission.isGranted && permission.grantedProviders.length > 0) + return; /** @type {?} */ var index = _this.permissions.findIndex((/** * @param {?} per @@ -475,7 +479,7 @@ var PermissionManagementComponent = /** @class */ (function () { })); if (changedPermissions.length) { this.store - .dispatch(new PermissionManagementUpdatePermissions({ + .dispatch(new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, permissions: changedPermissions, @@ -503,7 +507,7 @@ var PermissionManagementComponent = /** @class */ (function () { throw new Error('Provider Key and Provider Name are required.'); } this.store - .dispatch(new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) + .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName })) .pipe(pluck('PermissionManagementState', 'permissionRes')) .subscribe((/** * @param {?} permissionRes @@ -513,15 +517,18 @@ var PermissionManagementComponent = /** @class */ (function () { _this.selectedGroup = permissionRes.groups[0]; _this.permissions = getPermissions(permissionRes.groups); _this.visible = true; - setTimeout((/** - * @return {?} - */ - function () { - _this.setTabCheckboxState(); - _this.setGrantCheckboxState(); - }), 0); })); }; + /** + * @return {?} + */ + PermissionManagementComponent.prototype.initModal = /** + * @return {?} + */ + function () { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + }; /** * @param {?} __0 * @return {?} @@ -544,7 +551,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -660,5 +667,5 @@ var PermissionManagement; PermissionManagement.UpdateRequest = UpdateRequest; })(PermissionManagement || (PermissionManagement = {})); -export { PermissionManagementComponent, PermissionManagementGetPermissions, PermissionManagementModule, PermissionManagementService, PermissionManagementState, PermissionManagementUpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, PermissionManagementGetPermissions as ɵd, PermissionManagementUpdatePermissions as ɵe }; +export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map index bdcfe039b3..49c69bc593 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class PermissionManagementGetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class PermissionManagementUpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(PermissionManagementGetPermissions)\n permissionManagementGet(\n { patchState }: StateContext,\n { payload }: PermissionManagementGetPermissions,\n ) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(PermissionManagementUpdatePermissions)\n permissionManagementUpdate(_, { payload }: PermissionManagementUpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport {\n PermissionManagementGetPermissions,\n PermissionManagementUpdatePermissions,\n} from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new PermissionManagementUpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(\n new PermissionManagementGetPermissions({ providerKey: this.providerKey, providerName: this.providerName }),\n )\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n\n setTimeout(() => {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n });\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/lib/actions/permission-management.actions.d.ts b/npm/ng-packs/dist/permission-management/lib/actions/permission-management.actions.d.ts index 923c31177e..602e5f1b17 100644 --- a/npm/ng-packs/dist/permission-management/lib/actions/permission-management.actions.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/actions/permission-management.actions.d.ts @@ -1,10 +1,10 @@ import { PermissionManagement } from '../models/permission-management'; -export declare class PermissionManagementGetPermissions { +export declare class GetPermissions { payload: PermissionManagement.GrantedProvider; static readonly type = "[PermissionManagement] Get Permissions"; constructor(payload: PermissionManagement.GrantedProvider); } -export declare class PermissionManagementUpdatePermissions { +export declare class UpdatePermissions { payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest; static readonly type = "[PermissionManagement] Update Permissions"; constructor(payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest); diff --git a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts index 14476d62b8..e444eb9871 100644 --- a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts @@ -32,6 +32,7 @@ export declare class PermissionManagementComponent implements OnInit, OnChanges onChangeGroup(group: PermissionManagement.Group): void; onSubmit(): void; openModal(): void; + initModal(): void; ngOnChanges({ visible }: SimpleChanges): void; } export {}; diff --git a/npm/ng-packs/dist/permission-management/lib/states/permission-management.state.d.ts b/npm/ng-packs/dist/permission-management/lib/states/permission-management.state.d.ts index c0dafe9862..d7d900d4b8 100644 --- a/npm/ng-packs/dist/permission-management/lib/states/permission-management.state.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/states/permission-management.state.d.ts @@ -1,5 +1,5 @@ import { StateContext } from '@ngxs/store'; -import { PermissionManagementGetPermissions, PermissionManagementUpdatePermissions } from '../actions/permission-management.actions'; +import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { PermissionManagement } from '../models/permission-management'; import { PermissionManagementService } from '../services/permission-management.service'; export declare class PermissionManagementState { @@ -7,6 +7,6 @@ export declare class PermissionManagementState { static getPermissionGroups({ permissionRes }: PermissionManagement.State): PermissionManagement.Group[]; static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string; constructor(permissionManagementService: PermissionManagementService); - permissionManagementGet({ patchState }: StateContext, { payload }: PermissionManagementGetPermissions): import("rxjs").Observable; - permissionManagementUpdate(_: any, { payload }: PermissionManagementUpdatePermissions): import("rxjs").Observable; + permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions): import("rxjs").Observable; + permissionManagementUpdate(_: any, { payload }: UpdatePermissions): import("rxjs").Observable; } diff --git a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.d.ts b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.d.ts index acadb721da..4a58397d8e 100644 --- a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.d.ts +++ b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.d.ts @@ -2,7 +2,7 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { TenantManagementAdd as ɵf, TenantManagementDelete as ɵh, TenantManagementGet as ɵd, TenantManagementGetById as ɵe, TenantManagementUpdate as ɵg } from './lib/actions/tenant-management.actions'; +export { CreateTenant as ɵf, DeleteTenant as ɵh, GetTenantById as ɵe, GetTenants as ɵd, UpdateTenant as ɵg } from './lib/actions/tenant-management.actions'; export { TenantsComponent as ɵa } from './lib/components/tenants/tenants.component'; export { TenantManagement as ɵi } from './lib/models/tenant-management'; export { TenantsResolver as ɵk } from './lib/resolvers/tenants.resolver'; diff --git a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json index 57a12318c2..6b888208cc 100644 --- a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json +++ b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n"}]}],"members":{"datas$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":27,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"featuresModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":58,"character":3},"arguments":["featuresModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":62,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":64,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":65,"character":19}]}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onManageFeatures":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":25,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":36,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":47,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"get":[{"__symbolic":"method"}],"getById":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[TenantManagement] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Add"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":69,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":71,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":72,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js index 362105d12e..028b8bf454 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js @@ -45,39 +45,40 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var TenantManagementGet = /** @class */ (function () { - function TenantManagementGet() { + var GetTenants = /** @class */ (function () { + function GetTenants(payload) { + this.payload = payload; } - TenantManagementGet.type = '[TenantManagement] Get'; - return TenantManagementGet; + GetTenants.type = '[TenantManagement] Get Tenant'; + return GetTenants; }()); - var TenantManagementGetById = /** @class */ (function () { - function TenantManagementGetById(payload) { + var GetTenantById = /** @class */ (function () { + function GetTenantById(payload) { this.payload = payload; } - TenantManagementGetById.type = '[TenantManagement] Get By Id'; - return TenantManagementGetById; + GetTenantById.type = '[TenantManagement] Get Tenant By Id'; + return GetTenantById; }()); - var TenantManagementAdd = /** @class */ (function () { - function TenantManagementAdd(payload) { + var CreateTenant = /** @class */ (function () { + function CreateTenant(payload) { this.payload = payload; } - TenantManagementAdd.type = '[TenantManagement] Add'; - return TenantManagementAdd; + CreateTenant.type = '[TenantManagement] Create Tenant'; + return CreateTenant; }()); - var TenantManagementUpdate = /** @class */ (function () { - function TenantManagementUpdate(payload) { + var UpdateTenant = /** @class */ (function () { + function UpdateTenant(payload) { this.payload = payload; } - TenantManagementUpdate.type = '[TenantManagement] Update'; - return TenantManagementUpdate; + UpdateTenant.type = '[TenantManagement] Update Tenant'; + return UpdateTenant; }()); - var TenantManagementDelete = /** @class */ (function () { - function TenantManagementDelete(payload) { + var DeleteTenant = /** @class */ (function () { + function DeleteTenant(payload) { this.payload = payload; } - TenantManagementDelete.type = '[TenantManagement] Delete'; - return TenantManagementDelete; + DeleteTenant.type = '[TenantManagement] Delete Tenant'; + return DeleteTenant; }()); /** @@ -89,16 +90,20 @@ this.rest = rest; } /** + * @param {?=} params * @return {?} */ - TenantManagementService.prototype.get = /** + TenantManagementService.prototype.getTenant = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/multi-tenancy/tenants', + params: params, }; return this.rest.request(request); }; @@ -106,7 +111,7 @@ * @param {?} id * @return {?} */ - TenantManagementService.prototype.getById = /** + TenantManagementService.prototype.getTenantById = /** * @param {?} id * @return {?} */ @@ -122,7 +127,7 @@ * @param {?} id * @return {?} */ - TenantManagementService.prototype.delete = /** + TenantManagementService.prototype.deleteTenant = /** * @param {?} id * @return {?} */ @@ -138,7 +143,7 @@ * @param {?} body * @return {?} */ - TenantManagementService.prototype.add = /** + TenantManagementService.prototype.createTenant = /** * @param {?} body * @return {?} */ @@ -155,7 +160,7 @@ * @param {?} body * @return {?} */ - TenantManagementService.prototype.update = /** + TenantManagementService.prototype.updateTenant = /** * @param {?} body * @return {?} */ @@ -181,7 +186,7 @@ */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'GET', @@ -200,7 +205,7 @@ */ function (payload) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + payload.id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + payload.id + "/default-connection-string"; /** @type {?} */ var request = { method: 'PUT', @@ -219,7 +224,7 @@ */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -264,13 +269,28 @@ * @param {?} __0 * @return {?} */ - TenantManagementState.prototype.get = /** + TenantManagementState.getTenantsTotalCount = /** * @param {?} __0 * @return {?} */ function (_a) { + var result = _a.result; + return result.totalCount; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + TenantManagementState.prototype.get = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { var patchState = _a.patchState; - return this.tenantManagementService.get().pipe(operators.tap((/** + var payload = _b.payload; + return this.tenantManagementService.getTenant(payload).pipe(operators.tap((/** * @param {?} result * @return {?} */ @@ -293,7 +313,7 @@ function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; - return this.tenantManagementService.getById(payload).pipe(operators.tap((/** + return this.tenantManagementService.getTenantById(payload).pipe(operators.tap((/** * @param {?} selectedItem * @return {?} */ @@ -316,10 +336,10 @@ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.delete(payload).pipe(operators.switchMap((/** + return this.tenantManagementService.deleteTenant(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -334,10 +354,10 @@ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.add(payload).pipe(operators.switchMap((/** + return this.tenantManagementService.createTenant(payload).pipe(operators.switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -353,42 +373,42 @@ var _this = this; var dispatch = _a.dispatch, getState = _a.getState; var payload = _b.payload; - return dispatch(new TenantManagementGetById(payload.id)).pipe(operators.switchMap((/** + return dispatch(new GetTenantById(payload.id)).pipe(operators.switchMap((/** * @return {?} */ - function () { return _this.tenantManagementService.update(__assign({}, getState().selectedItem, payload)); })), operators.switchMap((/** + function () { return _this.tenantManagementService.updateTenant(__assign({}, getState().selectedItem, payload)); })), operators.switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; __decorate([ - store.Action(TenantManagementGet), + store.Action(GetTenants), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetTenants]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "get", null); __decorate([ - store.Action(TenantManagementGetById), + store.Action(GetTenantById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementGetById]), + __metadata("design:paramtypes", [Object, GetTenantById]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "getById", null); __decorate([ - store.Action(TenantManagementDelete), + store.Action(DeleteTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementDelete]), + __metadata("design:paramtypes", [Object, DeleteTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "delete", null); __decorate([ - store.Action(TenantManagementAdd), + store.Action(CreateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementAdd]), + __metadata("design:paramtypes", [Object, CreateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "add", null); __decorate([ - store.Action(TenantManagementUpdate), + store.Action(UpdateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementUpdate]), + __metadata("design:paramtypes", [Object, UpdateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "update", null); __decorate([ @@ -397,6 +417,12 @@ __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Array) ], TenantManagementState, "get", null); + __decorate([ + store.Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Number) + ], TenantManagementState, "getTenantsTotalCount", null); TenantManagementState = __decorate([ store.State({ name: 'TenantManagementState', @@ -418,6 +444,10 @@ this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -439,6 +469,18 @@ enumerable: true, configurable: true }); + /** + * @param {?} value + * @return {?} + */ + TenantsComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @private * @return {?} @@ -497,7 +539,7 @@ function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(operators.pluck('TenantManagementState', 'selectedItem'), operators.switchMap((/** * @param {?} selected * @return {?} @@ -517,17 +559,6 @@ _this.openModal('AbpTenantManagement::ConnectionStrings', _this.connectionStringModalTemplate, 'saveConnStr'); })); }; - /** - * @param {?} id - * @return {?} - */ - TenantsComponent.prototype.onManageFeatures = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures'); - }; /** * @return {?} */ @@ -550,7 +581,7 @@ function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(operators.pluck('TenantManagementState', 'selectedItem')) .subscribe((/** * @param {?} selected @@ -620,8 +651,8 @@ return; this.store .dispatch(this.selected.id - ? new TenantManagementUpdate(__assign({}, this.tenantForm.value, { id: this.selected.id })) - : new TenantManagementAdd(this.tenantForm.value)) + ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) + : new CreateTenant(this.tenantForm.value)) .subscribe((/** * @return {?} */ @@ -651,14 +682,44 @@ */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new TenantManagementDelete(id)); + _this.store.dispatch(new DeleteTenant(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + TenantsComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + TenantsComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetTenants(this.pageQuery)) + .pipe(operators.finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; TenantsComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -670,13 +731,16 @@ ]; }; TenantsComponent.propDecorators = { tenantModalTemplate: [{ type: core.ViewChild, args: ['tenantModalTemplate', { static: false },] }], - connectionStringModalTemplate: [{ type: core.ViewChild, args: ['connectionStringModalTemplate', { static: false },] }], - featuresModalTemplate: [{ type: core.ViewChild, args: ['featuresModalTemplate', { static: false },] }] + connectionStringModalTemplate: [{ type: core.ViewChild, args: ['connectionStringModalTemplate', { static: false },] }] }; __decorate([ store.Select(TenantManagementState.get), __metadata("design:type", rxjs.Observable) - ], TenantsComponent.prototype, "datas$", void 0); + ], TenantsComponent.prototype, "data$", void 0); + __decorate([ + store.Select(TenantManagementState.getTenantsTotalCount), + __metadata("design:type", rxjs.Observable) + ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); @@ -697,9 +761,7 @@ function () { /** @type {?} */ var data = this.store.selectSnapshot(TenantManagementState.get); - return data && data.length - ? null - : this.store.dispatch(new TenantManagementGet()); + return data && data.length ? null : this.store.dispatch(new GetTenants()); }; TenantsResolver.decorators = [ { type: core.Injectable } @@ -770,14 +832,15 @@ /** @type {?} */ var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ { - name: 'Tenant Management', + name: 'AbpTenantManagement::Menu:TenantManagement', path: 'tenant-management', - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-users', children: [ { path: 'tenants', - name: 'Tenants', + name: 'AbpTenantManagement::Tenants', order: 1, requiredPolicy: 'AbpTenantManagement.Tenants', }, @@ -818,25 +881,25 @@ TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; })(TenantManagement || (TenantManagement = {})); + exports.CreateTenant = CreateTenant; + exports.DeleteTenant = DeleteTenant; + exports.GetTenantById = GetTenantById; + exports.GetTenants = GetTenants; exports.TENANT_MANAGEMENT_ROUTES = TENANT_MANAGEMENT_ROUTES; - exports.TenantManagementAdd = TenantManagementAdd; - exports.TenantManagementDelete = TenantManagementDelete; - exports.TenantManagementGet = TenantManagementGet; - exports.TenantManagementGetById = TenantManagementGetById; exports.TenantManagementModule = TenantManagementModule; exports.TenantManagementService = TenantManagementService; exports.TenantManagementState = TenantManagementState; - exports.TenantManagementUpdate = TenantManagementUpdate; exports.TenantsComponent = TenantsComponent; exports.TenantsResolver = TenantsResolver; + exports.UpdateTenant = UpdateTenant; exports.ɵa = TenantsComponent; exports.ɵb = TenantManagementState; exports.ɵc = TenantManagementService; - exports.ɵd = TenantManagementGet; - exports.ɵe = TenantManagementGetById; - exports.ɵf = TenantManagementAdd; - exports.ɵg = TenantManagementUpdate; - exports.ɵh = TenantManagementDelete; + exports.ɵd = GetTenants; + exports.ɵe = GetTenantById; + exports.ɵf = CreateTenant; + exports.ɵg = UpdateTenant; + exports.ɵh = DeleteTenant; exports.ɵj = TenantManagementRoutingModule; exports.ɵk = TenantsResolver; diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map index cd81ff8bd1..ee7b854515 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\n\nexport class TenantManagementGet {\n static readonly type = '[TenantManagement] Get';\n}\n\nexport class TenantManagementGetById {\n static readonly type = '[TenantManagement] Get By Id';\n constructor(public payload: string) {}\n}\n\nexport class TenantManagementAdd {\n static readonly type = '[TenantManagement] Add';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class TenantManagementUpdate {\n static readonly type = '[TenantManagement] Update';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class TenantManagementDelete {\n static readonly type = '[TenantManagement] Delete';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n };\n\n return this.rest.request(request);\n }\n\n getById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n delete(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n add(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n update(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGet,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(TenantManagementGet)\n get({ patchState }: StateContext) {\n return this.tenantManagementService.get().pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(TenantManagementGetById)\n getById({ patchState }: StateContext, { payload }: TenantManagementGetById) {\n return this.tenantManagementService.getById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(TenantManagementDelete)\n delete({ dispatch }: StateContext, { payload }: TenantManagementDelete) {\n return this.tenantManagementService.delete(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementAdd)\n add({ dispatch }: StateContext, { payload }: TenantManagementAdd) {\n return this.tenantManagementService.add(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementUpdate)\n update({ dispatch, getState }: StateContext, { payload }: TenantManagementUpdate) {\n return dispatch(new TenantManagementGetById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.update({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new TenantManagementGet())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { pluck, switchMap, take } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n datas$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n @ViewChild('featuresModalTemplate', { static: false })\n featuresModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onManageFeatures(id: string) {\n this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures');\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new TenantManagementUpdate({ ...this.tenantForm.value, id: this.selected.id })\n : new TenantManagementAdd(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new TenantManagementDelete(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { TenantManagementGet } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length\n ? null \n : this.store.dispatch(new TenantManagementGet());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'Tenant Management',\n path: 'tenant-management',\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n {\n path: 'tenants',\n name: 'Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;AACA,AAcA;AACA,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD,AAYA;AACA,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;AACD,AAIA;AACA,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;;;;;AC9DD;QAEE,oBAAmB,OAA6B;YAA7B,YAAO,GAAP,OAAO,CAAsB;SAAI;QADpC,eAAI,GAAG,+BAA+B,CAAC;QAEzD,iBAAC;KAHD,IAGC;;QAIC,uBAAmB,OAAe;YAAf,YAAO,GAAP,OAAO,CAAQ;SAAI;QADtB,kBAAI,GAAG,qCAAqC,CAAC;QAE/D,oBAAC;KAHD,IAGC;;QAIC,sBAAmB,OAAoC;YAApC,YAAO,GAAP,OAAO,CAA6B;SAAI;QAD3C,iBAAI,GAAG,kCAAkC,CAAC;QAE5D,mBAAC;KAHD,IAGC;;QAIC,sBAAmB,OAAuC;YAAvC,YAAO,GAAP,OAAO,CAAgC;SAAI;QAD9C,iBAAI,GAAG,kCAAkC,CAAC;QAE5D,mBAAC;KAHD,IAGC;;QAIC,sBAAmB,OAAe;YAAf,YAAO,GAAP,OAAO,CAAQ;SAAI;QADtB,iBAAI,GAAG,kCAAkC,CAAC;QAE5D,mBAAC;KAHD;;;;;;ACvBA;QASE,iCAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;;QAEzC,2CAAS;;;;QAAT,UAAU,MAAkC;YAAlC,uBAAA,EAAA,4BAAS,EAAE,EAAuB;;gBACpC,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,4BAA4B;gBACjC,MAAM,QAAA;aACP;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkC,OAAO,CAAC,CAAC;SACpE;;;;;QAED,+CAAa;;;;QAAb,UAAc,EAAU;;gBAChB,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,gCAA8B,EAAI;aACxC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsB,OAAO,CAAC,CAAC;SACxD;;;;;QAED,8CAAY;;;;QAAZ,UAAa,EAAU;;gBACf,OAAO,GAAuB;gBAClC,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,gCAA8B,EAAI;aACxC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAa,OAAO,CAAC,CAAC;SAC/C;;;;;QAED,8CAAY;;;;QAAZ,UAAa,IAAiC;;gBACtC,OAAO,GAA8C;gBACzD,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,4BAA4B;gBACjC,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;SAC/E;;;;;QAED,8CAAY;;;;QAAZ,UAAa,IAAoC;;gBACzC,GAAG,GAAG,gCAA8B,IAAI,CAAC,EAAI;YACnD,OAAO,IAAI,CAAC,EAAE,CAAC;;gBAET,OAAO,GAAiD;gBAC5D,MAAM,EAAE,KAAK;gBACb,GAAG,KAAA;gBACH,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;SAC/E;;;;;QAED,4DAA0B;;;;QAA1B,UAA2B,EAAU;;gBAC7B,GAAG,GAAG,gCAA8B,EAAE,+BAA4B;;gBAElE,OAAO,GAAkE;gBAC7E,MAAM,EAAE,KAAK;gBACb,YAAY;gBACZ,GAAG,KAAA;aACJ;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0D,OAAO,CAAC,CAAC;SAC5F;;;;;QAED,+DAA6B;;;;QAA7B,UAA8B,OAAwD;;gBAC9E,GAAG,GAAG,gCAA8B,OAAO,CAAC,EAAE,+BAA4B;;gBAE1E,OAAO,GAAkE;gBAC7E,MAAM,EAAE,KAAK;gBACb,GAAG,KAAA;gBACH,MAAM,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE;aACrE;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;SACzF;;;;;QAED,+DAA6B;;;;QAA7B,UAA8B,EAAU;;gBAChC,GAAG,GAAG,+BAA6B,EAAE,+BAA4B;;gBAEjE,OAAO,GAAkE;gBAC7E,MAAM,EAAE,QAAQ;gBAChB,GAAG,KAAA;aACJ;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;SACzF;;oBAvFFA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALQC,mBAAW;;;sCAFpB;KAKA;;;;;;;QCuBE,+BAAoB,uBAAgD;YAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;SAAI;;;;;QATjE,yBAAG;;;;QAAV,UAAW,EAAkC;gBAAhC,kBAAM;YACjB,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC3B;;;;;QAGM,0CAAoB;;;;QAA3B,UAA4B,EAAkC;gBAAhC,kBAAM;YAClC,OAAO,MAAM,CAAC,UAAU,CAAC;SAC1B;;;;;;QAKD,mCAAG;;;;;QAAH,UAAI,EAAoD,EAAE,EAAuB;gBAA3E,0BAAU;gBAA4C,oBAAO;YACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CACzDC,aAAG;;;;YAAC,UAAA,MAAM;gBACR,OAAA,UAAU,CAAC;oBACT,MAAM,QAAA;iBACP,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,uCAAO;;;;;QAAP,UAAQ,EAAoD,EAAE,EAA0B;gBAA9E,0BAAU;gBAA4C,oBAAO;YACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7DA,aAAG;;;;YAAC,UAAA,YAAY;gBACd,OAAA,UAAU,CAAC;oBACT,YAAY,cAAA;iBACb,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,sCAAM;;;;;QAAN,UAAO,EAAkD,EAAE,EAAyB;gBAA3E,sBAAQ;gBAA4C,oBAAO;YAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAACC,mBAAS;;;YAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;SAC7G;;;;;;QAGD,mCAAG;;;;;QAAH,UAAI,EAAkD,EAAE,EAAyB;gBAA3E,sBAAQ;gBAA4C,oBAAO;YAC/D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAACA,mBAAS;;;YAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;SAC7G;;;;;;QAGD,sCAAM;;;;;QAAN,UAAO,EAA4D,EAAE,EAAyB;YAD9F,iBAMC;gBALQ,sBAAQ,EAAE,sBAAQ;gBAA4C,oBAAO;YAC5E,OAAO,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACjDA,mBAAS;;;YAAC,cAAM,OAAA,KAAI,CAAC,uBAAuB,CAAC,YAAY,cAAM,QAAQ,EAAE,CAAC,YAAY,EAAK,OAAO,EAAG,GAAA,EAAC,EACtGA,mBAAS;;;YAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAC5C,CAAC;SACH;QArCDC;YADCC,YAAM,CAAC,UAAU,CAAC;;qDACoD,UAAU;;wDAQhF;QAGDD;YADCC,YAAM,CAAC,aAAa,CAAC;;qDACqD,aAAa;;4DAQvF;QAGDD;YADCC,YAAM,CAAC,YAAY,CAAC;;qDACmD,YAAY;;2DAEnF;QAGDD;YADCC,YAAM,CAAC,YAAY,CAAC;;qDACgD,YAAY;;wDAEhF;QAGDD;YADCC,YAAM,CAAC,YAAY,CAAC;;qDAC6D,YAAY;;2DAK7F;QAjDDD;YADCE,cAAQ,EAAE;;;;8CAGV;QAGDF;YADCE,cAAQ,EAAE;;;;+DAGV;QATU,qBAAqB;YAJjCC,WAAK,CAAyB;gBAC7B,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,qBAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAA0B;aACrE,CAAC;6CAY6C,uBAAuB;WAXzD,qBAAqB,CAoDjC;QAAD,4BAAC;KAAA;;;;;;;QCDC,0BACU,mBAAwC,EACxC,aAAsC,EACtC,EAAe,EACf,KAAY;YAHZ,wBAAmB,GAAnB,mBAAmB,CAAqB;YACxC,kBAAa,GAAb,aAAa,CAAyB;YACtC,OAAE,GAAF,EAAE,CAAa;YACf,UAAK,GAAL,KAAK,CAAO;YA5BtB,yBAAoB,sBAAG,EAAE,EAAwB,CAAC;YAIlD,cAAS,GAAwB;gBAC/B,OAAO,EAAE,MAAM;aAChB,CAAC;YAEF,YAAO,GAAY,KAAK,CAAC;SAqBrB;QAnBJ,sBAAI,+CAAiB;;;;YAArB;gBACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;aACxE;;;WAAA;QAED,sBAAI,8CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;aAC9E;;;WAAA;;;;;QAeD,mCAAQ;;;;QAAR,UAAS,KAAK;YACZ,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;;;;;QAEO,2CAAgB;;;;QAAxB;YACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAACC,gBAAU,CAAC,QAAQ,EAAEA,gBAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aACnF,CAAC,CAAC;SACJ;;;;;QAEO,4DAAiC;;;;QAAzC;YACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;gBAC1C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,IAAI,EAAE;aAC5D,CAAC,CAAC;SACJ;;;;;;;QAED,oCAAS;;;;;;QAAT,UAAU,KAAa,EAAE,QAA0B,EAAE,IAAY;YAC/D,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,KAAK,OAAA;gBACL,QAAQ,UAAA;gBACR,IAAI,MAAA;aACL,CAAC;YAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;;;;;QAED,iDAAsB;;;;QAAtB,UAAuB,EAAU;YAAjC,iBAgBC;YAfC,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;iBAC/B,IAAI,CACHC,eAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,EAC9CN,mBAAS;;;;YAAC,UAAA,QAAQ;gBAChB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,KAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;aAC1D,EAAC,CACH;iBACA,SAAS;;;;YAAC,UAAA,uBAAuB;gBAChC,KAAI,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,KAAK,GAAG,IAAI,CAAC;gBACjE,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,EAAE,CAAC;gBACtF,KAAI,CAAC,iCAAiC,EAAE,CAAC;gBACzC,KAAI,CAAC,SAAS,CAAC,wCAAwC,EAAE,KAAI,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;aAC7G,EAAC,CAAC;SACN;;;;QAED,sCAAW;;;QAAX;YACE,IAAI,CAAC,QAAQ,sBAAG,EAAE,EAAiB,CAAC;YACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;SAC1F;;;;;QAED,uCAAY;;;;QAAZ,UAAa,EAAU;YAAvB,iBASC;YARC,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;iBAC/B,IAAI,CAACM,eAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;iBACpD,SAAS;;;;YAAC,UAAA,QAAQ;gBACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;aACrF,EAAC,CAAC;SACN;;;;QAED,+BAAI;;;QAAJ;YACU,IAAA,qCAAI;YACZ,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,IAAI,KAAK,YAAY;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACxC,IAAI,IAAI,KAAK,aAAa;gBAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC9D;;;;QAED,+CAAoB;;;QAApB;YAAA,iBAgBC;YAfC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,aAAa;qBACf,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;qBAC/C,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC;qBACb,SAAS;;;gBAAC;oBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,aAAa;qBACf,6BAA6B,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBACvG,IAAI,CAACA,cAAI,CAAC,CAAC,CAAC,CAAC;qBACb,SAAS;;;gBAAC;oBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B,EAAC,CAAC;aACN;SACF;;;;QAED,qCAAU;;;QAAV;YAAA,iBAYC;YAXC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;gBAAE,OAAO;YAEnC,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAI,CAAC,QAAQ,CAAC,EAAE;kBACZ,IAAI,YAAY,cAAM,IAAI,CAAC,UAAU,CAAC,KAAK,IAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAG;kBACpE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;;;;;;QAED,iCAAM;;;;;QAAN,UAAO,EAAU,EAAE,IAAY;YAA/B,iBAUC;YATC,IAAI,CAAC,mBAAmB;iBACrB,IAAI,CAAC,wDAAwD,EAAE,iCAAiC,EAAE;gBACjG,yBAAyB,EAAE,CAAC,IAAI,CAAC;aAClC,CAAC;iBACD,SAAS;;;;YAAC,UAAC,MAAsB;gBAChC,IAAI,MAAM,8BAA6B;oBACrC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3C;aACF,EAAC,CAAC;SACN;;;;;QAED,uCAAY;;;;QAAZ,UAAa,IAAI;YACf,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;;;;QAED,8BAAG;;;QAAH;YAAA,iBAMC;YALC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACxC,IAAI,CAACC,kBAAQ;;;YAAC,cAAM,QAAC,KAAI,CAAC,OAAO,GAAG,KAAK,IAAC,EAAC,CAAC;iBAC5C,SAAS,EAAE,CAAC;SAChB;;oBAnLFC,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,o6KAAuC;qBACxC;;;;oBAzBQC,mCAAmB;oBAanB,uBAAuB;oBAXvBC,iBAAW;oBACHC,WAAK;;;0CA0DnBC,cAAS,SAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oDAGlDA,cAAS,SAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;QApC7DZ;YADCa,YAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC;sCAC3BC,eAAU;uDAAkB;QAGnCd;YADCa,YAAM,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;sCACtCC,eAAU;6DAAS;QA2KlC,uBAAC;KApLD;;;;;;ACvBA;QASE,yBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;QAEpC,iCAAO;;;QAAP;;gBACQ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC;YACjE,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;SAC3E;;oBAPFlB,eAAU;;;;oBALFe,WAAK;;QAad,sBAAC;KARD;;;;;;ICPA,SAYU,EAAE,cAAc,EAAE,6BAA6B,EAAE;;QANrD,MAAM,GAAW;QACrB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;QACtD;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAEI,8BAAsB;YACjC,WAAW,EAAE,CAACC,iBAAS,EAAEC,uBAAe,CAAC;YACzC,IAAI,IAAmD;YACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;SAClF;KACF;AAED;QAAA;SAK6C;;oBAL5CC,aAAQ,SAAC;wBACR,OAAO,EAAE,CAACC,mBAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACxC,OAAO,EAAE,CAACA,mBAAY,CAAC;wBACvB,SAAS,EAAE,CAAC,eAAe,CAAC;qBAC7B;;QAC2C,oCAAC;KAL7C;;;;;;ACjBA;QAUA;SAWsC;;oBAXrCD,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;wBAChC,OAAO,EAAE;4BACP,6BAA6B;4BAC7BE,gBAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC;4BAC9CC,kBAAU;4BACVC,iBAAW;4BACXC,iCAAiB;4BACjBC,6BAAiB;yBAClB;qBACF;;QACoC,6BAAC;KAXtC;;;;;;;ACRA,QAAa,wBAAwB,sBAAG;QACtC;YACE,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,sCAAsC;YAClD,MAAM;YACN,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,8BAA8B;oBACpC,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,6BAA6B;iBAC9C;aACF;SACF;KACF,EAAmB;;;;;;IChBpB,IAAiB,gBAAgB,CAyBhC;IAzBD,WAAiB,gBAAgB;;;;QAC/B,oBAGC;;;;;QAID,mBAGC;;;;;QAED,yBAEC;;;;;QAED,4BAEC;;;;;QAED,6CAGC;;IACH,CAAC,EAzBgB,gBAAgB,KAAhB,gBAAgB,QAyBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js index 32c62abec9..7d9c790b91 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["tenant-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.ngBootstrap,e.store,e.table,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router)}(this,function(e,t,n,a,o,r,i,s,p,c,l){"use strict";var d=function(){return(d=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=0;s--)(o=e[s])&&(i=(r<3?o(i):r>3?o(t,n,i):o(t,n))||i);return r>3&&i&&Object.defineProperty(t,n,i),i}function g(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var m,f=function(){function e(){}return e.type="[TenantManagement] Get",e}(),b=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Get By Id",e}(),h=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Add",e}(),y=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Update",e}(),v=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Delete",e}(),M=function(){function e(e){this.rest=e}return e.prototype.get=function(){return this.rest.request({method:"GET",url:"/api/multi-tenancy/tenants"})},e.prototype.getById=function(e){var t={method:"GET",url:"/api/multi-tenancy/tenants/"+e};return this.rest.request(t)},e.prototype.delete=function(e){var t={method:"DELETE",url:"/api/multi-tenancy/tenants/"+e};return this.rest.request(t)},e.prototype.add=function(e){var t={method:"POST",url:"/api/multi-tenancy/tenants",body:e};return this.rest.request(t)},e.prototype.update=function(e){var t="/api/multi-tenancy/tenants/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getDefaultConnectionString=function(e){var t={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+e+"/defaultConnectionString"};return this.rest.request(t)},e.prototype.updateDefaultConnectionString=function(e){var t={method:"PUT",url:"/api/multi-tenancy/tenants/"+e.id+"/defaultConnectionString",params:{defaultConnectionString:e.defaultConnectionString}};return this.rest.request(t)},e.prototype.deleteDefaultConnectionString=function(e){var t={method:"DELETE",url:"/api/multi-tenancy/tenant/"+e+"/defaultConnectionString"};return this.rest.request(t)},e.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new e(a.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),T=function(){function e(e){this.tenantManagementService=e}return e.get=function(e){return e.result.items||[]},e.prototype.get=function(e){var t=e.patchState;return this.tenantManagementService.get().pipe(c.tap(function(e){return t({result:e})}))},e.prototype.getById=function(e,t){var n=e.patchState,a=t.payload;return this.tenantManagementService.getById(a).pipe(c.tap(function(e){return n({selectedItem:e})}))},e.prototype.delete=function(e,t){var n=e.dispatch,a=t.payload;return this.tenantManagementService.delete(a).pipe(c.switchMap(function(){return n(new f)}))},e.prototype.add=function(e,t){var n=e.dispatch,a=t.payload;return this.tenantManagementService.add(a).pipe(c.switchMap(function(){return n(new f)}))},e.prototype.update=function(e,t){var n=this,a=e.dispatch,o=e.getState,r=t.payload;return a(new b(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.update(d({},o().selectedItem,r))}),c.switchMap(function(){return a(new f)}))},u([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",void 0)],e.prototype,"get",null),u([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],e.prototype,"getById",null),u([r.Action(v),g("design:type",Function),g("design:paramtypes",[Object,v]),g("design:returntype",void 0)],e.prototype,"delete",null),u([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],e.prototype,"add",null),u([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],e.prototype,"update",null),u([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],e,"get",null),e=u([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[M])],e)}(),S=function(){function e(e,t,n,a){this.confirmationService=e,this.tenantService=t,this.fb=n,this.store=a,this.selectedModalContent={}}return Object.defineProperty(e.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),e.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},e.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},e.prototype.openModal=function(e,t,n){this.selectedModalContent={title:e,template:t,type:n},this.isModalVisible=!0},e.prototype.onEditConnectionString=function(e){var t=this;this.store.dispatch(new b(e)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return t.selected=n,t.tenantService.getDefaultConnectionString(e)})).subscribe(function(e){t._useSharedDatabase=!e,t.defaultConnectionString=e||"",t.createDefaultConnectionStringForm(),t.openModal("AbpTenantManagement::ConnectionStrings",t.connectionStringModalTemplate,"saveConnStr")})},e.prototype.onManageFeatures=function(e){this.openModal("AbpTenantManagement::Features",this.featuresModalTemplate,"saveFeatures")},e.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},e.prototype.onEditTenant=function(e){var t=this;this.store.dispatch(new b(e)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(e){t.selected=e,t.createTenantForm(),t.openModal("AbpTenantManagement::Edit",t.tenantModalTemplate,"saveTenant")})},e.prototype.save=function(){var e=this.selectedModalContent.type;e&&("saveTenant"===e?this.saveTenant():"saveConnStr"===e&&this.saveConnectionString())},e.prototype.saveConnectionString=function(){var e=this;this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){e.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){e.isModalVisible=!1})},e.prototype.saveTenant=function(){var e=this;this.tenantForm.valid&&this.store.dispatch(this.selected.id?new y(d({},this.tenantForm.value,{id:this.selected.id})):new h(this.tenantForm.value)).subscribe(function(){e.isModalVisible=!1})},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new v(e))})},e.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Features\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n'}]}],e.ctorParameters=function(){return[{type:n.ConfirmationService},{type:M},{type:s.FormBuilder},{type:r.Store}]},e.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}],featuresModalTemplate:[{type:a.ViewChild,args:["featuresModalTemplate",{static:!1}]}]},u([r.Select(T.get),g("design:type",p.Observable)],e.prototype,"datas$",void 0),e}(),C=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(T.get);return e&&e.length?null:this.store.dispatch(new f)},e.decorators=[{type:a.Injectable}],e.ctorParameters=function(){return[{type:r.Store}]},e}(),A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:S,resolve:[C]}]}],D=function(){function e(){}return e.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[C]}]}],e}(),w=function(){function e(){}return e.decorators=[{type:a.NgModule,args:[{declarations:[S],imports:[D,r.NgxsModule.forFeature([T]),t.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],e}();!function(e){e.State=function(){},e.Item=function(){},e.AddRequest=function(){},e.UpdateRequest=function(){},e.DefaultConnectionStringRequest=function(){}}(m||(m={})),e.TENANT_MANAGEMENT_ROUTES=[{name:"Tenant Management",path:"tenant-management",parentName:"Administration",layout:"application",children:[{path:"tenants",name:"Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],e.TenantManagementAdd=h,e.TenantManagementDelete=v,e.TenantManagementGet=f,e.TenantManagementGetById=b,e.TenantManagementModule=w,e.TenantManagementService=M,e.TenantManagementState=T,e.TenantManagementUpdate=y,e.TenantsComponent=S,e.TenantsResolver=C,e.ɵa=S,e.ɵb=T,e.ɵc=M,e.ɵd=f,e.ɵe=b,e.ɵf=h,e.ɵg=y,e.ɵh=v,e.ɵj=D,e.ɵk=C,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m,f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}(),b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}(),h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}(),y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}(),T=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}(),v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}(),S=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new b(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new f)}))},d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(T),g("design:type",Function),g("design:paramtypes",[Object,T]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}(),M=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&this.store.dispatch(this.selected.id?new y(u({},this.tenantForm.value,{id:this.selected.id})):new h(this.tenantForm.value)).subscribe(function(){t.isModalVisible=!1})},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&n.store.dispatch(new T(t))})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new f(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(S.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(S.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}(),C=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(S.get);return t&&t.length?null:this.store.dispatch(new f)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}(),A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:M,resolve:[C]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[C]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[M],imports:[D,r.NgxsModule.forFeature([S]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){t.State=function(){},t.Item=function(){},t.AddRequest=function(){},t.UpdateRequest=function(){},t.DefaultConnectionStringRequest=function(){}}(m||(m={})),t.CreateTenant=h,t.DeleteTenant=T,t.GetTenantById=b,t.GetTenants=f,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=S,t.TenantsComponent=M,t.TenantsResolver=C,t.UpdateTenant=y,t.ɵa=M,t.ɵb=S,t.ɵc=v,t.ɵd=f,t.ɵe=b,t.ɵf=h,t.ɵg=y,t.ɵh=T,t.ɵj=D,t.ɵk=C,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.tenant-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map index f454d8de7f..b3ed1d7123 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","TenantManagement","TenantManagementGet","type","TenantManagementGetById","payload","TenantManagementAdd","TenantManagementUpdate","TenantManagementDelete","TenantManagementService","rest","get","request","method","url","getById","id","delete","add","body","update","getDefaultConnectionString","responseType","updateDefaultConnectionString","params","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","_a","result","items","patchState","pipe","tap","_b","selectedItem","dispatch","switchMap","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","defaultConnectionStringForm","value","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onManageFeatures","featuresModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","data","selectSnapshot","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","parentName","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\n\nexport class TenantManagementGet {\n static readonly type = '[TenantManagement] Get';\n}\n\nexport class TenantManagementGetById {\n static readonly type = '[TenantManagement] Get By Id';\n constructor(public payload: string) {}\n}\n\nexport class TenantManagementAdd {\n static readonly type = '[TenantManagement] Add';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class TenantManagementUpdate {\n static readonly type = '[TenantManagement] Update';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class TenantManagementDelete {\n static readonly type = '[TenantManagement] Delete';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n };\n\n return this.rest.request(request);\n }\n\n getById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n delete(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n add(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n update(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGet,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(TenantManagementGet)\n get({ patchState }: StateContext) {\n return this.tenantManagementService.get().pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(TenantManagementGetById)\n getById({ patchState }: StateContext, { payload }: TenantManagementGetById) {\n return this.tenantManagementService.getById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(TenantManagementDelete)\n delete({ dispatch }: StateContext, { payload }: TenantManagementDelete) {\n return this.tenantManagementService.delete(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementAdd)\n add({ dispatch }: StateContext, { payload }: TenantManagementAdd) {\n return this.tenantManagementService.add(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementUpdate)\n update({ dispatch, getState }: StateContext, { payload }: TenantManagementUpdate) {\n return dispatch(new TenantManagementGetById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.update({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new TenantManagementGet())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { pluck, switchMap, take } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n datas$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n @ViewChild('featuresModalTemplate', { static: false })\n featuresModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onManageFeatures(id: string) {\n this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures');\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new TenantManagementUpdate({ ...this.tenantForm.value, id: this.selected.id })\n : new TenantManagementAdd(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new TenantManagementDelete(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { TenantManagementGet } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length\n ? null \n : this.store.dispatch(new TenantManagementGet());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'Tenant Management',\n path: 'tenant-management',\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n {\n path: 'tenants',\n name: 'Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","TenantManagement","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","parentName","layout","iconClass","order"],"mappings":"q1BA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YAezB,SAASQ,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAId,UAAUC,OAAQc,EAAID,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOlB,OAAOsB,yBAAyBN,EAAQC,GAAOC,EACrH,GAAuB,iBAAZK,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAAST,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAId,EAAIW,EAAWR,OAAS,EAAGH,GAAK,EAAGA,KAASe,EAAIJ,EAAWX,MAAIiB,GAAKD,EAAI,EAAID,EAAEE,GAAKD,EAAI,EAAID,EAAEH,EAAQC,EAAKI,GAAKF,EAAEH,EAAQC,KAASI,GAChJ,OAAOD,EAAI,GAAKC,GAAKrB,OAAOyB,eAAeT,EAAQC,EAAKI,GAAIA,EAOzD,SAASK,EAAWC,EAAaC,GACpC,GAAuB,iBAAZL,SAAoD,mBAArBA,QAAQM,SAAyB,OAAON,QAAQM,SAASF,EAAaC,GC7DpH,ICDiBE,EDCjBC,EAAA,WAEE,SAAAA,EAAmBC,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBD,EAAAE,KAAO,gCAEzBF,EAHA,gBAOE,SAAAG,EAAmBF,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBE,EAAAD,KAAO,sCAEzBC,kBAIE,SAAAC,EAAmBH,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBG,EAAAF,KAAO,mCAEzBE,kBAIE,SAAAC,EAAmBJ,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBI,EAAAH,KAAO,mCAEzBG,kBAIE,SAAAC,EAAmBL,GAAAnB,KAAAmB,QAAAA,EACrB,OAFkBK,EAAAJ,KAAO,mCAEzBI,KE1BAC,EAAA,WASE,SAAAA,EAAoBC,GAAA1B,KAAA0B,KAAAA,SAEpBD,EAAA7B,UAAA+B,UAAA,SAAUC,QAAA,IAAAA,IAAAA,EAAA,QACFC,EAA8B,CAClCC,OAAQ,MACRC,IAAK,6BACLH,OAAMA,GAGR,OAAO5B,KAAK0B,KAAKG,QAAyCA,IAG5DJ,EAAA7B,UAAAoC,cAAA,SAAcC,OACNJ,EAA8B,CAClCC,OAAQ,MACRC,IAAK,8BAA8BE,GAGrC,OAAOjC,KAAK0B,KAAKG,QAA6BA,IAGhDJ,EAAA7B,UAAAsC,aAAA,SAAaD,OACLJ,EAA8B,CAClCC,OAAQ,SACRC,IAAK,8BAA8BE,GAGrC,OAAOjC,KAAK0B,KAAKG,QAAoBA,IAGvCJ,EAAA7B,UAAAuC,aAAA,SAAaC,OACLP,EAAqD,CACzDC,OAAQ,OACRC,IAAK,6BACLK,KAAIA,GAGN,OAAOpC,KAAK0B,KAAKG,QAAoDA,IAGvEJ,EAAA7B,UAAAyC,aAAA,SAAaD,OACLL,EAAM,8BAA8BK,EAAKH,UACxCG,EAAKH,OAENJ,EAAwD,CAC5DC,OAAQ,MACRC,IAAGA,EACHK,KAAIA,GAGN,OAAOpC,KAAK0B,KAAKG,QAAoDA,IAGvEJ,EAAA7B,UAAA0C,2BAAA,SAA2BL,OAGnBJ,EAAyE,CAC7EC,OAAQ,MACRS,aAAY,OACZR,IALU,8BAA8BE,EAAE,8BAO5C,OAAOjC,KAAK0B,KAAKG,QAAiEA,IAGpFJ,EAAA7B,UAAA4C,8BAAA,SAA8BrB,OAGtBU,EAAyE,CAC7EC,OAAQ,MACRC,IAJU,8BAA8BZ,EAAQc,GAAE,6BAKlDL,OAAQ,CAAEa,wBAAyBtB,EAAQsB,0BAE7C,OAAOzC,KAAK0B,KAAKG,QAA8DA,IAGjFJ,EAAA7B,UAAA8C,8BAAA,SAA8BT,OAGtBJ,EAAyE,CAC7EC,OAAQ,SACRC,IAJU,6BAA6BE,EAAE,8BAM3C,OAAOjC,KAAK0B,KAAKG,QAA8DA,wBAtFlFc,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAJLC,EAAAA,iJAFT,gBC4BE,SAAAC,EAAoBC,GAAAhD,KAAAgD,wBAAAA,EAyCtB,OAlDSD,EAAAE,IAAP,SAAWC,GACT,OADWA,EAAAC,OACGC,OAAS,IAIlBL,EAAAM,qBAAP,SAA4BH,GAC1B,OAD4BA,EAAAC,OACdG,YAMhBP,EAAAnD,UAAAqD,IAAA,SAAIC,EAAsDK,OAApDC,EAAAN,EAAAM,WAAsDrC,EAAAoC,EAAApC,QAC1D,OAAOnB,KAAKgD,wBAAwBrB,UAAUR,GAASsC,KACrDC,EAAAA,IAAG,SAACP,GACF,OAAAK,EAAW,CACTL,OAAMA,QAOdJ,EAAAnD,UAAA+D,QAAA,SAAQT,EAAsDK,OAApDC,EAAAN,EAAAM,WAAsDrC,EAAAoC,EAAApC,QAC9D,OAAOnB,KAAKgD,wBAAwBhB,cAAcb,GAASsC,KACzDC,EAAAA,IAAG,SAACE,GACF,OAAAJ,EAAW,CACTI,aAAYA,QAOpBb,EAAAnD,UAAAiE,OAAA,SAAOX,EAAoDK,OAAlDO,EAAAZ,EAAAY,SAAoD3C,EAAAoC,EAAApC,QAC3D,OAAOnB,KAAKgD,wBAAwBd,aAAaf,GAASsC,KAAKM,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAI9F6B,EAAAnD,UAAAoE,IAAA,SAAId,EAAoDK,OAAlDO,EAAAZ,EAAAY,SAAoD3C,EAAAoC,EAAApC,QACxD,OAAOnB,KAAKgD,wBAAwBb,aAAahB,GAASsC,KAAKM,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAI9F6B,EAAAnD,UAAAqE,OAAA,SAAOf,EAA8DK,GADrE,IAAAW,EAAAlE,KACS8D,EAAAZ,EAAAY,SAAUK,EAAAjB,EAAAiB,SAAoDhD,EAAAoC,EAAApC,QACrE,OAAO2C,EAAS,IAAIzC,EAAcF,EAAQc,KAAKwB,KAC7CM,EAAAA,UAAS,WAAO,OAAAG,EAAKlB,wBAAwBX,aAAYnD,EAAA,GAAMiF,IAAWP,aAAiBzC,MAC3F4C,EAAAA,UAAS,WAAO,OAAAD,EAAS,IAAI5C,OAnCjCkD,EAAAA,CADCC,EAAAA,OAAOnD,2DAC+DA,2DAWvEkD,EAAAA,CADCC,EAAAA,OAAOhD,2DACmEA,+DAW3E+C,EAAAA,CADCC,EAAAA,OAAO7C,2DACgEA,8DAKxE4C,EAAAA,CADCC,EAAAA,OAAO/C,2DAC6DA,2DAKrE8C,EAAAA,CADCC,EAAAA,OAAO9C,2DAC0EA,8DA5ClF6C,EAAAA,CADCE,EAAAA,iHAMDF,EAAAA,CADCE,EAAAA,mIANUvB,EAAqB9C,EAAA,CAJjCsE,EAAAA,MAA8B,CAC7BC,KAAM,wBACNC,SAAQ,CAAItB,OAAQ,GAAIS,aAAc,6BAaOnC,KAXlCsB,mBCmDX,SAAA2B,EACUC,EACAC,EACAC,EACAC,GAHA9E,KAAA2E,oBAAAA,EACA3E,KAAA4E,cAAAA,EACA5E,KAAA6E,GAAAA,EACA7E,KAAA8E,MAAAA,EA5BV9E,KAAA+E,qBAAoB,GAIpB/E,KAAAgF,UAAiC,CAC/BC,QAAS,QAGXjF,KAAAkF,SAAmB,EAuJrB,OArJE/F,OAAAyB,eAAI8D,EAAA9E,UAAA,oBAAiB,KAArB,WACE,OAAOI,KAAKmF,4BAA4BlC,IAAI,qBAAqBmC,uCAGnEjG,OAAAyB,eAAI8D,EAAA9E,UAAA,mBAAgB,KAApB,WACE,OAAOI,KAAKmF,4BAA4BlC,IAAI,2BAA2BmC,uCAgBzEV,EAAA9E,UAAAyF,SAAA,SAASD,GACPpF,KAAKgF,UAAUM,OAASF,EACxBpF,KAAKiD,OAGCyB,EAAA9E,UAAA2F,iBAAR,WACEvF,KAAKwF,WAAaxF,KAAK6E,GAAGY,MAAM,CAC9BjB,KAAM,CAACxE,KAAK0F,SAASlB,MAAQ,GAAI,CAACmB,EAAAA,WAAWC,SAAUD,EAAAA,WAAWE,UAAU,UAIxEnB,EAAA9E,UAAAkG,kCAAR,WACE9F,KAAKmF,4BAA8BnF,KAAK6E,GAAGY,MAAM,CAC/CM,kBAAmB/F,KAAKgG,mBACxBvD,wBAAyBzC,KAAKyC,yBAA2B,MAI7DiC,EAAA9E,UAAAqG,UAAA,SAAUC,EAAeC,EAA4B/E,GACnDpB,KAAK+E,qBAAuB,CAC1BmB,MAAKA,EACLC,SAAQA,EACR/E,KAAIA,GAGNpB,KAAKoG,gBAAiB,GAGxB1B,EAAA9E,UAAAyG,uBAAA,SAAuBpE,GAAvB,IAAAiC,EAAAlE,KACEA,KAAK8E,MACFhB,SAAS,IAAIzC,EAAcY,IAC3BwB,KACC6C,EAAAA,MAAM,wBAAyB,gBAC/BvC,EAAAA,UAAS,SAAC2B,GAER,OADAxB,EAAKwB,SAAWA,EACTxB,EAAKU,cAActC,2BAA2BL,MAGxDsE,UAAS,SAACC,GACTtC,EAAK8B,oBAAqBQ,EAC1BtC,EAAKzB,wBAA0B+D,GAAoD,GACnFtC,EAAK4B,oCACL5B,EAAK+B,UAAU,yCAA0C/B,EAAKuC,8BAA+B,kBAInG/B,EAAA9E,UAAA8G,YAAA,WACE1G,KAAK0F,SAAQ,GACb1F,KAAKuF,mBACLvF,KAAKiG,UAAU,iCAAkCjG,KAAK2G,oBAAqB,eAG7EjC,EAAA9E,UAAAgH,aAAA,SAAa3E,GAAb,IAAAiC,EAAAlE,KACEA,KAAK8E,MACFhB,SAAS,IAAIzC,EAAcY,IAC3BwB,KAAK6C,EAAAA,MAAM,wBAAyB,iBACpCC,UAAS,SAACb,GACTxB,EAAKwB,SAAWA,EAChBxB,EAAKqB,mBACLrB,EAAK+B,UAAU,4BAA6B/B,EAAKyC,oBAAqB,iBAI5EjC,EAAA9E,UAAAiH,KAAA,WACU,IAAAzF,EAAApB,KAAA+E,qBAAA3D,KACHA,IACQ,eAATA,EAAuBpB,KAAK8G,aACd,gBAAT1F,GAAwBpB,KAAK+G,yBAGxCrC,EAAA9E,UAAAmH,qBAAA,WAAA,IAAA7C,EAAAlE,KACMA,KAAK+F,kBACP/F,KAAK4E,cACFlC,8BAA8B1C,KAAK0F,SAASzD,IAC5CwB,KAAKuD,EAAAA,KAAK,IACVT,UAAS,WACRrC,EAAKkC,gBAAiB,IAG1BpG,KAAK4E,cACFpC,8BAA8B,CAAEP,GAAIjC,KAAK0F,SAASzD,GAAIQ,wBAAyBzC,KAAKiH,mBACpFxD,KAAKuD,EAAAA,KAAK,IACVT,UAAS,WACRrC,EAAKkC,gBAAiB,KAK9B1B,EAAA9E,UAAAkH,WAAA,WAAA,IAAA5C,EAAAlE,KACOA,KAAKwF,WAAW0B,OAErBlH,KAAK8E,MACFhB,SACC9D,KAAK0F,SAASzD,GACV,IAAIV,EAAYrC,EAAA,GAAMc,KAAKwF,WAAWJ,MAAK,CAAEnD,GAAIjC,KAAK0F,SAASzD,MAC/D,IAAIX,EAAatB,KAAKwF,WAAWJ,QAEtCmB,UAAS,WACRrC,EAAKkC,gBAAiB,KAI5B1B,EAAA9E,UAAAiE,OAAA,SAAO5B,EAAYuC,GAAnB,IAAAN,EAAAlE,KACEA,KAAK2E,oBACFwC,KAAK,yDAA0D,kCAAmC,CACjGC,0BAA2B,CAAC5C,KAE7B+B,UAAS,SAAEc,GACA,YAANA,GACFnD,EAAKY,MAAMhB,SAAS,IAAItC,EAAaS,OAK7CyC,EAAA9E,UAAA0H,aAAA,SAAaC,GACXvH,KAAKgF,UAAUwC,UAAYD,EAAKE,MAChCzH,KAAKgF,UAAU0C,eAAiBH,EAAKI,KAErC3H,KAAKiD,OAGPyB,EAAA9E,UAAAqD,IAAA,WAAA,IAAAiB,EAAAlE,KACEA,KAAKkF,SAAU,EACflF,KAAK8E,MACFhB,SAAS,IAAI5C,EAAWlB,KAAKgF,YAC7BvB,KAAKmE,EAAAA,SAAQ,WAAO,OAAC1D,EAAKgB,SAAU,KACpCqB,iCAlLNsB,EAAAA,UAASjF,KAAA,CAAC,CACTkF,SAAU,cACV3B,SAAA,01KAxBO4B,EAAAA,2BAaAtG,SAXAuG,EAAAA,mBACQC,EAAAA,sDA0DdC,EAAAA,UAAStF,KAAA,CAAC,sBAAuB,CAAEuF,QAAQ,2CAG3CD,EAAAA,UAAStF,KAAA,CAAC,gCAAiC,CAAEuF,QAAQ,OApCtD/D,EAAAA,CADCgE,EAAAA,OAAOrF,EAAsBE,qBACvBoF,EAAAA,yCAGPjE,EAAAA,CADCgE,EAAAA,OAAOrF,EAAsBM,sCACjBgF,EAAAA,+CA2Kf3D,KC3MA4D,EAAA,WASE,SAAAA,EAAoBxD,GAAA9E,KAAA8E,MAAAA,EAMtB,OAJEwD,EAAA1I,UAAA2I,QAAA,eACQhB,EAAOvH,KAAK8E,MAAM0D,eAAezF,EAAsBE,KAC7D,OAAOsE,GAAQA,EAAK7H,OAAS,KAAOM,KAAK8E,MAAMhB,SAAS,IAAI5C,wBAN/DyB,EAAAA,sDALQsF,EAAAA,SAaTK,EAfA,GCMMG,EAAiB,CACrB,CAAEC,KAAM,GAAIC,WAAY,UAAWC,UAAW,QAC9C,CACEF,KAAM,UACNG,UAAWC,EAAAA,uBACXC,YAAa,CAACC,EAAAA,UAAWC,EAAAA,iBACzB1B,KAAM,CAAE2B,eAAgB,+BACxBC,SAAU,CAAC,CAAET,KAAM,GAAIG,UAAWnE,EAAkB6D,QAAS,CAACD,OAIlEc,EAAA,WAAA,SAAAA,KAK4C,2BAL3CC,EAAAA,SAAQzG,KAAA,CAAC,CACR0G,QAAS,CAACC,EAAAA,aAAaC,SAASf,IAChCgB,QAAS,CAACF,EAAAA,cACVG,UAAW,CAACpB,OAE8Bc,EAL5C,GCjBAO,EAAA,WAUA,SAAAA,KAWqC,2BAXpCN,EAAAA,SAAQzG,KAAA,CAAC,CACRgH,aAAc,CAAClF,GACf4E,QAAS,CACPF,EACAS,EAAAA,WAAWC,WAAW,CAAC/G,IACvBgH,EAAAA,WACAC,EAAAA,YACAC,EAAAA,kBACAC,EAAAA,uBAGiCP,EArBrC,INEA,SAAiB1I,WACf,oBAOA,0BAKA,6BAIA,8CAIA,aArBF,CAAiBA,IAAAA,EAAgB,mGOAI,CACnC,CACEuD,KAAM,6CACNkE,KAAM,oBACNyB,WAAY,uCACZC,OAAM,cACNC,UAAW,cACXlB,SAAU,CACR,CACET,KAAM,UACNlE,KAAM,+BACN8F,MAAO,EACPpB,eAAgB","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js index 050561e296..2feb8f0b6e 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { TenantManagementModule, TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; -export { TenantManagementAdd as ɵf, TenantManagementDelete as ɵh, TenantManagementGet as ɵd, TenantManagementGetById as ɵe, TenantManagementUpdate as ɵg } from './lib/actions/tenant-management.actions'; +export { TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; +export { CreateTenant as ɵf, DeleteTenant as ɵh, GetTenantById as ɵe, GetTenants as ɵd, UpdateTenant as ɵg } from './lib/actions/tenant-management.actions'; export { TenantsComponent as ɵa } from './lib/components/tenants/tenants.component'; export { TenantsResolver as ɵk } from './lib/resolvers/tenants.resolver'; export { TenantManagementService as ɵc } from './lib/services/tenant-management.service'; export { TenantManagementState as ɵb } from './lib/states/tenant-management.state'; export { TenantManagementRoutingModule as ɵj } from './lib/tenant-management-routing.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdVFBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDcE0sT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudEFkZCBhcyDJtWYsVGVuYW50TWFuYWdlbWVudERlbGV0ZSBhcyDJtWgsVGVuYW50TWFuYWdlbWVudEdldCBhcyDJtWQsVGVuYW50TWFuYWdlbWVudEdldEJ5SWQgYXMgybVlLFRlbmFudE1hbmFnZW1lbnRVcGRhdGUgYXMgybVnfSBmcm9tICcuL2xpYi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtUZW5hbnRzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50JztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudCBhcyDJtWl9IGZyb20gJy4vbGliL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5leHBvcnQge1RlbmFudHNSZXNvbHZlciBhcyDJtWt9IGZyb20gJy4vbGliL3Jlc29sdmVycy90ZW5hbnRzLnJlc29sdmVyJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUgYXMgybVqfSBmcm9tICcuL2xpYi90ZW5hbnQtbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseU5BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/index.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/index.js index 02fc8c5fbe..ea957604fe 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/index.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete } from './tenant-management.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGtJQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbiJdfQ== \ No newline at end of file +export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './tenant-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG9GQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/tenant-management.actions.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/tenant-management.actions.js index e8d0a5b665..f1098d1a7d 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/tenant-management.actions.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/actions/tenant-management.actions.js @@ -2,14 +2,22 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class TenantManagementGet { +export class GetTenants { + /** + * @param {?=} payload + */ + constructor(payload) { + this.payload = payload; + } } -TenantManagementGet.type = '[TenantManagement] Get'; +GetTenants.type = '[TenantManagement] Get Tenant'; if (false) { /** @type {?} */ - TenantManagementGet.type; + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; } -export class TenantManagementGetById { +export class GetTenantById { /** * @param {?} payload */ @@ -17,14 +25,14 @@ export class TenantManagementGetById { this.payload = payload; } } -TenantManagementGetById.type = '[TenantManagement] Get By Id'; +GetTenantById.type = '[TenantManagement] Get Tenant By Id'; if (false) { /** @type {?} */ - TenantManagementGetById.type; + GetTenantById.type; /** @type {?} */ - TenantManagementGetById.prototype.payload; + GetTenantById.prototype.payload; } -export class TenantManagementAdd { +export class CreateTenant { /** * @param {?} payload */ @@ -32,14 +40,14 @@ export class TenantManagementAdd { this.payload = payload; } } -TenantManagementAdd.type = '[TenantManagement] Add'; +CreateTenant.type = '[TenantManagement] Create Tenant'; if (false) { /** @type {?} */ - TenantManagementAdd.type; + CreateTenant.type; /** @type {?} */ - TenantManagementAdd.prototype.payload; + CreateTenant.prototype.payload; } -export class TenantManagementUpdate { +export class UpdateTenant { /** * @param {?} payload */ @@ -47,14 +55,14 @@ export class TenantManagementUpdate { this.payload = payload; } } -TenantManagementUpdate.type = '[TenantManagement] Update'; +UpdateTenant.type = '[TenantManagement] Update Tenant'; if (false) { /** @type {?} */ - TenantManagementUpdate.type; + UpdateTenant.type; /** @type {?} */ - TenantManagementUpdate.prototype.payload; + UpdateTenant.prototype.payload; } -export class TenantManagementDelete { +export class DeleteTenant { /** * @param {?} payload */ @@ -62,11 +70,11 @@ export class TenantManagementDelete { this.payload = payload; } } -TenantManagementDelete.type = '[TenantManagement] Delete'; +DeleteTenant.type = '[TenantManagement] Delete Tenant'; if (false) { /** @type {?} */ - TenantManagementDelete.type; + DeleteTenant.type; /** @type {?} */ - TenantManagementDelete.prototype.payload; + DeleteTenant.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sbUJBQW1COztBQUNkLHdCQUFJLEdBQUcsd0JBQXdCLENBQUM7OztJQUFoRCx5QkFBZ0Q7O0FBR2xELE1BQU0sT0FBTyx1QkFBdUI7Ozs7SUFFbEMsWUFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDOztBQUR0Qiw0QkFBSSxHQUFHLDhCQUE4QixDQUFDOzs7SUFBdEQsNkJBQXNEOztJQUMxQywwQ0FBc0I7O0FBR3BDLE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUFFOUIsWUFBbUIsT0FBb0M7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBNkI7SUFBRyxDQUFDOztBQUQzQyx3QkFBSSxHQUFHLHdCQUF3QixDQUFDOzs7SUFBaEQseUJBQWdEOztJQUNwQyxzQ0FBMkM7O0FBR3pELE1BQU0sT0FBTyxzQkFBc0I7Ozs7SUFFakMsWUFBbUIsT0FBdUM7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7SUFBRyxDQUFDOztBQUQ5QywyQkFBSSxHQUFHLDJCQUEyQixDQUFDOzs7SUFBbkQsNEJBQW1EOztJQUN2Qyx5Q0FBOEM7O0FBRzVELE1BQU0sT0FBTyxzQkFBc0I7Ozs7SUFFakMsWUFBbUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDOztBQUR0QiwyQkFBSSxHQUFHLDJCQUEyQixDQUFDOzs7SUFBbkQsNEJBQW1EOztJQUN2Qyx5Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RlbmFudC1tYW5hZ2VtZW50JztcblxuZXhwb3J0IGNsYXNzIFRlbmFudE1hbmFnZW1lbnRHZXQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gR2V0Jztcbn1cblxuZXhwb3J0IGNsYXNzIFRlbmFudE1hbmFnZW1lbnRHZXRCeUlkIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1RlbmFudE1hbmFnZW1lbnRdIEdldCBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50QWRkIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1RlbmFudE1hbmFnZW1lbnRdIEFkZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50VXBkYXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1RlbmFudE1hbmFnZW1lbnRdIFVwZGF0ZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50RGVsZXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1RlbmFudE1hbmFnZW1lbnRdIERlbGV0ZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLE9BQU8sVUFBVTs7OztJQUVyQixZQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7O0FBRHBDLGVBQUksR0FBRywrQkFBK0IsQ0FBQzs7O0lBQXZELGdCQUF1RDs7SUFDM0MsNkJBQW9DOztBQUdsRCxNQUFNLE9BQU8sYUFBYTs7OztJQUV4QixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGtCQUFJLEdBQUcscUNBQXFDLENBQUM7OztJQUE3RCxtQkFBNkQ7O0lBQ2pELGdDQUFzQjs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7Ozs7SUFFdkIsWUFBbUIsT0FBb0M7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBNkI7SUFBRyxDQUFDOztBQUQzQyxpQkFBSSxHQUFHLGtDQUFrQyxDQUFDOzs7SUFBMUQsa0JBQTBEOztJQUM5QywrQkFBMkM7O0FBR3pELE1BQU0sT0FBTyxZQUFZOzs7O0lBRXZCLFlBQW1CLE9BQXVDO1FBQXZDLFlBQU8sR0FBUCxPQUFPLENBQWdDO0lBQUcsQ0FBQzs7QUFEOUMsaUJBQUksR0FBRyxrQ0FBa0MsQ0FBQzs7O0lBQTFELGtCQUEwRDs7SUFDOUMsK0JBQThDOztBQUc1RCxNQUFNLE9BQU8sWUFBWTs7OztJQUV2QixZQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7O0FBRHRCLGlCQUFJLEdBQUcsa0NBQWtDLENBQUM7OztJQUExRCxrQkFBMEQ7O0lBQzlDLCtCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNsYXNzIEdldFRlbmFudHMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gR2V0IFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogQUJQLlBhZ2VRdWVyeVBhcmFtcykge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFRlbmFudEJ5SWQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gR2V0IFRlbmFudCBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gQ3JlYXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gVXBkYXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gRGVsZXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js index 73e49c3d6a..c17124a501 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js @@ -8,8 +8,8 @@ import { Component, TemplateRef, ViewChild } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { pluck, switchMap, take } from 'rxjs/operators'; -import { TenantManagementAdd, TenantManagementDelete, TenantManagementGetById, TenantManagementUpdate, } from '../../actions/tenant-management.actions'; +import { finalize, pluck, switchMap, take } from 'rxjs/operators'; +import { CreateTenant, DeleteTenant, GetTenants, GetTenantById, UpdateTenant, } from '../../actions/tenant-management.actions'; import { TenantManagementService } from '../../services/tenant-management.service'; import { TenantManagementState } from '../../states/tenant-management.state'; export class TenantsComponent { @@ -25,6 +25,10 @@ export class TenantsComponent { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } /** * @return {?} @@ -38,6 +42,14 @@ export class TenantsComponent { get connectionString() { return this.defaultConnectionStringForm.get('defaultConnectionString').value; } + /** + * @param {?} value + * @return {?} + */ + onSearch(value) { + this.pageQuery.filter = value; + this.get(); + } /** * @private * @return {?} @@ -77,7 +89,7 @@ export class TenantsComponent { */ onEditConnectionString(id) { this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem'), switchMap((/** * @param {?} selected * @return {?} @@ -97,13 +109,6 @@ export class TenantsComponent { this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr'); })); } - /** - * @param {?} id - * @return {?} - */ - onManageFeatures(id) { - this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures'); - } /** * @return {?} */ @@ -118,7 +123,7 @@ export class TenantsComponent { */ onEditTenant(id) { this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem')) .subscribe((/** * @param {?} selected @@ -177,8 +182,8 @@ export class TenantsComponent { return; this.store .dispatch(this.selected.id - ? new TenantManagementUpdate(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) - : new TenantManagementAdd(this.tenantForm.value)) + ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) + : new CreateTenant(this.tenantForm.value)) .subscribe((/** * @return {?} */ @@ -202,15 +207,37 @@ export class TenantsComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new TenantManagementDelete(id)); + this.store.dispatch(new DeleteTenant(id)); } })); } + /** + * @param {?} data + * @return {?} + */ + onPageChange(data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + } + /** + * @return {?} + */ + get() { + this.loading = true; + this.store + .dispatch(new GetTenants(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + () => (this.loading = false)))) + .subscribe(); + } } TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -222,16 +249,21 @@ TenantsComponent.ctorParameters = () => [ ]; TenantsComponent.propDecorators = { tenantModalTemplate: [{ type: ViewChild, args: ['tenantModalTemplate', { static: false },] }], - connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }], - featuresModalTemplate: [{ type: ViewChild, args: ['featuresModalTemplate', { static: false },] }] + connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }] }; tslib_1.__decorate([ Select(TenantManagementState.get), tslib_1.__metadata("design:type", Observable) -], TenantsComponent.prototype, "datas$", void 0); +], TenantsComponent.prototype, "data$", void 0); +tslib_1.__decorate([ + Select(TenantManagementState.getTenantsTotalCount), + tslib_1.__metadata("design:type", Observable) +], TenantsComponent.prototype, "totalCount$", void 0); if (false) { /** @type {?} */ - TenantsComponent.prototype.datas$; + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; /** @type {?} */ TenantsComponent.prototype.selected; /** @type {?} */ @@ -247,11 +279,13 @@ if (false) { /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; - /** @type {?} */ - TenantsComponent.prototype.featuresModalTemplate; /** * @type {?} * @private @@ -273,4 +307,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUFtQzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUF6QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0IsQ0FBQztJQTBC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Q0FnRG5CLFNBQVMsU0FBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NENBR2xELFNBQVMsU0FBQywrQkFBK0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7b0NBRzVELFNBQVMsU0FBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0FBOUJyRDtJQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7c0NBQzFCLFVBQVU7Z0RBQWtCOzs7SUFEcEMsa0NBQ29DOztJQUVwQyxvQ0FBd0I7O0lBRXhCLHNDQUFzQjs7SUFFdEIsdURBQXVDOztJQUV2QyxtREFBZ0M7O0lBRWhDLDBDQUF3Qjs7SUFFeEIsZ0RBQWtEOztJQUVsRCw4Q0FBNEI7O0lBVTVCLCtDQUNzQzs7SUFFdEMseURBQ2dEOztJQUVoRCxpREFDd0M7Ozs7O0lBR3RDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBUZW5hbnRNYW5hZ2VtZW50QWRkLFxuICBUZW5hbnRNYW5hZ2VtZW50RGVsZXRlLFxuICBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZCxcbiAgVGVuYW50TWFuYWdlbWVudFVwZGF0ZSxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGFzJDogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtW10+O1xuXG4gIHNlbGVjdGVkOiBBQlAuQmFzaWNJdGVtO1xuXG4gIHRlbmFudEZvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogc3RyaW5nO1xuXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuXG4gIHNlbGVjdGVkTW9kYWxDb250ZW50ID0ge30gYXMgU2VsZWN0ZWRNb2RhbENvbnRlbnQ7XG5cbiAgX3VzZVNoYXJlZERhdGFiYXNlOiBib29sZWFuO1xuXG4gIGdldCB1c2VTaGFyZWREYXRhYmFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0uZ2V0KCd1c2VTaGFyZWREYXRhYmFzZScpLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpb25TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0uZ2V0KCdkZWZhdWx0Q29ubmVjdGlvblN0cmluZycpLnZhbHVlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGVuYW50TW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICB0ZW5hbnRNb2RhbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Nvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZlYXR1cmVzTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBmZWF0dXJlc01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZChpZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgcGx1Y2soJ1RlbmFudE1hbmFnZW1lbnRTdGF0ZScsICdzZWxlY3RlZEl0ZW0nKSxcbiAgICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVuYW50U2VydmljZS5nZXREZWZhdWx0Q29ubmVjdGlvblN0cmluZyhpZCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA9PiB7XG4gICAgICAgIHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nIDogJyc7XG4gICAgICAgIHRoaXMuY3JlYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDb25uZWN0aW9uU3RyaW5ncycsIHRoaXMuY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUsICdzYXZlQ29ublN0cicpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbk1hbmFnZUZlYXR1cmVzKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6RmVhdHVyZXMnLCB0aGlzLmZlYXR1cmVzTW9kYWxUZW1wbGF0ZSwgJ3NhdmVGZWF0dXJlcycpO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBUZW5hbnRNYW5hZ2VtZW50VXBkYXRlKHsgLi4udGhpcy50ZW5hbnRGb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IFRlbmFudE1hbmFnZW1lbnRBZGQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnREZWxldGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUF5QzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE1QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIGlmICh0aGlzLnVzZVNoYXJlZERhdGFiYXNlKSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLmRlbGV0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHRoaXMuc2VsZWN0ZWQuaWQpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js index 14bb8c6552..886a9632be 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js @@ -5,18 +5,19 @@ /** @type {?} */ export const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ { - name: 'Tenant Management', + name: 'AbpTenantManagement::Menu:TenantManagement', path: 'tenant-management', - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-users', children: [ { path: 'tenants', - name: 'Tenants', + name: 'AbpTenantManagement::Tenants', order: 1, requiredPolicy: 'AbpTenantManagement.Tenants', }, ], }, ])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsTUFBTSxpQ0FBeUI7UUFDL0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ1RlbmFudCBNYW5hZ2VtZW50JyxcbiAgICBwYXRoOiAndGVuYW50LW1hbmFnZW1lbnQnLFxuICAgIHBhcmVudE5hbWU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLDRDQUE0QztRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7UUFDbEQsTUFBTSxpQ0FBeUI7UUFDL0IsU0FBUyxFQUFFLGFBQWE7UUFDeEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgcGF0aDogJ3RlbmFudC1tYW5hZ2VtZW50JyxcbiAgICBwYXJlbnROYW1lOiAnQWJwVWlOYXZpZ2F0aW9uOjpNZW51OkFkbWluaXN0cmF0aW9uJyxcbiAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgIGljb25DbGFzczogJ2ZhIGZhLXVzZXJzJyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/resolvers/tenants.resolver.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/resolvers/tenants.resolver.js index d3b8bc953c..5f5ffb3f83 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/resolvers/tenants.resolver.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/resolvers/tenants.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { TenantManagementGet } from '../actions/tenant-management.actions'; +import { GetTenants } from '../actions/tenant-management.actions'; import { TenantManagementState } from '../states/tenant-management.state'; export class TenantsResolver { /** @@ -19,9 +19,7 @@ export class TenantsResolver { resolve() { /** @type {?} */ const data = this.store.selectSnapshot(TenantManagementState.get); - return data && data.length - ? null - : this.store.dispatch(new TenantManagementGet()); + return data && data.length ? null : this.store.dispatch(new GetTenants()); } } TenantsResolver.decorators = [ @@ -38,4 +36,4 @@ if (false) { */ TenantsResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcmVzb2x2ZXJzL3RlbmFudHMucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRSxNQUFNLE9BQU8sZUFBZTs7OztJQUMxQixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsT0FBTzs7Y0FDQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQ3pCLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OztZQVRGLFVBQVU7Ozs7WUFMRixLQUFLOzs7Ozs7O0lBT0EsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRHZXQgfSBmcm9tICcuLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVuYW50c1Jlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldCk7XG4gICAgcmV0dXJuIGRhdGEgJiYgZGF0YS5sZW5ndGhcbiAgICAgPyBudWxsIFxuICAgICA6IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXQoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcmVzb2x2ZXJzL3RlbmFudHMucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHMUUsTUFBTSxPQUFPLGVBQWU7Ozs7SUFDMUIsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLE9BQU87O2NBQ0MsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQUNqRSxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDOzs7WUFQRixVQUFVOzs7O1lBTEYsS0FBSzs7Ozs7OztJQU9BLGdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc29sdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBHZXRUZW5hbnRzIH0gZnJvbSAnLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlbmFudHNSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICByZXNvbHZlKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpO1xuICAgIHJldHVybiBkYXRhICYmIGRhdGEubGVuZ3RoID8gbnVsbCA6IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldFRlbmFudHMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js index 22e2080414..358f664830 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js @@ -14,13 +14,15 @@ export class TenantManagementService { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - get() { + getTenant(params = (/** @type {?} */ ({}))) { /** @type {?} */ const request = { method: 'GET', url: '/api/multi-tenancy/tenants', + params, }; return this.rest.request(request); } @@ -28,7 +30,7 @@ export class TenantManagementService { * @param {?} id * @return {?} */ - getById(id) { + getTenantById(id) { /** @type {?} */ const request = { method: 'GET', @@ -40,7 +42,7 @@ export class TenantManagementService { * @param {?} id * @return {?} */ - delete(id) { + deleteTenant(id) { /** @type {?} */ const request = { method: 'DELETE', @@ -52,7 +54,7 @@ export class TenantManagementService { * @param {?} body * @return {?} */ - add(body) { + createTenant(body) { /** @type {?} */ const request = { method: 'POST', @@ -65,7 +67,7 @@ export class TenantManagementService { * @param {?} body * @return {?} */ - update(body) { + updateTenant(body) { /** @type {?} */ const url = `/api/multi-tenancy/tenants/${body.id}`; delete body.id; @@ -83,7 +85,7 @@ export class TenantManagementService { */ getDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'GET', @@ -98,7 +100,7 @@ export class TenantManagementService { */ updateDefaultConnectionString(payload) { /** @type {?} */ - const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`; /** @type {?} */ const request = { method: 'PUT', @@ -113,7 +115,7 @@ export class TenantManagementService { */ deleteDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'DELETE', @@ -139,4 +141,4 @@ if (false) { */ TenantManagementService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUNsQyxZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6QyxHQUFHOztjQUNLLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsNEJBQTRCO1NBQ2xDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0MsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsRUFBVTs7Y0FDVixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQixPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxFQUFVOztjQUNULE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsR0FBRyxDQUFDLElBQWlDOztjQUM3QixPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxJQUFvQzs7Y0FDbkMsR0FBRyxHQUFHLDhCQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7Y0FFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsMEJBQTBCLENBQUMsRUFBVTs7Y0FDN0IsR0FBRyxHQUFHLDhCQUE4QixFQUFFLDBCQUEwQjs7Y0FFaEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksbUJBQXdCO1lBQ3BDLEdBQUc7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsT0FBd0Q7O2NBQzlFLEdBQUcsR0FBRyw4QkFBOEIsT0FBTyxDQUFDLEVBQUUsMEJBQTBCOztjQUV4RSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILE1BQU0sRUFBRSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVELE9BQU8sQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsRUFBVTs7Y0FDaEMsR0FBRyxHQUFHLDZCQUE2QixFQUFFLDBCQUEwQjs7Y0FFL0QsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7WUF0RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVzs7Ozs7Ozs7SUFPTix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgVGVuYW50TWFuYWdlbWVudC5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXRCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgQUJQLkJhc2ljSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmw6IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBudWxsPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGFkZChib2R5OiBUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QpOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHNgLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdCwgQUJQLkJhc2ljSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGUoYm9keTogVGVuYW50TWFuYWdlbWVudC5VcGRhdGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7Ym9keS5pZH1gO1xuICAgIGRlbGV0ZSBib2R5LmlkO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdCwgQUJQLkJhc2ljSXRlbT4ocmVxdWVzdCk7XG4gIH1cblxuICBnZXREZWZhdWx0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCB1cmwgPSBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH0vZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBwYXJhbXM6IHsgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHBheWxvYWQuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgYW55PihyZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50LyR7aWR9L2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nYDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUNsQyxZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7Ozs7SUFFekMsU0FBUyxDQUFDLE1BQU0sR0FBRyxtQkFBQSxFQUFFLEVBQXVCOztjQUNwQyxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxNQUFNO1NBQ1A7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFrQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxFQUFVOztjQUNoQixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQixPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxFQUFVOztjQUNmLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLElBQWlDOztjQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxJQUFvQzs7Y0FDekMsR0FBRyxHQUFHLDhCQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7Y0FFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsMEJBQTBCLENBQUMsRUFBVTs7Y0FDN0IsR0FBRyxHQUFHLDhCQUE4QixFQUFFLDRCQUE0Qjs7Y0FFbEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksbUJBQXdCO1lBQ3BDLEdBQUc7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsT0FBd0Q7O2NBQzlFLEdBQUcsR0FBRyw4QkFBOEIsT0FBTyxDQUFDLEVBQUUsNEJBQTRCOztjQUUxRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILE1BQU0sRUFBRSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVELE9BQU8sQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsRUFBVTs7Y0FDaEMsR0FBRyxHQUFHLDZCQUE2QixFQUFFLDRCQUE0Qjs7Y0FFakUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7WUF2RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVzs7Ozs7Ozs7SUFPTix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnQvJHtpZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgYW55PihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/states/tenant-management.state.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/states/tenant-management.state.js index 7c706167fa..1edaa97052 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/states/tenant-management.state.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/states/tenant-management.state.js @@ -5,7 +5,7 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { switchMap, tap } from 'rxjs/operators'; -import { TenantManagementAdd, TenantManagementDelete, TenantManagementGet, TenantManagementGetById, TenantManagementUpdate, } from '../actions/tenant-management.actions'; +import { CreateTenant, DeleteTenant, GetTenants, GetTenantById, UpdateTenant, } from '../actions/tenant-management.actions'; import { TenantManagementService } from '../services/tenant-management.service'; let TenantManagementState = class TenantManagementState { /** @@ -25,8 +25,16 @@ let TenantManagementState = class TenantManagementState { * @param {?} __0 * @return {?} */ - get({ patchState }) { - return this.tenantManagementService.get().pipe(tap((/** + static getTenantsTotalCount({ result }) { + return result.totalCount; + } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + get({ patchState }, { payload }) { + return this.tenantManagementService.getTenant(payload).pipe(tap((/** * @param {?} result * @return {?} */ @@ -40,7 +48,7 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ getById({ patchState }, { payload }) { - return this.tenantManagementService.getById(payload).pipe(tap((/** + return this.tenantManagementService.getTenantById(payload).pipe(tap((/** * @param {?} selectedItem * @return {?} */ @@ -54,10 +62,10 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ delete({ dispatch }, { payload }) { - return this.tenantManagementService.delete(payload).pipe(switchMap((/** + return this.tenantManagementService.deleteTenant(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } /** * @param {?} __0 @@ -65,10 +73,10 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ add({ dispatch }, { payload }) { - return this.tenantManagementService.add(payload).pipe(switchMap((/** + return this.tenantManagementService.createTenant(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } /** * @param {?} __0 @@ -76,43 +84,43 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ update({ dispatch, getState }, { payload }) { - return dispatch(new TenantManagementGetById(payload.id)).pipe(switchMap((/** + return dispatch(new GetTenantById(payload.id)).pipe(switchMap((/** * @return {?} */ - () => this.tenantManagementService.update(Object.assign({}, getState().selectedItem, payload)))), switchMap((/** + () => this.tenantManagementService.updateTenant(Object.assign({}, getState().selectedItem, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } }; tslib_1.__decorate([ - Action(TenantManagementGet), + Action(GetTenants), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:paramtypes", [Object, GetTenants]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "get", null); tslib_1.__decorate([ - Action(TenantManagementGetById), + Action(GetTenantById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementGetById]), + tslib_1.__metadata("design:paramtypes", [Object, GetTenantById]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "getById", null); tslib_1.__decorate([ - Action(TenantManagementDelete), + Action(DeleteTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementDelete]), + tslib_1.__metadata("design:paramtypes", [Object, DeleteTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "delete", null); tslib_1.__decorate([ - Action(TenantManagementAdd), + Action(CreateTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementAdd]), + tslib_1.__metadata("design:paramtypes", [Object, CreateTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "add", null); tslib_1.__decorate([ - Action(TenantManagementUpdate), + Action(UpdateTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementUpdate]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "update", null); tslib_1.__decorate([ @@ -121,6 +129,12 @@ tslib_1.__decorate([ tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", Array) ], TenantManagementState, "get", null); +tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", Number) +], TenantManagementState, "getTenantsTotalCount", null); TenantManagementState = tslib_1.__decorate([ State({ name: 'TenantManagementState', @@ -136,4 +150,4 @@ if (false) { */ TenantManagementState.prototype.tenantManagementService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0lBT25FLHFCQUFxQixTQUFyQixxQkFBcUI7Ozs7SUFNaEMsWUFBb0IsdUJBQWdEO1FBQWhELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFBRyxDQUFDOzs7OztJQUp4RSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUEwQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBS0QsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUF3QztRQUN0RCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQzVDLEdBQUc7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUNYLFVBQVUsQ0FBQztZQUNULE1BQU07U0FDUCxDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUEyQjtRQUNoRyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2RCxHQUFHOzs7O1FBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDakIsVUFBVSxDQUFDO1lBQ1QsWUFBWTtTQUNiLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQTBCO1FBQzVGLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDOzs7Ozs7SUFHRCxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQXVCO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUEwQjtRQUN0RyxPQUFPLFFBQVEsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0QsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sbUJBQU0sUUFBUSxFQUFFLENBQUMsWUFBWSxFQUFLLE9BQU8sRUFBRyxFQUFDLEVBQ2hHLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUF0Q0M7SUFEQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7Ozs7Z0RBUzNCO0FBR0Q7SUFEQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7O3FEQUMyQyx1QkFBdUI7O29EQVFqRztBQUdEO0lBREMsTUFBTSxDQUFDLHNCQUFzQixDQUFDOztxREFDeUMsc0JBQXNCOzttREFFN0Y7QUFHRDtJQURDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQzs7cURBQ3lDLG1CQUFtQjs7Z0RBRXZGO0FBR0Q7SUFEQyxNQUFNLENBQUMsc0JBQXNCLENBQUM7O3FEQUNtRCxzQkFBc0I7O21EQUt2RztBQTVDRDtJQURDLFFBQVEsRUFBRTs7OztzQ0FHVjtBQUpVLHFCQUFxQjtJQUpqQyxLQUFLLENBQXlCO1FBQzdCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsUUFBUSxFQUFFLG1CQUFBLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQTBCO0tBQ3JFLENBQUM7NkNBTzZDLHVCQUF1QjtHQU56RCxxQkFBcUIsQ0ErQ2pDO1NBL0NZLHFCQUFxQjs7Ozs7O0lBTXBCLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFRlbmFudE1hbmFnZW1lbnRBZGQsXG4gIFRlbmFudE1hbmFnZW1lbnREZWxldGUsXG4gIFRlbmFudE1hbmFnZW1lbnRHZXQsXG4gIFRlbmFudE1hbmFnZW1lbnRHZXRCeUlkLFxuICBUZW5hbnRNYW5hZ2VtZW50VXBkYXRlLFxufSBmcm9tICcuLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbmFudC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQFN0YXRlPFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+KHtcbiAgbmFtZTogJ1RlbmFudE1hbmFnZW1lbnRTdGF0ZScsXG4gIGRlZmF1bHRzOiB7IHJlc3VsdDoge30sIHNlbGVjdGVkSXRlbToge30gfSBhcyBUZW5hbnRNYW5hZ2VtZW50LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0KHsgcmVzdWx0IH06IFRlbmFudE1hbmFnZW1lbnQuU3RhdGUpOiBBQlAuQmFzaWNJdGVtW10ge1xuICAgIHJldHVybiByZXN1bHQuaXRlbXMgfHwgW107XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSkge31cblxuICBAQWN0aW9uKFRlbmFudE1hbmFnZW1lbnRHZXQpXG4gIGdldCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIHRhcChyZXN1bHQgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgcmVzdWx0LFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oVGVuYW50TWFuYWdlbWVudEdldEJ5SWQpXG4gIGdldEJ5SWQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IFRlbmFudE1hbmFnZW1lbnRHZXRCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZ2V0QnlJZChwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHNlbGVjdGVkSXRlbSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW0sXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihUZW5hbnRNYW5hZ2VtZW50RGVsZXRlKVxuICBkZWxldGUoeyBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBUZW5hbnRNYW5hZ2VtZW50RGVsZXRlKSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZGVsZXRlKHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0KCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKFRlbmFudE1hbmFnZW1lbnRBZGQpXG4gIGFkZCh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IFRlbmFudE1hbmFnZW1lbnRBZGQpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS5hZGQocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXQoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oVGVuYW50TWFuYWdlbWVudFVwZGF0ZSlcbiAgdXBkYXRlKHsgZGlzcGF0Y2gsIGdldFN0YXRlIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IFRlbmFudE1hbmFnZW1lbnRVcGRhdGUpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXRCeUlkKHBheWxvYWQuaWQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UudXBkYXRlKHsgLi4uZ2V0U3RhdGUoKS5zZWxlY3RlZEl0ZW0sIC4uLnBheWxvYWQgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0KCkpKSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0lBT25FLHFCQUFxQixTQUFyQixxQkFBcUI7Ozs7SUFXaEMsWUFBb0IsdUJBQWdEO1FBQWhELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFBRyxDQUFDOzs7OztJQVR4RSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUEwQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBR0QsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxFQUEwQjtRQUM1RCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQzs7Ozs7O0lBS0QsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUFjO1FBQy9FLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3pELEdBQUc7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUNYLFVBQVUsQ0FBQztZQUNULE1BQU07U0FDUCxDQUFDLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUFpQjtRQUN0RixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3RCxHQUFHOzs7O1FBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDakIsVUFBVSxDQUFDO1lBQ1QsWUFBWTtTQUNiLENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQWdCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQzs7Ozs7O0lBR0QsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUFnQjtRQUMvRSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7Ozs7OztJQUdELE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQWdCO1FBQzVGLE9BQU8sUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakQsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksbUJBQU0sUUFBUSxFQUFFLENBQUMsWUFBWSxFQUFLLE9BQU8sRUFBRyxFQUFDLEVBQ3RHLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBdENDO0lBREMsTUFBTSxDQUFDLFVBQVUsQ0FBQzs7cURBQ29ELFVBQVU7O2dEQVFoRjtBQUdEO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQzs7cURBQ3FELGFBQWE7O29EQVF2RjtBQUdEO0lBREMsTUFBTSxDQUFDLFlBQVksQ0FBQzs7cURBQ21ELFlBQVk7O21EQUVuRjtBQUdEO0lBREMsTUFBTSxDQUFDLFlBQVksQ0FBQzs7cURBQ2dELFlBQVk7O2dEQUVoRjtBQUdEO0lBREMsTUFBTSxDQUFDLFlBQVksQ0FBQzs7cURBQzZELFlBQVk7O21EQUs3RjtBQWpERDtJQURDLFFBQVEsRUFBRTs7OztzQ0FHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzs7O3VEQUdWO0FBVFUscUJBQXFCO0lBSmpDLEtBQUssQ0FBeUI7UUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixRQUFRLEVBQUUsbUJBQUEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBMEI7S0FDckUsQ0FBQzs2Q0FZNkMsdUJBQXVCO0dBWHpELHFCQUFxQixDQW9EakM7U0FwRFkscUJBQXFCOzs7Ozs7SUFXcEIsd0RBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBTdGF0ZTxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPih7XG4gIG5hbWU6ICdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLFxuICBkZWZhdWx0czogeyByZXN1bHQ6IHt9LCBzZWxlY3RlZEl0ZW06IHt9IH0gYXMgVGVuYW50TWFuYWdlbWVudC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldCh7IHJlc3VsdCB9OiBUZW5hbnRNYW5hZ2VtZW50LlN0YXRlKTogQUJQLkJhc2ljSXRlbVtdIHtcbiAgICByZXR1cm4gcmVzdWx0Lml0ZW1zIHx8IFtdO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFRlbmFudHNUb3RhbENvdW50KHsgcmVzdWx0IH06IFRlbmFudE1hbmFnZW1lbnQuU3RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiByZXN1bHQudG90YWxDb3VudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGVuYW50TWFuYWdlbWVudFNlcnZpY2U6IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oR2V0VGVuYW50cylcbiAgZ2V0KHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRUZW5hbnRzKSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZ2V0VGVuYW50KHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAocmVzdWx0ID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKEdldFRlbmFudEJ5SWQpXG4gIGdldEJ5SWQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldFRlbmFudEJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS5nZXRUZW5hbnRCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRJdGVtID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkSXRlbSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKERlbGV0ZVRlbmFudClcbiAgZGVsZXRlKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogRGVsZXRlVGVuYW50KSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZGVsZXRlVGVuYW50KHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKENyZWF0ZVRlbmFudClcbiAgYWRkKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogQ3JlYXRlVGVuYW50KSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlVGVuYW50KHBheWxvYWQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IGRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKCkpKSk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVRlbmFudClcbiAgdXBkYXRlKHsgZGlzcGF0Y2gsIGdldFN0YXRlIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IFVwZGF0ZVRlbmFudCkge1xuICAgIHJldHVybiBkaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChwYXlsb2FkLmlkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlLnVwZGF0ZVRlbmFudCh7IC4uLmdldFN0YXRlKCkuc2VsZWN0ZWRJdGVtLCAuLi5wYXlsb2FkIH0pKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0VGVuYW50cygpKSksXG4gICAgKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/public-api.js b/npm/ng-packs/dist/tenant-management/esm2015/public-api.js index f7a8fdf145..08d96cce4e 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/public-api.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/public-api.js @@ -3,11 +3,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { TenantManagementModule } from './lib/tenant-management.module'; -export { TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete } from './lib/actions'; +export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './lib/actions'; export { TenantsComponent } from './lib/components'; export { TENANT_MANAGEMENT_ROUTES } from './lib/constants'; export {} from './lib/models'; export { TenantsResolver } from './lib/resolvers'; export { TenantManagementService } from './lib/services'; export { TenantManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxrSUFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js index 050561e296..2feb8f0b6e 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { TenantManagementModule, TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; -export { TenantManagementAdd as ɵf, TenantManagementDelete as ɵh, TenantManagementGet as ɵd, TenantManagementGetById as ɵe, TenantManagementUpdate as ɵg } from './lib/actions/tenant-management.actions'; +export { TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; +export { CreateTenant as ɵf, DeleteTenant as ɵh, GetTenantById as ɵe, GetTenants as ɵd, UpdateTenant as ɵg } from './lib/actions/tenant-management.actions'; export { TenantsComponent as ɵa } from './lib/components/tenants/tenants.component'; export { TenantsResolver as ɵk } from './lib/resolvers/tenants.resolver'; export { TenantManagementService as ɵc } from './lib/services/tenant-management.service'; export { TenantManagementState as ɵb } from './lib/states/tenant-management.state'; export { TenantManagementRoutingModule as ɵj } from './lib/tenant-management-routing.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdVFBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDcE0sT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudEFkZCBhcyDJtWYsVGVuYW50TWFuYWdlbWVudERlbGV0ZSBhcyDJtWgsVGVuYW50TWFuYWdlbWVudEdldCBhcyDJtWQsVGVuYW50TWFuYWdlbWVudEdldEJ5SWQgYXMgybVlLFRlbmFudE1hbmFnZW1lbnRVcGRhdGUgYXMgybVnfSBmcm9tICcuL2xpYi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtUZW5hbnRzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50JztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudCBhcyDJtWl9IGZyb20gJy4vbGliL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5leHBvcnQge1RlbmFudHNSZXNvbHZlciBhcyDJtWt9IGZyb20gJy4vbGliL3Jlc29sdmVycy90ZW5hbnRzLnJlc29sdmVyJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcbmV4cG9ydCB7VGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUgYXMgybVqfSBmcm9tICcuL2xpYi90ZW5hbnQtbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseU5BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/actions/index.js b/npm/ng-packs/dist/tenant-management/esm5/lib/actions/index.js index 02fc8c5fbe..ea957604fe 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/actions/index.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete } from './tenant-management.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGtJQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbiJdfQ== \ No newline at end of file +export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './tenant-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG9GQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/actions/tenant-management.actions.js b/npm/ng-packs/dist/tenant-management/esm5/lib/actions/tenant-management.actions.js index d23f1d8d38..1973f51930 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/actions/tenant-management.actions.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/actions/tenant-management.actions.js @@ -2,71 +2,74 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var TenantManagementGet = /** @class */ (function () { - function TenantManagementGet() { +var GetTenants = /** @class */ (function () { + function GetTenants(payload) { + this.payload = payload; } - TenantManagementGet.type = '[TenantManagement] Get'; - return TenantManagementGet; + GetTenants.type = '[TenantManagement] Get Tenant'; + return GetTenants; }()); -export { TenantManagementGet }; +export { GetTenants }; if (false) { /** @type {?} */ - TenantManagementGet.type; + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; } -var TenantManagementGetById = /** @class */ (function () { - function TenantManagementGetById(payload) { +var GetTenantById = /** @class */ (function () { + function GetTenantById(payload) { this.payload = payload; } - TenantManagementGetById.type = '[TenantManagement] Get By Id'; - return TenantManagementGetById; + GetTenantById.type = '[TenantManagement] Get Tenant By Id'; + return GetTenantById; }()); -export { TenantManagementGetById }; +export { GetTenantById }; if (false) { /** @type {?} */ - TenantManagementGetById.type; + GetTenantById.type; /** @type {?} */ - TenantManagementGetById.prototype.payload; + GetTenantById.prototype.payload; } -var TenantManagementAdd = /** @class */ (function () { - function TenantManagementAdd(payload) { +var CreateTenant = /** @class */ (function () { + function CreateTenant(payload) { this.payload = payload; } - TenantManagementAdd.type = '[TenantManagement] Add'; - return TenantManagementAdd; + CreateTenant.type = '[TenantManagement] Create Tenant'; + return CreateTenant; }()); -export { TenantManagementAdd }; +export { CreateTenant }; if (false) { /** @type {?} */ - TenantManagementAdd.type; + CreateTenant.type; /** @type {?} */ - TenantManagementAdd.prototype.payload; + CreateTenant.prototype.payload; } -var TenantManagementUpdate = /** @class */ (function () { - function TenantManagementUpdate(payload) { +var UpdateTenant = /** @class */ (function () { + function UpdateTenant(payload) { this.payload = payload; } - TenantManagementUpdate.type = '[TenantManagement] Update'; - return TenantManagementUpdate; + UpdateTenant.type = '[TenantManagement] Update Tenant'; + return UpdateTenant; }()); -export { TenantManagementUpdate }; +export { UpdateTenant }; if (false) { /** @type {?} */ - TenantManagementUpdate.type; + UpdateTenant.type; /** @type {?} */ - TenantManagementUpdate.prototype.payload; + UpdateTenant.prototype.payload; } -var TenantManagementDelete = /** @class */ (function () { - function TenantManagementDelete(payload) { +var DeleteTenant = /** @class */ (function () { + function DeleteTenant(payload) { this.payload = payload; } - TenantManagementDelete.type = '[TenantManagement] Delete'; - return TenantManagementDelete; + DeleteTenant.type = '[TenantManagement] Delete Tenant'; + return DeleteTenant; }()); -export { TenantManagementDelete }; +export { DeleteTenant }; if (false) { /** @type {?} */ - TenantManagementDelete.type; + DeleteTenant.type; /** @type {?} */ - TenantManagementDelete.prototype.payload; + DeleteTenant.prototype.payload; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUFBO0lBRUEsQ0FBQztJQURpQix3QkFBSSxHQUFHLHdCQUF3QixDQUFDO0lBQ2xELDBCQUFDO0NBQUEsQUFGRCxJQUVDO1NBRlksbUJBQW1COzs7SUFDOUIseUJBQWdEOztBQUdsRDtJQUVFLGlDQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsNEJBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUV4RCw4QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLHVCQUF1Qjs7O0lBQ2xDLDZCQUFzRDs7SUFDMUMsMENBQXNCOztBQUdwQztJQUVFLDZCQUFtQixPQUFvQztRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUE2QjtJQUFHLENBQUM7SUFEM0Msd0JBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUVsRCwwQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLG1CQUFtQjs7O0lBQzlCLHlCQUFnRDs7SUFDcEMsc0NBQTJDOztBQUd6RDtJQUVFLGdDQUFtQixPQUF1QztRQUF2QyxZQUFPLEdBQVAsT0FBTyxDQUFnQztJQUFHLENBQUM7SUFEOUMsMkJBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVyRCw2QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLHNCQUFzQjs7O0lBQ2pDLDRCQUFtRDs7SUFDdkMseUNBQThDOztBQUc1RDtJQUVFLGdDQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsMkJBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVyRCw2QkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLHNCQUFzQjs7O0lBQ2pDLDRCQUFtRDs7SUFDdkMseUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50R2V0IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1RlbmFudE1hbmFnZW1lbnRdIEdldCc7XG59XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tUZW5hbnRNYW5hZ2VtZW50XSBHZXQgQnkgSWQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudEFkZCB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tUZW5hbnRNYW5hZ2VtZW50XSBBZGQnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFVwZGF0ZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tUZW5hbnRNYW5hZ2VtZW50XSBVcGRhdGUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogVGVuYW50TWFuYWdlbWVudC5VcGRhdGVSZXF1ZXN0KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudERlbGV0ZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tUZW5hbnRNYW5hZ2VtZW50XSBEZWxldGUnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogc3RyaW5nKSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQTtJQUVFLG9CQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7SUFEcEMsZUFBSSxHQUFHLCtCQUErQixDQUFDO0lBRXpELGlCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksVUFBVTs7O0lBQ3JCLGdCQUF1RDs7SUFDM0MsNkJBQW9DOztBQUdsRDtJQUVFLHVCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsa0JBQUksR0FBRyxxQ0FBcUMsQ0FBQztJQUUvRCxvQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLGFBQWE7OztJQUN4QixtQkFBNkQ7O0lBQ2pELGdDQUFzQjs7QUFHcEM7SUFFRSxzQkFBbUIsT0FBb0M7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBNkI7SUFBRyxDQUFDO0lBRDNDLGlCQUFJLEdBQUcsa0NBQWtDLENBQUM7SUFFNUQsbUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxZQUFZOzs7SUFDdkIsa0JBQTBEOztJQUM5QywrQkFBMkM7O0FBR3pEO0lBRUUsc0JBQW1CLE9BQXVDO1FBQXZDLFlBQU8sR0FBUCxPQUFPLENBQWdDO0lBQUcsQ0FBQztJQUQ5QyxpQkFBSSxHQUFHLGtDQUFrQyxDQUFDO0lBRTVELG1CQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksWUFBWTs7O0lBQ3ZCLGtCQUEwRDs7SUFDOUMsK0JBQThDOztBQUc1RDtJQUVFLHNCQUFtQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFEdEIsaUJBQUksR0FBRyxrQ0FBa0MsQ0FBQztJQUU1RCxtQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFlBQVk7OztJQUN2QixrQkFBMEQ7O0lBQzlDLCtCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNsYXNzIEdldFRlbmFudHMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gR2V0IFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogQUJQLlBhZ2VRdWVyeVBhcmFtcykge31cbn1cblxuZXhwb3J0IGNsYXNzIEdldFRlbmFudEJ5SWQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gR2V0IFRlbmFudCBCeSBJZCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gQ3JlYXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gVXBkYXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3QpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUZW5hbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbVGVuYW50TWFuYWdlbWVudF0gRGVsZXRlIFRlbmFudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js index f519a89863..a2d7ec70e2 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js @@ -8,8 +8,8 @@ import { Component, TemplateRef, ViewChild } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { pluck, switchMap, take } from 'rxjs/operators'; -import { TenantManagementAdd, TenantManagementDelete, TenantManagementGetById, TenantManagementUpdate, } from '../../actions/tenant-management.actions'; +import { finalize, pluck, switchMap, take } from 'rxjs/operators'; +import { CreateTenant, DeleteTenant, GetTenants, GetTenantById, UpdateTenant, } from '../../actions/tenant-management.actions'; import { TenantManagementService } from '../../services/tenant-management.service'; import { TenantManagementState } from '../../states/tenant-management.state'; var TenantsComponent = /** @class */ (function () { @@ -19,6 +19,10 @@ var TenantsComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -40,6 +44,18 @@ var TenantsComponent = /** @class */ (function () { enumerable: true, configurable: true }); + /** + * @param {?} value + * @return {?} + */ + TenantsComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @private * @return {?} @@ -98,7 +114,7 @@ var TenantsComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem'), switchMap((/** * @param {?} selected * @return {?} @@ -118,17 +134,6 @@ var TenantsComponent = /** @class */ (function () { _this.openModal('AbpTenantManagement::ConnectionStrings', _this.connectionStringModalTemplate, 'saveConnStr'); })); }; - /** - * @param {?} id - * @return {?} - */ - TenantsComponent.prototype.onManageFeatures = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures'); - }; /** * @return {?} */ @@ -151,7 +156,7 @@ var TenantsComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem')) .subscribe((/** * @param {?} selected @@ -221,8 +226,8 @@ var TenantsComponent = /** @class */ (function () { return; this.store .dispatch(this.selected.id - ? new TenantManagementUpdate(tslib_1.__assign({}, this.tenantForm.value, { id: this.selected.id })) - : new TenantManagementAdd(this.tenantForm.value)) + ? new UpdateTenant(tslib_1.__assign({}, this.tenantForm.value, { id: this.selected.id })) + : new CreateTenant(this.tenantForm.value)) .subscribe((/** * @return {?} */ @@ -252,14 +257,44 @@ var TenantsComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new TenantManagementDelete(id)); + _this.store.dispatch(new DeleteTenant(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + TenantsComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + TenantsComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetTenants(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -271,19 +306,24 @@ var TenantsComponent = /** @class */ (function () { ]; }; TenantsComponent.propDecorators = { tenantModalTemplate: [{ type: ViewChild, args: ['tenantModalTemplate', { static: false },] }], - connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }], - featuresModalTemplate: [{ type: ViewChild, args: ['featuresModalTemplate', { static: false },] }] + connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }] }; tslib_1.__decorate([ Select(TenantManagementState.get), tslib_1.__metadata("design:type", Observable) - ], TenantsComponent.prototype, "datas$", void 0); + ], TenantsComponent.prototype, "data$", void 0); + tslib_1.__decorate([ + Select(TenantManagementState.getTenantsTotalCount), + tslib_1.__metadata("design:type", Observable) + ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); export { TenantsComponent }; if (false) { /** @type {?} */ - TenantsComponent.prototype.datas$; + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; /** @type {?} */ TenantsComponent.prototype.selected; /** @type {?} */ @@ -299,11 +339,13 @@ if (false) { /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; - /** @type {?} */ - TenantsComponent.prototype.featuresModalTemplate; /** * @type {?} * @private @@ -325,4 +367,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBdUNFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBekJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7SUEwQi9DLENBQUM7SUF0Qkosc0JBQUksK0NB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LFFBQVEsRUFBRSxhQUFhO29CQUN2QiwwNUtBQXVDO2lCQUN4Qzs7OztnQkF4QlEsbUJBQW1CO2dCQVluQix1QkFBdUI7Z0JBVnZCLFdBQVc7Z0JBQ0gsS0FBSzs7O3NDQWdEbkIsU0FBUyxTQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnREFHbEQsU0FBUyxTQUFDLCtCQUErQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt3Q0FHNUQsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUE5QnJEO1FBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQzswQ0FDMUIsVUFBVTtvREFBa0I7SUF3SnRDLHVCQUFDO0NBQUEsQUE5SkQsSUE4SkM7U0ExSlksZ0JBQWdCOzs7SUFDM0Isa0NBQ29DOztJQUVwQyxvQ0FBd0I7O0lBRXhCLHNDQUFzQjs7SUFFdEIsdURBQXVDOztJQUV2QyxtREFBZ0M7O0lBRWhDLDBDQUF3Qjs7SUFFeEIsZ0RBQWtEOztJQUVsRCw4Q0FBNEI7O0lBVTVCLCtDQUNzQzs7SUFFdEMseURBQ2dEOztJQUVoRCxpREFDd0M7Ozs7O0lBR3RDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBUZW5hbnRNYW5hZ2VtZW50QWRkLFxuICBUZW5hbnRNYW5hZ2VtZW50RGVsZXRlLFxuICBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZCxcbiAgVGVuYW50TWFuYWdlbWVudFVwZGF0ZSxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGFzJDogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtW10+O1xuXG4gIHNlbGVjdGVkOiBBQlAuQmFzaWNJdGVtO1xuXG4gIHRlbmFudEZvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogc3RyaW5nO1xuXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuXG4gIHNlbGVjdGVkTW9kYWxDb250ZW50ID0ge30gYXMgU2VsZWN0ZWRNb2RhbENvbnRlbnQ7XG5cbiAgX3VzZVNoYXJlZERhdGFiYXNlOiBib29sZWFuO1xuXG4gIGdldCB1c2VTaGFyZWREYXRhYmFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0uZ2V0KCd1c2VTaGFyZWREYXRhYmFzZScpLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpb25TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0uZ2V0KCdkZWZhdWx0Q29ubmVjdGlvblN0cmluZycpLnZhbHVlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGVuYW50TW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICB0ZW5hbnRNb2RhbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Nvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZlYXR1cmVzTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBmZWF0dXJlc01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZChpZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgcGx1Y2soJ1RlbmFudE1hbmFnZW1lbnRTdGF0ZScsICdzZWxlY3RlZEl0ZW0nKSxcbiAgICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVuYW50U2VydmljZS5nZXREZWZhdWx0Q29ubmVjdGlvblN0cmluZyhpZCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA9PiB7XG4gICAgICAgIHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nIDogJyc7XG4gICAgICAgIHRoaXMuY3JlYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDb25uZWN0aW9uU3RyaW5ncycsIHRoaXMuY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUsICdzYXZlQ29ublN0cicpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbk1hbmFnZUZlYXR1cmVzKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6RmVhdHVyZXMnLCB0aGlzLmZlYXR1cmVzTW9kYWxUZW1wbGF0ZSwgJ3NhdmVGZWF0dXJlcycpO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBUZW5hbnRNYW5hZ2VtZW50VXBkYXRlKHsgLi4udGhpcy50ZW5hbnRGb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IFRlbmFudE1hbmFnZW1lbnRBZGQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnREZWxldGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBNkNFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBNUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBVXpCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js b/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js index 8fbf458b12..0e984824ba 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js @@ -5,18 +5,19 @@ /** @type {?} */ export var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ { - name: 'Tenant Management', + name: 'AbpTenantManagement::Menu:TenantManagement', path: 'tenant-management', - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-users', children: [ { path: 'tenants', - name: 'Tenants', + name: 'AbpTenantManagement::Tenants', order: 1, requiredPolicy: 'AbpTenantManagement.Tenants', }, ], }, ])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsTUFBTSxpQ0FBeUI7UUFDL0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ1RlbmFudCBNYW5hZ2VtZW50JyxcbiAgICBwYXRoOiAndGVuYW50LW1hbmFnZW1lbnQnLFxuICAgIHBhcmVudE5hbWU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLDRDQUE0QztRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7UUFDbEQsTUFBTSxpQ0FBeUI7UUFDL0IsU0FBUyxFQUFFLGFBQWE7UUFDeEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgcGF0aDogJ3RlbmFudC1tYW5hZ2VtZW50JyxcbiAgICBwYXJlbnROYW1lOiAnQWJwVWlOYXZpZ2F0aW9uOjpNZW51OkFkbWluaXN0cmF0aW9uJyxcbiAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgIGljb25DbGFzczogJ2ZhIGZhLXVzZXJzJyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/resolvers/tenants.resolver.js b/npm/ng-packs/dist/tenant-management/esm5/lib/resolvers/tenants.resolver.js index 62f98b6b28..5868fc3af1 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/resolvers/tenants.resolver.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/resolvers/tenants.resolver.js @@ -4,7 +4,7 @@ */ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { TenantManagementGet } from '../actions/tenant-management.actions'; +import { GetTenants } from '../actions/tenant-management.actions'; import { TenantManagementState } from '../states/tenant-management.state'; var TenantsResolver = /** @class */ (function () { function TenantsResolver(store) { @@ -19,9 +19,7 @@ var TenantsResolver = /** @class */ (function () { function () { /** @type {?} */ var data = this.store.selectSnapshot(TenantManagementState.get); - return data && data.length - ? null - : this.store.dispatch(new TenantManagementGet()); + return data && data.length ? null : this.store.dispatch(new GetTenants()); }; TenantsResolver.decorators = [ { type: Injectable } @@ -40,4 +38,4 @@ if (false) { */ TenantsResolver.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcmVzb2x2ZXJzL3RlbmFudHMucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRTtJQUVFLHlCQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7SUFFcEMsaUNBQU87OztJQUFQOztZQUNRLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7UUFDakUsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU07WUFDekIsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Z0JBVEYsVUFBVTs7OztnQkFMRixLQUFLOztJQWVkLHNCQUFDO0NBQUEsQUFWRCxJQVVDO1NBVFksZUFBZTs7Ozs7O0lBQ2QsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRHZXQgfSBmcm9tICcuLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVuYW50c1Jlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHJlc29sdmUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldCk7XG4gICAgcmV0dXJuIGRhdGEgJiYgZGF0YS5sZW5ndGhcbiAgICAgPyBudWxsIFxuICAgICA6IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXQoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcmVzb2x2ZXJzL3RlbmFudHMucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUU7SUFFRSx5QkFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDOzs7O0lBRXBDLGlDQUFPOzs7SUFBUDs7WUFDUSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2dCQVBGLFVBQVU7Ozs7Z0JBTEYsS0FBSzs7SUFhZCxzQkFBQztDQUFBLEFBUkQsSUFRQztTQVBZLGVBQWU7Ozs7OztJQUNkLGdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc29sdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBHZXRUZW5hbnRzIH0gZnJvbSAnLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlbmFudHNSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICByZXNvbHZlKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpO1xuICAgIHJldHVybiBkYXRhICYmIGRhdGEubGVuZ3RoID8gbnVsbCA6IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldFRlbmFudHMoKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js b/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js index 573a7d285f..2beb81ecaa 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js @@ -11,16 +11,20 @@ var TenantManagementService = /** @class */ (function () { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - TenantManagementService.prototype.get = /** + TenantManagementService.prototype.getTenant = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/multi-tenancy/tenants', + params: params, }; return this.rest.request(request); }; @@ -28,7 +32,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} id * @return {?} */ - TenantManagementService.prototype.getById = /** + TenantManagementService.prototype.getTenantById = /** * @param {?} id * @return {?} */ @@ -44,7 +48,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} id * @return {?} */ - TenantManagementService.prototype.delete = /** + TenantManagementService.prototype.deleteTenant = /** * @param {?} id * @return {?} */ @@ -60,7 +64,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} body * @return {?} */ - TenantManagementService.prototype.add = /** + TenantManagementService.prototype.createTenant = /** * @param {?} body * @return {?} */ @@ -77,7 +81,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} body * @return {?} */ - TenantManagementService.prototype.update = /** + TenantManagementService.prototype.updateTenant = /** * @param {?} body * @return {?} */ @@ -103,7 +107,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'GET', @@ -122,7 +126,7 @@ var TenantManagementService = /** @class */ (function () { */ function (payload) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + payload.id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + payload.id + "/default-connection-string"; /** @type {?} */ var request = { method: 'PUT', @@ -141,7 +145,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -169,4 +173,4 @@ if (false) { */ TenantManagementService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSxpQ0FBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7SUFFekMscUNBQUc7OztJQUFIOztZQUNRLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsNEJBQTRCO1NBQ2xDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0MsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFFRCx5Q0FBTzs7OztJQUFQLFVBQVEsRUFBVTs7WUFDVixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLGdDQUE4QixFQUFJO1NBQ3hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBc0IsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Ozs7SUFFRCx3Q0FBTTs7OztJQUFOLFVBQU8sRUFBVTs7WUFDVCxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxnQ0FBOEIsRUFBSTtTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQWEsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Ozs7SUFFRCxxQ0FBRzs7OztJQUFILFVBQUksSUFBaUM7O1lBQzdCLE9BQU8sR0FBOEM7WUFDekQsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsNEJBQTRCO1lBQ2pDLElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBNkMsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7Ozs7SUFFRCx3Q0FBTTs7OztJQUFOLFVBQU8sSUFBb0M7O1lBQ25DLEdBQUcsR0FBRyxnQ0FBOEIsSUFBSSxDQUFDLEVBQUk7UUFDbkQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDOztZQUVULE9BQU8sR0FBaUQ7WUFDNUQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEtBQUE7WUFDSCxJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsNERBQTBCOzs7O0lBQTFCLFVBQTJCLEVBQVU7O1lBQzdCLEdBQUcsR0FBRyxnQ0FBOEIsRUFBRSw2QkFBMEI7O1lBRWhFLE9BQU8sR0FBa0U7WUFDN0UsTUFBTSxFQUFFLEtBQUs7WUFDYixZQUFZLG1CQUF3QjtZQUNwQyxHQUFHLEtBQUE7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Ozs7O0lBRUQsK0RBQTZCOzs7O0lBQTdCLFVBQThCLE9BQXdEOztZQUM5RSxHQUFHLEdBQUcsZ0NBQThCLE9BQU8sQ0FBQyxFQUFFLDZCQUEwQjs7WUFFeEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsS0FBQTtZQUNILE1BQU0sRUFBRSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVELE9BQU8sQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsK0RBQTZCOzs7O0lBQTdCLFVBQThCLEVBQVU7O1lBQ2hDLEdBQUcsR0FBRywrQkFBNkIsRUFBRSw2QkFBMEI7O1lBRS9ELE9BQU8sR0FBa0U7WUFDN0UsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxLQUFBO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOztnQkF0RkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFMUSxXQUFXOzs7a0NBRnBCO0NBNEZDLEFBdkZELElBdUZDO1NBcEZZLHVCQUF1Qjs7Ozs7O0lBQ3RCLHVDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0LCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy90ZW5hbnQtbWFuYWdlbWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VGVuYW50TWFuYWdlbWVudC5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cycsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldEJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2lkfWAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBBQlAuQmFzaWNJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIG51bGw+KHJlcXVlc3QpO1xuICB9XG5cbiAgYWRkKGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50c2AsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0LCBBQlAuQmFzaWNJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZShib2R5OiBUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3QpOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW0+IHtcbiAgICBjb25zdCB1cmwgPSBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtib2R5LmlkfWA7XG4gICAgZGVsZXRlIGJvZHkuaWQ7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5VcGRhdGVSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0LCBBQlAuQmFzaWNJdGVtPihyZXF1ZXN0KTtcbiAgfVxuXG4gIGdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2lkfS9kZWZhdWx0Q29ubmVjdGlvblN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHJlc3BvbnNlVHlwZTogUmVzdC5SZXNwb25zZVR5cGUuVGV4dCxcbiAgICAgIHVybCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgc3RyaW5nPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHBheWxvYWQ6IFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtwYXlsb2FkLmlkfS9kZWZhdWx0Q29ubmVjdGlvblN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnQvJHtpZH0vZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIGFueT4ocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSxpQ0FBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLDJDQUFTOzs7O0lBQVQsVUFBVSxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ3BDLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsNEJBQTRCO1lBQ2pDLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0MsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFFRCwrQ0FBYTs7OztJQUFiLFVBQWMsRUFBVTs7WUFDaEIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxnQ0FBOEIsRUFBSTtTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXNCLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLEVBQVU7O1lBQ2YsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsZ0NBQThCLEVBQUk7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQWlDOztZQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQW9DOztZQUN6QyxHQUFHLEdBQUcsZ0NBQThCLElBQUksQ0FBQyxFQUFJO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7WUFFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFBO1lBQ0gsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELDREQUEwQjs7OztJQUExQixVQUEyQixFQUFVOztZQUM3QixHQUFHLEdBQUcsZ0NBQThCLEVBQUUsK0JBQTRCOztZQUVsRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsWUFBWSxtQkFBd0I7WUFDcEMsR0FBRyxLQUFBO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwRCxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixPQUF3RDs7WUFDOUUsR0FBRyxHQUFHLGdDQUE4QixPQUFPLENBQUMsRUFBRSwrQkFBNEI7O1lBRTFFLE9BQU8sR0FBa0U7WUFDN0UsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEtBQUE7WUFDSCxNQUFNLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUU7U0FDckU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixFQUFVOztZQUNoQyxHQUFHLEdBQUcsK0JBQTZCLEVBQUUsK0JBQTRCOztZQUVqRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsS0FBQTtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUQsT0FBTyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7Z0JBdkZGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVzs7O2tDQUZwQjtDQTZGQyxBQXhGRCxJQXdGQztTQXJGWSx1QkFBdUI7Ozs7OztJQUN0Qix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnQvJHtpZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgYW55PihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/states/tenant-management.state.js b/npm/ng-packs/dist/tenant-management/esm5/lib/states/tenant-management.state.js index 9cde8123b8..7ed11134e9 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/states/tenant-management.state.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/states/tenant-management.state.js @@ -5,7 +5,7 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { switchMap, tap } from 'rxjs/operators'; -import { TenantManagementAdd, TenantManagementDelete, TenantManagementGet, TenantManagementGetById, TenantManagementUpdate, } from '../actions/tenant-management.actions'; +import { CreateTenant, DeleteTenant, GetTenants, GetTenantById, UpdateTenant, } from '../actions/tenant-management.actions'; import { TenantManagementService } from '../services/tenant-management.service'; var TenantManagementState = /** @class */ (function () { function TenantManagementState(tenantManagementService) { @@ -27,13 +27,28 @@ var TenantManagementState = /** @class */ (function () { * @param {?} __0 * @return {?} */ - TenantManagementState.prototype.get = /** + TenantManagementState.getTenantsTotalCount = /** * @param {?} __0 * @return {?} */ function (_a) { + var result = _a.result; + return result.totalCount; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + TenantManagementState.prototype.get = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { var patchState = _a.patchState; - return this.tenantManagementService.get().pipe(tap((/** + var payload = _b.payload; + return this.tenantManagementService.getTenant(payload).pipe(tap((/** * @param {?} result * @return {?} */ @@ -56,7 +71,7 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; - return this.tenantManagementService.getById(payload).pipe(tap((/** + return this.tenantManagementService.getTenantById(payload).pipe(tap((/** * @param {?} selectedItem * @return {?} */ @@ -79,10 +94,10 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.delete(payload).pipe(switchMap((/** + return this.tenantManagementService.deleteTenant(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -97,10 +112,10 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.add(payload).pipe(switchMap((/** + return this.tenantManagementService.createTenant(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -116,42 +131,42 @@ var TenantManagementState = /** @class */ (function () { var _this = this; var dispatch = _a.dispatch, getState = _a.getState; var payload = _b.payload; - return dispatch(new TenantManagementGetById(payload.id)).pipe(switchMap((/** + return dispatch(new GetTenantById(payload.id)).pipe(switchMap((/** * @return {?} */ - function () { return _this.tenantManagementService.update(tslib_1.__assign({}, getState().selectedItem, payload)); })), switchMap((/** + function () { return _this.tenantManagementService.updateTenant(tslib_1.__assign({}, getState().selectedItem, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; tslib_1.__decorate([ - Action(TenantManagementGet), + Action(GetTenants), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:paramtypes", [Object, GetTenants]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "get", null); tslib_1.__decorate([ - Action(TenantManagementGetById), + Action(GetTenantById), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementGetById]), + tslib_1.__metadata("design:paramtypes", [Object, GetTenantById]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "getById", null); tslib_1.__decorate([ - Action(TenantManagementDelete), + Action(DeleteTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementDelete]), + tslib_1.__metadata("design:paramtypes", [Object, DeleteTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "delete", null); tslib_1.__decorate([ - Action(TenantManagementAdd), + Action(CreateTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementAdd]), + tslib_1.__metadata("design:paramtypes", [Object, CreateTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "add", null); tslib_1.__decorate([ - Action(TenantManagementUpdate), + Action(UpdateTenant), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, TenantManagementUpdate]), + tslib_1.__metadata("design:paramtypes", [Object, UpdateTenant]), tslib_1.__metadata("design:returntype", void 0) ], TenantManagementState.prototype, "update", null); tslib_1.__decorate([ @@ -160,6 +175,12 @@ var TenantManagementState = /** @class */ (function () { tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", Array) ], TenantManagementState, "get", null); + tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", Number) + ], TenantManagementState, "getTenantsTotalCount", null); TenantManagementState = tslib_1.__decorate([ State({ name: 'TenantManagementState', @@ -177,4 +198,4 @@ if (false) { */ TenantManagementState.prototype.tenantManagementService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztJQWE5RSwrQkFBb0IsdUJBQWdEO1FBQWhELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFBRyxDQUFDOzs7OztJQUpqRSx5QkFBRzs7OztJQUFWLFVBQVcsRUFBa0M7WUFBaEMsa0JBQU07UUFDakIsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7OztJQUtELG1DQUFHOzs7O0lBQUgsVUFBSSxFQUFvRDtZQUFsRCwwQkFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDNUMsR0FBRzs7OztRQUFDLFVBQUEsTUFBTTtZQUNSLE9BQUEsVUFBVSxDQUFDO2dCQUNULE1BQU0sUUFBQTthQUNQLENBQUM7UUFGRixDQUVFLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0QsdUNBQU87Ozs7O0lBQVAsVUFBUSxFQUFvRCxFQUFFLEVBQW9DO1lBQXhGLDBCQUFVO1lBQTRDLG9CQUFPO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUc7Ozs7UUFBQyxVQUFBLFlBQVk7WUFDZCxPQUFBLFVBQVUsQ0FBQztnQkFDVCxZQUFZLGNBQUE7YUFDYixDQUFDO1FBRkYsQ0FFRSxFQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUdELHNDQUFNOzs7OztJQUFOLFVBQU8sRUFBa0QsRUFBRSxFQUFtQztZQUFyRixzQkFBUTtZQUE0QyxvQkFBTztRQUNsRSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxRQUFRLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLEVBQW5DLENBQW1DLEVBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7Ozs7OztJQUdELG1DQUFHOzs7OztJQUFILFVBQUksRUFBa0QsRUFBRSxFQUFnQztZQUFsRixzQkFBUTtZQUE0QyxvQkFBTztRQUMvRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxRQUFRLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLEVBQW5DLENBQW1DLEVBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7Ozs7OztJQUdELHNDQUFNOzs7OztJQUFOLFVBQU8sRUFBNEQsRUFBRSxFQUFtQztRQUR4RyxpQkFNQztZQUxRLHNCQUFRLEVBQUUsc0JBQVE7WUFBNEMsb0JBQU87UUFDNUUsT0FBTyxRQUFRLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNELFNBQVM7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxzQkFBTSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUssT0FBTyxFQUFHLEVBQS9FLENBQStFLEVBQUMsRUFDaEcsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBbkMsQ0FBbUMsRUFBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQXJDRDtRQURDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQzs7OztvREFTM0I7SUFHRDtRQURDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQzs7eURBQzJDLHVCQUF1Qjs7d0RBUWpHO0lBR0Q7UUFEQyxNQUFNLENBQUMsc0JBQXNCLENBQUM7O3lEQUN5QyxzQkFBc0I7O3VEQUU3RjtJQUdEO1FBREMsTUFBTSxDQUFDLG1CQUFtQixDQUFDOzt5REFDeUMsbUJBQW1COztvREFFdkY7SUFHRDtRQURDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQzs7eURBQ21ELHNCQUFzQjs7dURBS3ZHO0lBNUNEO1FBREMsUUFBUSxFQUFFOzs7OzBDQUdWO0lBSlUscUJBQXFCO1FBSmpDLEtBQUssQ0FBeUI7WUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixRQUFRLEVBQUUsbUJBQUEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBMEI7U0FDckUsQ0FBQztpREFPNkMsdUJBQXVCO09BTnpELHFCQUFxQixDQStDakM7SUFBRCw0QkFBQztDQUFBLElBQUE7U0EvQ1kscUJBQXFCOzs7Ozs7SUFNcEIsd0RBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgVGVuYW50TWFuYWdlbWVudEFkZCxcbiAgVGVuYW50TWFuYWdlbWVudERlbGV0ZSxcbiAgVGVuYW50TWFuYWdlbWVudEdldCxcbiAgVGVuYW50TWFuYWdlbWVudEdldEJ5SWQsXG4gIFRlbmFudE1hbmFnZW1lbnRVcGRhdGUsXG59IGZyb20gJy4uL2FjdGlvbnMvdGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RlbmFudC1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AU3RhdGU8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4oe1xuICBuYW1lOiAnVGVuYW50TWFuYWdlbWVudFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcmVzdWx0OiB7fSwgc2VsZWN0ZWRJdGVtOiB7fSB9IGFzIFRlbmFudE1hbmFnZW1lbnQuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXQoeyByZXN1bHQgfTogVGVuYW50TWFuYWdlbWVudC5TdGF0ZSk6IEFCUC5CYXNpY0l0ZW1bXSB7XG4gICAgcmV0dXJuIHJlc3VsdC5pdGVtcyB8fCBbXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGVuYW50TWFuYWdlbWVudFNlcnZpY2U6IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oVGVuYW50TWFuYWdlbWVudEdldClcbiAgZ2V0KHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4pIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihUZW5hbnRNYW5hZ2VtZW50R2V0QnlJZClcbiAgZ2V0QnlJZCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogVGVuYW50TWFuYWdlbWVudEdldEJ5SWQpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS5nZXRCeUlkKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoc2VsZWN0ZWRJdGVtID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGVkSXRlbSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFRlbmFudE1hbmFnZW1lbnREZWxldGUpXG4gIGRlbGV0ZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IFRlbmFudE1hbmFnZW1lbnREZWxldGUpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS5kZWxldGUocGF5bG9hZCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXQoKSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oVGVuYW50TWFuYWdlbWVudEFkZClcbiAgYWRkKHsgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogVGVuYW50TWFuYWdlbWVudEFkZCkge1xuICAgIHJldHVybiB0aGlzLnRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlLmFkZChwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgVGVuYW50TWFuYWdlbWVudEdldCgpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihUZW5hbnRNYW5hZ2VtZW50VXBkYXRlKVxuICB1cGRhdGUoeyBkaXNwYXRjaCwgZ2V0U3RhdGUgfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogVGVuYW50TWFuYWdlbWVudFVwZGF0ZSkge1xuICAgIHJldHVybiBkaXNwYXRjaChuZXcgVGVuYW50TWFuYWdlbWVudEdldEJ5SWQocGF5bG9hZC5pZCkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS51cGRhdGUoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkSXRlbSwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IFRlbmFudE1hbmFnZW1lbnRHZXQoKSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztJQWtCOUUsK0JBQW9CLHVCQUFnRDtRQUFoRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO0lBQUcsQ0FBQzs7Ozs7SUFUakUseUJBQUc7Ozs7SUFBVixVQUFXLEVBQWtDO1lBQWhDLGtCQUFNO1FBQ2pCLE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Ozs7SUFHTSwwQ0FBb0I7Ozs7SUFBM0IsVUFBNEIsRUFBa0M7WUFBaEMsa0JBQU07UUFDbEMsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7Ozs7OztJQUtELG1DQUFHOzs7OztJQUFILFVBQUksRUFBb0QsRUFBRSxFQUF1QjtZQUEzRSwwQkFBVTtZQUE0QyxvQkFBTztRQUNqRSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN6RCxHQUFHOzs7O1FBQUMsVUFBQSxNQUFNO1lBQ1IsT0FBQSxVQUFVLENBQUM7Z0JBQ1QsTUFBTSxRQUFBO2FBQ1AsQ0FBQztRQUZGLENBRUUsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCx1Q0FBTzs7Ozs7SUFBUCxVQUFRLEVBQW9ELEVBQUUsRUFBMEI7WUFBOUUsMEJBQVU7WUFBNEMsb0JBQU87UUFDckUsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRzs7OztRQUFDLFVBQUEsWUFBWTtZQUNkLE9BQUEsVUFBVSxDQUFDO2dCQUNULFlBQVksY0FBQTthQUNiLENBQUM7UUFGRixDQUVFLEVBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBR0Qsc0NBQU07Ozs7O0lBQU4sVUFBTyxFQUFrRCxFQUFFLEVBQXlCO1lBQTNFLHNCQUFRO1lBQTRDLG9CQUFPO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLEVBQTFCLENBQTBCLEVBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7Ozs7OztJQUdELG1DQUFHOzs7OztJQUFILFVBQUksRUFBa0QsRUFBRSxFQUF5QjtZQUEzRSxzQkFBUTtZQUE0QyxvQkFBTztRQUMvRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxFQUExQixDQUEwQixFQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDOzs7Ozs7SUFHRCxzQ0FBTTs7Ozs7SUFBTixVQUFPLEVBQTRELEVBQUUsRUFBeUI7UUFEOUYsaUJBTUM7WUFMUSxzQkFBUSxFQUFFLHNCQUFRO1lBQTRDLG9CQUFPO1FBQzVFLE9BQU8sUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakQsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLHNCQUFNLFFBQVEsRUFBRSxDQUFDLFlBQVksRUFBSyxPQUFPLEVBQUcsRUFBckYsQ0FBcUYsRUFBQyxFQUN0RyxTQUFTOzs7UUFBQyxjQUFNLE9BQUEsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsRUFBMUIsQ0FBMEIsRUFBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQXJDRDtRQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7O3lEQUNvRCxVQUFVOztvREFRaEY7SUFHRDtRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUM7O3lEQUNxRCxhQUFhOzt3REFRdkY7SUFHRDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUM7O3lEQUNtRCxZQUFZOzt1REFFbkY7SUFHRDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUM7O3lEQUNnRCxZQUFZOztvREFFaEY7SUFHRDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUM7O3lEQUM2RCxZQUFZOzt1REFLN0Y7SUFqREQ7UUFEQyxRQUFRLEVBQUU7Ozs7MENBR1Y7SUFHRDtRQURDLFFBQVEsRUFBRTs7OzsyREFHVjtJQVRVLHFCQUFxQjtRQUpqQyxLQUFLLENBQXlCO1lBQzdCLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsUUFBUSxFQUFFLG1CQUFBLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQTBCO1NBQ3JFLENBQUM7aURBWTZDLHVCQUF1QjtPQVh6RCxxQkFBcUIsQ0FvRGpDO0lBQUQsNEJBQUM7Q0FBQSxJQUFBO1NBcERZLHFCQUFxQjs7Ozs7O0lBV3BCLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIENyZWF0ZVRlbmFudCxcbiAgRGVsZXRlVGVuYW50LFxuICBHZXRUZW5hbnRzLFxuICBHZXRUZW5hbnRCeUlkLFxuICBVcGRhdGVUZW5hbnQsXG59IGZyb20gJy4uL2FjdGlvbnMvdGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RlbmFudC1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AU3RhdGU8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4oe1xuICBuYW1lOiAnVGVuYW50TWFuYWdlbWVudFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgcmVzdWx0OiB7fSwgc2VsZWN0ZWRJdGVtOiB7fSB9IGFzIFRlbmFudE1hbmFnZW1lbnQuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXQoeyByZXN1bHQgfTogVGVuYW50TWFuYWdlbWVudC5TdGF0ZSk6IEFCUC5CYXNpY0l0ZW1bXSB7XG4gICAgcmV0dXJuIHJlc3VsdC5pdGVtcyB8fCBbXTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRUZW5hbnRzVG90YWxDb3VudCh7IHJlc3VsdCB9OiBUZW5hbnRNYW5hZ2VtZW50LlN0YXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcmVzdWx0LnRvdGFsQ291bnQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSkge31cblxuICBAQWN0aW9uKEdldFRlbmFudHMpXG4gIGdldCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFRlbmFudE1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0VGVuYW50cykge1xuICAgIHJldHVybiB0aGlzLnRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlLmdldFRlbmFudChwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihHZXRUZW5hbnRCeUlkKVxuICBnZXRCeUlkKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBHZXRUZW5hbnRCeUlkKSB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TWFuYWdlbWVudFNlcnZpY2UuZ2V0VGVuYW50QnlJZChwYXlsb2FkKS5waXBlKFxuICAgICAgdGFwKHNlbGVjdGVkSXRlbSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW0sXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihEZWxldGVUZW5hbnQpXG4gIGRlbGV0ZSh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IERlbGV0ZVRlbmFudCkge1xuICAgIHJldHVybiB0aGlzLnRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlLmRlbGV0ZVRlbmFudChwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0VGVuYW50cygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihDcmVhdGVUZW5hbnQpXG4gIGFkZCh7IGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxUZW5hbnRNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IENyZWF0ZVRlbmFudCkge1xuICAgIHJldHVybiB0aGlzLnRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlLmNyZWF0ZVRlbmFudChwYXlsb2FkKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBkaXNwYXRjaChuZXcgR2V0VGVuYW50cygpKSkpO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVUZW5hbnQpXG4gIHVwZGF0ZSh7IGRpc3BhdGNoLCBnZXRTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8VGVuYW50TWFuYWdlbWVudC5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBVcGRhdGVUZW5hbnQpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQocGF5bG9hZC5pZCkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy50ZW5hbnRNYW5hZ2VtZW50U2VydmljZS51cGRhdGVUZW5hbnQoeyAuLi5nZXRTdGF0ZSgpLnNlbGVjdGVkSXRlbSwgLi4ucGF5bG9hZCB9KSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZGlzcGF0Y2gobmV3IEdldFRlbmFudHMoKSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/public-api.js b/npm/ng-packs/dist/tenant-management/esm5/public-api.js index f7a8fdf145..08d96cce4e 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/public-api.js +++ b/npm/ng-packs/dist/tenant-management/esm5/public-api.js @@ -3,11 +3,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { TenantManagementModule } from './lib/tenant-management.module'; -export { TenantManagementGet, TenantManagementGetById, TenantManagementAdd, TenantManagementUpdate, TenantManagementDelete } from './lib/actions'; +export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './lib/actions'; export { TenantsComponent } from './lib/components'; export { TENANT_MANAGEMENT_ROUTES } from './lib/constants'; export {} from './lib/models'; export { TenantsResolver } from './lib/resolvers'; export { TenantManagementService } from './lib/services'; export { TenantManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxrSUFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js index 6902d87c9d..f9eea9b9a4 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js @@ -7,17 +7,23 @@ import { TableModule } from 'primeng/table'; import { __decorate, __metadata } from 'tslib'; import { Validators, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs'; -import { tap, switchMap, pluck, take } from 'rxjs/operators'; +import { tap, switchMap, pluck, take, finalize } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class TenantManagementGet { +class GetTenants { + /** + * @param {?=} payload + */ + constructor(payload) { + this.payload = payload; + } } -TenantManagementGet.type = '[TenantManagement] Get'; -class TenantManagementGetById { +GetTenants.type = '[TenantManagement] Get Tenant'; +class GetTenantById { /** * @param {?} payload */ @@ -25,8 +31,8 @@ class TenantManagementGetById { this.payload = payload; } } -TenantManagementGetById.type = '[TenantManagement] Get By Id'; -class TenantManagementAdd { +GetTenantById.type = '[TenantManagement] Get Tenant By Id'; +class CreateTenant { /** * @param {?} payload */ @@ -34,8 +40,8 @@ class TenantManagementAdd { this.payload = payload; } } -TenantManagementAdd.type = '[TenantManagement] Add'; -class TenantManagementUpdate { +CreateTenant.type = '[TenantManagement] Create Tenant'; +class UpdateTenant { /** * @param {?} payload */ @@ -43,8 +49,8 @@ class TenantManagementUpdate { this.payload = payload; } } -TenantManagementUpdate.type = '[TenantManagement] Update'; -class TenantManagementDelete { +UpdateTenant.type = '[TenantManagement] Update Tenant'; +class DeleteTenant { /** * @param {?} payload */ @@ -52,7 +58,7 @@ class TenantManagementDelete { this.payload = payload; } } -TenantManagementDelete.type = '[TenantManagement] Delete'; +DeleteTenant.type = '[TenantManagement] Delete Tenant'; /** * @fileoverview added by tsickle @@ -66,13 +72,15 @@ class TenantManagementService { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - get() { + getTenant(params = (/** @type {?} */ ({}))) { /** @type {?} */ const request = { method: 'GET', url: '/api/multi-tenancy/tenants', + params, }; return this.rest.request(request); } @@ -80,7 +88,7 @@ class TenantManagementService { * @param {?} id * @return {?} */ - getById(id) { + getTenantById(id) { /** @type {?} */ const request = { method: 'GET', @@ -92,7 +100,7 @@ class TenantManagementService { * @param {?} id * @return {?} */ - delete(id) { + deleteTenant(id) { /** @type {?} */ const request = { method: 'DELETE', @@ -104,7 +112,7 @@ class TenantManagementService { * @param {?} body * @return {?} */ - add(body) { + createTenant(body) { /** @type {?} */ const request = { method: 'POST', @@ -117,7 +125,7 @@ class TenantManagementService { * @param {?} body * @return {?} */ - update(body) { + updateTenant(body) { /** @type {?} */ const url = `/api/multi-tenancy/tenants/${body.id}`; delete body.id; @@ -135,7 +143,7 @@ class TenantManagementService { */ getDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'GET', @@ -150,7 +158,7 @@ class TenantManagementService { */ updateDefaultConnectionString(payload) { /** @type {?} */ - const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`; /** @type {?} */ const request = { method: 'PUT', @@ -165,7 +173,7 @@ class TenantManagementService { */ deleteDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`; + const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'DELETE', @@ -207,8 +215,16 @@ let TenantManagementState = class TenantManagementState { * @param {?} __0 * @return {?} */ - get({ patchState }) { - return this.tenantManagementService.get().pipe(tap((/** + static getTenantsTotalCount({ result }) { + return result.totalCount; + } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + get({ patchState }, { payload }) { + return this.tenantManagementService.getTenant(payload).pipe(tap((/** * @param {?} result * @return {?} */ @@ -222,7 +238,7 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ getById({ patchState }, { payload }) { - return this.tenantManagementService.getById(payload).pipe(tap((/** + return this.tenantManagementService.getTenantById(payload).pipe(tap((/** * @param {?} selectedItem * @return {?} */ @@ -236,10 +252,10 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ delete({ dispatch }, { payload }) { - return this.tenantManagementService.delete(payload).pipe(switchMap((/** + return this.tenantManagementService.deleteTenant(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } /** * @param {?} __0 @@ -247,10 +263,10 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ add({ dispatch }, { payload }) { - return this.tenantManagementService.add(payload).pipe(switchMap((/** + return this.tenantManagementService.createTenant(payload).pipe(switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } /** * @param {?} __0 @@ -258,43 +274,43 @@ let TenantManagementState = class TenantManagementState { * @return {?} */ update({ dispatch, getState }, { payload }) { - return dispatch(new TenantManagementGetById(payload.id)).pipe(switchMap((/** + return dispatch(new GetTenantById(payload.id)).pipe(switchMap((/** * @return {?} */ - () => this.tenantManagementService.update(Object.assign({}, getState().selectedItem, payload)))), switchMap((/** + () => this.tenantManagementService.updateTenant(Object.assign({}, getState().selectedItem, payload)))), switchMap((/** * @return {?} */ - () => dispatch(new TenantManagementGet())))); + () => dispatch(new GetTenants())))); } }; __decorate([ - Action(TenantManagementGet), + Action(GetTenants), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetTenants]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "get", null); __decorate([ - Action(TenantManagementGetById), + Action(GetTenantById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementGetById]), + __metadata("design:paramtypes", [Object, GetTenantById]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "getById", null); __decorate([ - Action(TenantManagementDelete), + Action(DeleteTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementDelete]), + __metadata("design:paramtypes", [Object, DeleteTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "delete", null); __decorate([ - Action(TenantManagementAdd), + Action(CreateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementAdd]), + __metadata("design:paramtypes", [Object, CreateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "add", null); __decorate([ - Action(TenantManagementUpdate), + Action(UpdateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementUpdate]), + __metadata("design:paramtypes", [Object, UpdateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "update", null); __decorate([ @@ -303,6 +319,12 @@ __decorate([ __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Array) ], TenantManagementState, "get", null); +__decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Number) +], TenantManagementState, "getTenantsTotalCount", null); TenantManagementState = __decorate([ State({ name: 'TenantManagementState', @@ -328,6 +350,10 @@ class TenantsComponent { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } /** * @return {?} @@ -341,6 +367,14 @@ class TenantsComponent { get connectionString() { return this.defaultConnectionStringForm.get('defaultConnectionString').value; } + /** + * @param {?} value + * @return {?} + */ + onSearch(value) { + this.pageQuery.filter = value; + this.get(); + } /** * @private * @return {?} @@ -380,7 +414,7 @@ class TenantsComponent { */ onEditConnectionString(id) { this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem'), switchMap((/** * @param {?} selected * @return {?} @@ -400,13 +434,6 @@ class TenantsComponent { this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr'); })); } - /** - * @param {?} id - * @return {?} - */ - onManageFeatures(id) { - this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures'); - } /** * @return {?} */ @@ -421,7 +448,7 @@ class TenantsComponent { */ onEditTenant(id) { this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem')) .subscribe((/** * @param {?} selected @@ -480,8 +507,8 @@ class TenantsComponent { return; this.store .dispatch(this.selected.id - ? new TenantManagementUpdate(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) - : new TenantManagementAdd(this.tenantForm.value)) + ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) + : new CreateTenant(this.tenantForm.value)) .subscribe((/** * @return {?} */ @@ -505,15 +532,37 @@ class TenantsComponent { */ (status) => { if (status === "confirm" /* confirm */) { - this.store.dispatch(new TenantManagementDelete(id)); + this.store.dispatch(new DeleteTenant(id)); } })); } + /** + * @param {?} data + * @return {?} + */ + onPageChange(data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + } + /** + * @return {?} + */ + get() { + this.loading = true; + this.store + .dispatch(new GetTenants(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + () => (this.loading = false)))) + .subscribe(); + } } TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -525,13 +574,16 @@ TenantsComponent.ctorParameters = () => [ ]; TenantsComponent.propDecorators = { tenantModalTemplate: [{ type: ViewChild, args: ['tenantModalTemplate', { static: false },] }], - connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }], - featuresModalTemplate: [{ type: ViewChild, args: ['featuresModalTemplate', { static: false },] }] + connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }] }; __decorate([ Select(TenantManagementState.get), __metadata("design:type", Observable) -], TenantsComponent.prototype, "datas$", void 0); +], TenantsComponent.prototype, "data$", void 0); +__decorate([ + Select(TenantManagementState.getTenantsTotalCount), + __metadata("design:type", Observable) +], TenantsComponent.prototype, "totalCount$", void 0); /** * @fileoverview added by tsickle @@ -550,9 +602,7 @@ class TenantsResolver { resolve() { /** @type {?} */ const data = this.store.selectSnapshot(TenantManagementState.get); - return data && data.length - ? null - : this.store.dispatch(new TenantManagementGet()); + return data && data.length ? null : this.store.dispatch(new GetTenants()); } } TenantsResolver.decorators = [ @@ -616,14 +666,15 @@ TenantManagementModule.decorators = [ /** @type {?} */ const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ { - name: 'Tenant Management', + name: 'AbpTenantManagement::Menu:TenantManagement', path: 'tenant-management', - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-users', children: [ { path: 'tenants', - name: 'Tenants', + name: 'AbpTenantManagement::Tenants', order: 1, requiredPolicy: 'AbpTenantManagement.Tenants', }, @@ -664,5 +715,5 @@ var TenantManagement; TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; })(TenantManagement || (TenantManagement = {})); -export { TENANT_MANAGEMENT_ROUTES, TenantManagementAdd, TenantManagementDelete, TenantManagementGet, TenantManagementGetById, TenantManagementModule, TenantManagementService, TenantManagementState, TenantManagementUpdate, TenantsComponent, TenantsResolver, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, TenantManagementGet as ɵd, TenantManagementGetById as ɵe, TenantManagementAdd as ɵf, TenantManagementUpdate as ɵg, TenantManagementDelete as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; +export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map index 2b69e72ab4..b378446272 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\n\nexport class TenantManagementGet {\n static readonly type = '[TenantManagement] Get';\n}\n\nexport class TenantManagementGetById {\n static readonly type = '[TenantManagement] Get By Id';\n constructor(public payload: string) {}\n}\n\nexport class TenantManagementAdd {\n static readonly type = '[TenantManagement] Add';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class TenantManagementUpdate {\n static readonly type = '[TenantManagement] Update';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class TenantManagementDelete {\n static readonly type = '[TenantManagement] Delete';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n };\n\n return this.rest.request(request);\n }\n\n getById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n delete(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n add(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n update(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGet,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(TenantManagementGet)\n get({ patchState }: StateContext) {\n return this.tenantManagementService.get().pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(TenantManagementGetById)\n getById({ patchState }: StateContext, { payload }: TenantManagementGetById) {\n return this.tenantManagementService.getById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(TenantManagementDelete)\n delete({ dispatch }: StateContext, { payload }: TenantManagementDelete) {\n return this.tenantManagementService.delete(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementAdd)\n add({ dispatch }: StateContext, { payload }: TenantManagementAdd) {\n return this.tenantManagementService.add(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementUpdate)\n update({ dispatch, getState }: StateContext, { payload }: TenantManagementUpdate) {\n return dispatch(new TenantManagementGetById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.update({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new TenantManagementGet())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { pluck, switchMap, take } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n datas$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n @ViewChild('featuresModalTemplate', { static: false })\n featuresModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onManageFeatures(id: string) {\n this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures');\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new TenantManagementUpdate({ ...this.tenantForm.value, id: this.selected.id })\n : new TenantManagementAdd(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new TenantManagementDelete(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { TenantManagementGet } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length\n ? null \n : this.store.dispatch(new TenantManagementGet());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'Tenant Management',\n path: 'tenant-management',\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n {\n path: 'tenants',\n name: 'Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js index 35d63da828..9af6eaa313 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js @@ -7,46 +7,47 @@ import { TableModule } from 'primeng/table'; import { __assign, __decorate, __metadata } from 'tslib'; import { Validators, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs'; -import { tap, switchMap, pluck, take } from 'rxjs/operators'; +import { tap, switchMap, pluck, take, finalize } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var TenantManagementGet = /** @class */ (function () { - function TenantManagementGet() { +var GetTenants = /** @class */ (function () { + function GetTenants(payload) { + this.payload = payload; } - TenantManagementGet.type = '[TenantManagement] Get'; - return TenantManagementGet; + GetTenants.type = '[TenantManagement] Get Tenant'; + return GetTenants; }()); -var TenantManagementGetById = /** @class */ (function () { - function TenantManagementGetById(payload) { +var GetTenantById = /** @class */ (function () { + function GetTenantById(payload) { this.payload = payload; } - TenantManagementGetById.type = '[TenantManagement] Get By Id'; - return TenantManagementGetById; + GetTenantById.type = '[TenantManagement] Get Tenant By Id'; + return GetTenantById; }()); -var TenantManagementAdd = /** @class */ (function () { - function TenantManagementAdd(payload) { +var CreateTenant = /** @class */ (function () { + function CreateTenant(payload) { this.payload = payload; } - TenantManagementAdd.type = '[TenantManagement] Add'; - return TenantManagementAdd; + CreateTenant.type = '[TenantManagement] Create Tenant'; + return CreateTenant; }()); -var TenantManagementUpdate = /** @class */ (function () { - function TenantManagementUpdate(payload) { +var UpdateTenant = /** @class */ (function () { + function UpdateTenant(payload) { this.payload = payload; } - TenantManagementUpdate.type = '[TenantManagement] Update'; - return TenantManagementUpdate; + UpdateTenant.type = '[TenantManagement] Update Tenant'; + return UpdateTenant; }()); -var TenantManagementDelete = /** @class */ (function () { - function TenantManagementDelete(payload) { +var DeleteTenant = /** @class */ (function () { + function DeleteTenant(payload) { this.payload = payload; } - TenantManagementDelete.type = '[TenantManagement] Delete'; - return TenantManagementDelete; + DeleteTenant.type = '[TenantManagement] Delete Tenant'; + return DeleteTenant; }()); /** @@ -58,16 +59,20 @@ var TenantManagementService = /** @class */ (function () { this.rest = rest; } /** + * @param {?=} params * @return {?} */ - TenantManagementService.prototype.get = /** + TenantManagementService.prototype.getTenant = /** + * @param {?=} params * @return {?} */ - function () { + function (params) { + if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/multi-tenancy/tenants', + params: params, }; return this.rest.request(request); }; @@ -75,7 +80,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} id * @return {?} */ - TenantManagementService.prototype.getById = /** + TenantManagementService.prototype.getTenantById = /** * @param {?} id * @return {?} */ @@ -91,7 +96,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} id * @return {?} */ - TenantManagementService.prototype.delete = /** + TenantManagementService.prototype.deleteTenant = /** * @param {?} id * @return {?} */ @@ -107,7 +112,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} body * @return {?} */ - TenantManagementService.prototype.add = /** + TenantManagementService.prototype.createTenant = /** * @param {?} body * @return {?} */ @@ -124,7 +129,7 @@ var TenantManagementService = /** @class */ (function () { * @param {?} body * @return {?} */ - TenantManagementService.prototype.update = /** + TenantManagementService.prototype.updateTenant = /** * @param {?} body * @return {?} */ @@ -150,7 +155,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'GET', @@ -169,7 +174,7 @@ var TenantManagementService = /** @class */ (function () { */ function (payload) { /** @type {?} */ - var url = "/api/multi-tenancy/tenants/" + payload.id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenants/" + payload.id + "/default-connection-string"; /** @type {?} */ var request = { method: 'PUT', @@ -188,7 +193,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/defaultConnectionString"; + var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -233,13 +238,28 @@ var TenantManagementState = /** @class */ (function () { * @param {?} __0 * @return {?} */ - TenantManagementState.prototype.get = /** + TenantManagementState.getTenantsTotalCount = /** * @param {?} __0 * @return {?} */ function (_a) { + var result = _a.result; + return result.totalCount; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + TenantManagementState.prototype.get = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { var patchState = _a.patchState; - return this.tenantManagementService.get().pipe(tap((/** + var payload = _b.payload; + return this.tenantManagementService.getTenant(payload).pipe(tap((/** * @param {?} result * @return {?} */ @@ -262,7 +282,7 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; - return this.tenantManagementService.getById(payload).pipe(tap((/** + return this.tenantManagementService.getTenantById(payload).pipe(tap((/** * @param {?} selectedItem * @return {?} */ @@ -285,10 +305,10 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.delete(payload).pipe(switchMap((/** + return this.tenantManagementService.deleteTenant(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -303,10 +323,10 @@ var TenantManagementState = /** @class */ (function () { function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; - return this.tenantManagementService.add(payload).pipe(switchMap((/** + return this.tenantManagementService.createTenant(payload).pipe(switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; /** * @param {?} __0 @@ -322,42 +342,42 @@ var TenantManagementState = /** @class */ (function () { var _this = this; var dispatch = _a.dispatch, getState = _a.getState; var payload = _b.payload; - return dispatch(new TenantManagementGetById(payload.id)).pipe(switchMap((/** + return dispatch(new GetTenantById(payload.id)).pipe(switchMap((/** * @return {?} */ - function () { return _this.tenantManagementService.update(__assign({}, getState().selectedItem, payload)); })), switchMap((/** + function () { return _this.tenantManagementService.updateTenant(__assign({}, getState().selectedItem, payload)); })), switchMap((/** * @return {?} */ - function () { return dispatch(new TenantManagementGet()); }))); + function () { return dispatch(new GetTenants()); }))); }; __decorate([ - Action(TenantManagementGet), + Action(GetTenants), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), + __metadata("design:paramtypes", [Object, GetTenants]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "get", null); __decorate([ - Action(TenantManagementGetById), + Action(GetTenantById), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementGetById]), + __metadata("design:paramtypes", [Object, GetTenantById]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "getById", null); __decorate([ - Action(TenantManagementDelete), + Action(DeleteTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementDelete]), + __metadata("design:paramtypes", [Object, DeleteTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "delete", null); __decorate([ - Action(TenantManagementAdd), + Action(CreateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementAdd]), + __metadata("design:paramtypes", [Object, CreateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "add", null); __decorate([ - Action(TenantManagementUpdate), + Action(UpdateTenant), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, TenantManagementUpdate]), + __metadata("design:paramtypes", [Object, UpdateTenant]), __metadata("design:returntype", void 0) ], TenantManagementState.prototype, "update", null); __decorate([ @@ -366,6 +386,12 @@ var TenantManagementState = /** @class */ (function () { __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Array) ], TenantManagementState, "get", null); + __decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Number) + ], TenantManagementState, "getTenantsTotalCount", null); TenantManagementState = __decorate([ State({ name: 'TenantManagementState', @@ -387,6 +413,10 @@ var TenantsComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.pageQuery = { + sorting: 'name', + }; + this.loading = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -408,6 +438,18 @@ var TenantsComponent = /** @class */ (function () { enumerable: true, configurable: true }); + /** + * @param {?} value + * @return {?} + */ + TenantsComponent.prototype.onSearch = /** + * @param {?} value + * @return {?} + */ + function (value) { + this.pageQuery.filter = value; + this.get(); + }; /** * @private * @return {?} @@ -466,7 +508,7 @@ var TenantsComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem'), switchMap((/** * @param {?} selected * @return {?} @@ -486,17 +528,6 @@ var TenantsComponent = /** @class */ (function () { _this.openModal('AbpTenantManagement::ConnectionStrings', _this.connectionStringModalTemplate, 'saveConnStr'); })); }; - /** - * @param {?} id - * @return {?} - */ - TenantsComponent.prototype.onManageFeatures = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures'); - }; /** * @return {?} */ @@ -519,7 +550,7 @@ var TenantsComponent = /** @class */ (function () { function (id) { var _this = this; this.store - .dispatch(new TenantManagementGetById(id)) + .dispatch(new GetTenantById(id)) .pipe(pluck('TenantManagementState', 'selectedItem')) .subscribe((/** * @param {?} selected @@ -589,8 +620,8 @@ var TenantsComponent = /** @class */ (function () { return; this.store .dispatch(this.selected.id - ? new TenantManagementUpdate(__assign({}, this.tenantForm.value, { id: this.selected.id })) - : new TenantManagementAdd(this.tenantForm.value)) + ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) + : new CreateTenant(this.tenantForm.value)) .subscribe((/** * @return {?} */ @@ -620,14 +651,44 @@ var TenantsComponent = /** @class */ (function () { */ function (status) { if (status === "confirm" /* confirm */) { - _this.store.dispatch(new TenantManagementDelete(id)); + _this.store.dispatch(new DeleteTenant(id)); } })); }; + /** + * @param {?} data + * @return {?} + */ + TenantsComponent.prototype.onPageChange = /** + * @param {?} data + * @return {?} + */ + function (data) { + this.pageQuery.skipCount = data.first; + this.pageQuery.maxResultCount = data.rows; + this.get(); + }; + /** + * @return {?} + */ + TenantsComponent.prototype.get = /** + * @return {?} + */ + function () { + var _this = this; + this.loading = true; + this.store + .dispatch(new GetTenants(this.pageQuery)) + .pipe(finalize((/** + * @return {?} + */ + function () { return (_this.loading = false); }))) + .subscribe(); + }; TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Features' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n
    \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n \n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n Manage Features\n\n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -639,13 +700,16 @@ var TenantsComponent = /** @class */ (function () { ]; }; TenantsComponent.propDecorators = { tenantModalTemplate: [{ type: ViewChild, args: ['tenantModalTemplate', { static: false },] }], - connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }], - featuresModalTemplate: [{ type: ViewChild, args: ['featuresModalTemplate', { static: false },] }] + connectionStringModalTemplate: [{ type: ViewChild, args: ['connectionStringModalTemplate', { static: false },] }] }; __decorate([ Select(TenantManagementState.get), __metadata("design:type", Observable) - ], TenantsComponent.prototype, "datas$", void 0); + ], TenantsComponent.prototype, "data$", void 0); + __decorate([ + Select(TenantManagementState.getTenantsTotalCount), + __metadata("design:type", Observable) + ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); @@ -666,9 +730,7 @@ var TenantsResolver = /** @class */ (function () { function () { /** @type {?} */ var data = this.store.selectSnapshot(TenantManagementState.get); - return data && data.length - ? null - : this.store.dispatch(new TenantManagementGet()); + return data && data.length ? null : this.store.dispatch(new GetTenants()); }; TenantsResolver.decorators = [ { type: Injectable } @@ -739,14 +801,15 @@ var TenantManagementModule = /** @class */ (function () { /** @type {?} */ var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ { - name: 'Tenant Management', + name: 'AbpTenantManagement::Menu:TenantManagement', path: 'tenant-management', - parentName: 'Administration', + parentName: 'AbpUiNavigation::Menu:Administration', layout: "application" /* application */, + iconClass: 'fa fa-users', children: [ { path: 'tenants', - name: 'Tenants', + name: 'AbpTenantManagement::Tenants', order: 1, requiredPolicy: 'AbpTenantManagement.Tenants', }, @@ -787,5 +850,5 @@ var TenantManagement; TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; })(TenantManagement || (TenantManagement = {})); -export { TENANT_MANAGEMENT_ROUTES, TenantManagementAdd, TenantManagementDelete, TenantManagementGet, TenantManagementGetById, TenantManagementModule, TenantManagementService, TenantManagementState, TenantManagementUpdate, TenantsComponent, TenantsResolver, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, TenantManagementGet as ɵd, TenantManagementGetById as ɵe, TenantManagementAdd as ɵf, TenantManagementUpdate as ɵg, TenantManagementDelete as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; +export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map index 1a278e80cb..f7c9c4998c 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\n\nexport class TenantManagementGet {\n static readonly type = '[TenantManagement] Get';\n}\n\nexport class TenantManagementGetById {\n static readonly type = '[TenantManagement] Get By Id';\n constructor(public payload: string) {}\n}\n\nexport class TenantManagementAdd {\n static readonly type = '[TenantManagement] Add';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class TenantManagementUpdate {\n static readonly type = '[TenantManagement] Update';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class TenantManagementDelete {\n static readonly type = '[TenantManagement] Delete';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n };\n\n return this.rest.request(request);\n }\n\n getById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n delete(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n add(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n update(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/defaultConnectionString`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGet,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(TenantManagementGet)\n get({ patchState }: StateContext) {\n return this.tenantManagementService.get().pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(TenantManagementGetById)\n getById({ patchState }: StateContext, { payload }: TenantManagementGetById) {\n return this.tenantManagementService.getById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(TenantManagementDelete)\n delete({ dispatch }: StateContext, { payload }: TenantManagementDelete) {\n return this.tenantManagementService.delete(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementAdd)\n add({ dispatch }: StateContext, { payload }: TenantManagementAdd) {\n return this.tenantManagementService.add(payload).pipe(switchMap(() => dispatch(new TenantManagementGet())));\n }\n\n @Action(TenantManagementUpdate)\n update({ dispatch, getState }: StateContext, { payload }: TenantManagementUpdate) {\n return dispatch(new TenantManagementGetById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.update({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new TenantManagementGet())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { pluck, switchMap, take } from 'rxjs/operators';\nimport {\n TenantManagementAdd,\n TenantManagementDelete,\n TenantManagementGetById,\n TenantManagementUpdate,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n datas$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n @ViewChild('featuresModalTemplate', { static: false })\n featuresModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onManageFeatures(id: string) {\n this.openModal('AbpTenantManagement::Features', this.featuresModalTemplate, 'saveFeatures');\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new TenantManagementGetById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new TenantManagementUpdate({ ...this.tenantForm.value, id: this.selected.id })\n : new TenantManagementAdd(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new TenantManagementDelete(id));\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { TenantManagementGet } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length\n ? null \n : this.store.dispatch(new TenantManagementGet());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'Tenant Management',\n path: 'tenant-management',\n parentName: 'Administration',\n layout: eLayoutType.application,\n children: [\n {\n path: 'tenants',\n name: 'Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/lib/actions/tenant-management.actions.d.ts b/npm/ng-packs/dist/tenant-management/lib/actions/tenant-management.actions.d.ts index ca3d341425..69880b667d 100644 --- a/npm/ng-packs/dist/tenant-management/lib/actions/tenant-management.actions.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/actions/tenant-management.actions.d.ts @@ -1,24 +1,27 @@ import { TenantManagement } from '../models/tenant-management'; -export declare class TenantManagementGet { - static readonly type = "[TenantManagement] Get"; +import { ABP } from '@abp/ng.core'; +export declare class GetTenants { + payload?: ABP.PageQueryParams; + static readonly type = "[TenantManagement] Get Tenant"; + constructor(payload?: ABP.PageQueryParams); } -export declare class TenantManagementGetById { +export declare class GetTenantById { payload: string; - static readonly type = "[TenantManagement] Get By Id"; + static readonly type = "[TenantManagement] Get Tenant By Id"; constructor(payload: string); } -export declare class TenantManagementAdd { +export declare class CreateTenant { payload: TenantManagement.AddRequest; - static readonly type = "[TenantManagement] Add"; + static readonly type = "[TenantManagement] Create Tenant"; constructor(payload: TenantManagement.AddRequest); } -export declare class TenantManagementUpdate { +export declare class UpdateTenant { payload: TenantManagement.UpdateRequest; - static readonly type = "[TenantManagement] Update"; + static readonly type = "[TenantManagement] Update Tenant"; constructor(payload: TenantManagement.UpdateRequest); } -export declare class TenantManagementDelete { +export declare class DeleteTenant { payload: string; - static readonly type = "[TenantManagement] Delete"; + static readonly type = "[TenantManagement] Delete Tenant"; constructor(payload: string); } diff --git a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts index 228992a162..59da7c904c 100644 --- a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts @@ -15,7 +15,8 @@ export declare class TenantsComponent { private tenantService; private fb; private store; - datas$: Observable; + data$: Observable; + totalCount$: Observable; selected: ABP.BasicItem; tenantForm: FormGroup; defaultConnectionStringForm: FormGroup; @@ -23,22 +24,25 @@ export declare class TenantsComponent { isModalVisible: boolean; selectedModalContent: SelectedModalContent; _useSharedDatabase: boolean; + pageQuery: ABP.PageQueryParams; + loading: boolean; readonly useSharedDatabase: boolean; readonly connectionString: string; tenantModalTemplate: TemplateRef; connectionStringModalTemplate: TemplateRef; - featuresModalTemplate: TemplateRef; constructor(confirmationService: ConfirmationService, tenantService: TenantManagementService, fb: FormBuilder, store: Store); + onSearch(value: any): void; private createTenantForm; private createDefaultConnectionStringForm; openModal(title: string, template: TemplateRef, type: string): void; onEditConnectionString(id: string): void; - onManageFeatures(id: string): void; onAddTenant(): void; onEditTenant(id: string): void; save(): void; saveConnectionString(): void; saveTenant(): void; delete(id: string, name: string): void; + onPageChange(data: any): void; + get(): void; } export {}; diff --git a/npm/ng-packs/dist/tenant-management/lib/services/tenant-management.service.d.ts b/npm/ng-packs/dist/tenant-management/lib/services/tenant-management.service.d.ts index b470d435a3..5d7015448a 100644 --- a/npm/ng-packs/dist/tenant-management/lib/services/tenant-management.service.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/services/tenant-management.service.d.ts @@ -4,11 +4,11 @@ import { TenantManagement } from '../models/tenant-management'; export declare class TenantManagementService { private rest; constructor(rest: RestService); - get(): Observable; - getById(id: string): Observable; - delete(id: string): Observable; - add(body: TenantManagement.AddRequest): Observable; - update(body: TenantManagement.UpdateRequest): Observable; + getTenant(params?: ABP.PageQueryParams): Observable; + getTenantById(id: string): Observable; + deleteTenant(id: string): Observable; + createTenant(body: TenantManagement.AddRequest): Observable; + updateTenant(body: TenantManagement.UpdateRequest): Observable; getDefaultConnectionString(id: string): Observable; updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable; deleteDefaultConnectionString(id: string): Observable; diff --git a/npm/ng-packs/dist/tenant-management/lib/states/tenant-management.state.d.ts b/npm/ng-packs/dist/tenant-management/lib/states/tenant-management.state.d.ts index 70b497c8f3..a1243602d9 100644 --- a/npm/ng-packs/dist/tenant-management/lib/states/tenant-management.state.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/states/tenant-management.state.d.ts @@ -1,15 +1,16 @@ import { StateContext } from '@ngxs/store'; -import { TenantManagementAdd, TenantManagementDelete, TenantManagementGetById, TenantManagementUpdate } from '../actions/tenant-management.actions'; +import { CreateTenant, DeleteTenant, GetTenants, GetTenantById, UpdateTenant } from '../actions/tenant-management.actions'; import { TenantManagement } from '../models/tenant-management'; import { TenantManagementService } from '../services/tenant-management.service'; import { ABP } from '@abp/ng.core'; export declare class TenantManagementState { private tenantManagementService; static get({ result }: TenantManagement.State): ABP.BasicItem[]; + static getTenantsTotalCount({ result }: TenantManagement.State): number; constructor(tenantManagementService: TenantManagementService); - get({ patchState }: StateContext): import("rxjs").Observable>; - getById({ patchState }: StateContext, { payload }: TenantManagementGetById): import("rxjs").Observable; - delete({ dispatch }: StateContext, { payload }: TenantManagementDelete): import("rxjs").Observable; - add({ dispatch }: StateContext, { payload }: TenantManagementAdd): import("rxjs").Observable; - update({ dispatch, getState }: StateContext, { payload }: TenantManagementUpdate): import("rxjs").Observable; + get({ patchState }: StateContext, { payload }: GetTenants): import("rxjs").Observable>; + getById({ patchState }: StateContext, { payload }: GetTenantById): import("rxjs").Observable; + delete({ dispatch }: StateContext, { payload }: DeleteTenant): import("rxjs").Observable; + add({ dispatch }: StateContext, { payload }: CreateTenant): import("rxjs").Observable; + update({ dispatch, getState }: StateContext, { payload }: UpdateTenant): import("rxjs").Observable; } diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts index e1bd361f52..6ce43f94aa 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts @@ -2,11 +2,11 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { LayoutAddNavigationElement as ɵi, LayoutRemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; +export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; -export { LayoutAccountComponent as ɵc } from './lib/components/layout-account/layout-account.component'; -export { LayoutApplicationComponent as ɵa } from './lib/components/layout-application/layout-application.component'; -export { LayoutEmptyComponent as ɵd } from './lib/components/layout-empty/layout-empty.component'; +export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; export { Layout as ɵk } from './lib/models/layout'; diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json index 238c2a91d9..8edbd71576 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/layout-application/layout-application.component"},{"from":"./lib/layout-empty/layout-empty.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n\n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":" abp-layout","template":"\n\n
    \n \n
    \n\n\n\n"}]}],"members":{}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":43,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":34,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/layout-application/layout-application.component","ɵb":"./lib/states","ɵc":"./lib/components/layout-account/layout-account.component","ɵd":"./lib/components/layout-empty/layout-empty.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":45,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":45,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":45,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":34,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js index ccdb5842c5..8947e2fcf7 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js @@ -1,11 +1,11 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('rxjs/operators'), require('snq'), require('@abp/ng.theme.shared'), require('primeng/toast')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@angular/forms', '@ngx-validate/core', '@ngxs/store', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'rxjs/operators', 'snq', '@abp/ng.theme.shared', 'primeng/toast'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng.forms, global.core$1, global.store, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.rxjs.operators, global.snq, global.ng_theme_shared, global.toast)); -}(this, function (exports, ng_core, core, ngBootstrap, forms, core$1, store, routerPlugin, angularOauth2Oidc, compare, rxjs, operators, snq, ng_theme_shared, toast) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('rxjs/operators'), require('primeng/toast')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'rxjs/operators', 'primeng/toast'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.rxjs.operators, global.toast)); +}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, routerPlugin, angularOauth2Oidc, compare, rxjs, operators, toast) { 'use strict'; - compare = compare && compare.hasOwnProperty('default') ? compare['default'] : compare; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; + compare = compare && compare.hasOwnProperty('default') ? compare['default'] : compare; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -73,9 +73,10 @@ */ var minLength = forms.Validators.minLength, required = forms.Validators.required; var ChangePasswordComponent = /** @class */ (function () { - function ChangePasswordComponent(fb, store) { + function ChangePasswordComponent(fb, store, toasterService) { this.fb = fb; this.store = store; + this.toasterService = toasterService; this.visibleChange = new core.EventEmitter(); } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { @@ -104,9 +105,9 @@ */ function () { this.form = this.fb.group({ - password: ['', [required, minLength(6), core$1.validatePassword(['small', 'capital', 'number', 'special'])]], - newPassword: ['', [required, minLength(6), core$1.validatePassword(['small', 'capital', 'number', 'special'])]], - repeatNewPassword: ['', [required, minLength(6), core$1.validatePassword(['small', 'capital', 'number', 'special'])]], + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], }, { validators: [core$1.comparePasswords(['newPassword', 'repeatNewPassword'])], }); @@ -122,16 +123,31 @@ if (this.form.invalid) return; this.store - .dispatch(new ng_core.ProfileChangePassword({ + .dispatch(new ng_core.ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) - .subscribe((/** - * @return {?} - */ - function () { - _this.visible = false; - })); + .subscribe({ + next: (/** + * @return {?} + */ + function () { + _this.visible = false; + _this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); }; /** * @return {?} @@ -164,13 +180,14 @@ ChangePasswordComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ ChangePasswordComponent.ctorParameters = function () { return [ { type: forms.FormBuilder }, - { type: store.Store } + { type: store.Store }, + { type: ng_theme_shared.ToasterService } ]; }; ChangePasswordComponent.propDecorators = { visible: [{ type: core.Input }], @@ -184,38 +201,38 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var LayoutAccountComponent = /** @class */ (function () { - function LayoutAccountComponent() { + var AccountLayoutComponent = /** @class */ (function () { + function AccountLayoutComponent() { this.isCollapsed = false; } // required for dynamic component - LayoutAccountComponent.type = "account" /* account */; - LayoutAccountComponent.decorators = [ + AccountLayoutComponent.type = "account" /* account */; + AccountLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n \n\n \n \n \n \n \n\n" }] } ]; - return LayoutAccountComponent; + return AccountLayoutComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var LayoutAddNavigationElement = /** @class */ (function () { - function LayoutAddNavigationElement(payload) { + var AddNavigationElement = /** @class */ (function () { + function AddNavigationElement(payload) { this.payload = payload; } - LayoutAddNavigationElement.type = '[Layout] Add Navigation Element'; - return LayoutAddNavigationElement; + AddNavigationElement.type = '[Layout] Add Navigation Element'; + return AddNavigationElement; }()); - var LayoutRemoveNavigationElementByName = /** @class */ (function () { - function LayoutRemoveNavigationElementByName(name) { + var RemoveNavigationElementByName = /** @class */ (function () { + function RemoveNavigationElementByName(name) { this.name = name; } - LayoutRemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; - return LayoutRemoveNavigationElementByName; + RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; + return RemoveNavigationElementByName; }()); /** @@ -318,15 +335,15 @@ }); }; __decorate([ - store.Action(LayoutAddNavigationElement), + store.Action(AddNavigationElement), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutAddNavigationElement]), + __metadata("design:paramtypes", [Object, AddNavigationElement]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutAddAction", null); __decorate([ - store.Action(LayoutRemoveNavigationElementByName), + store.Action(RemoveNavigationElementByName), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutRemoveNavigationElementByName]), + __metadata("design:paramtypes", [Object, RemoveNavigationElementByName]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutRemoveAction", null); __decorate([ @@ -348,8 +365,8 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var LayoutApplicationComponent = /** @class */ (function () { - function LayoutApplicationComponent(store, oauthService) { + var ApplicationLayoutComponent = /** @class */ (function () { + function ApplicationLayoutComponent(store, oauthService) { this.store = store; this.oauthService = oauthService; this.isOpenChangePassword = false; @@ -368,7 +385,7 @@ */ function (_, element) { return element; }); } - Object.defineProperty(LayoutApplicationComponent.prototype, "visibleRoutes$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "visibleRoutes$", { get: /** * @return {?} */ @@ -382,7 +399,7 @@ enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "defaultLanguage$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "defaultLanguage$", { get: /** * @return {?} */ @@ -404,7 +421,7 @@ enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "dropdownLanguages$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "dropdownLanguages$", { get: /** * @return {?} */ @@ -426,7 +443,7 @@ enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "selectedLangCulture", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "selectedLangCulture", { get: /** * @return {?} */ @@ -440,7 +457,7 @@ * @private * @return {?} */ - LayoutApplicationComponent.prototype.checkWindowWidth = /** + ApplicationLayoutComponent.prototype.checkWindowWidth = /** * @private * @return {?} */ @@ -468,7 +485,7 @@ /** * @return {?} */ - LayoutApplicationComponent.prototype.ngAfterViewInit = /** + ApplicationLayoutComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { @@ -483,7 +500,7 @@ return name; })); if (navigations.indexOf('LanguageRef') < 0) { - this.store.dispatch(new LayoutAddNavigationElement([ + this.store.dispatch(new AddNavigationElement([ { element: this.languageRef, order: 4, name: 'LanguageRef' }, { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, ])); @@ -528,7 +545,7 @@ /** * @return {?} */ - LayoutApplicationComponent.prototype.ngOnDestroy = /** + ApplicationLayoutComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { }; @@ -536,41 +553,41 @@ * @param {?} cultureName * @return {?} */ - LayoutApplicationComponent.prototype.onChangeLang = /** + ApplicationLayoutComponent.prototype.onChangeLang = /** * @param {?} cultureName * @return {?} */ function (cultureName) { - this.store.dispatch(new ng_core.SessionSetLanguage(cultureName)); - this.store.dispatch(new ng_core.ConfigGetAppConfiguration()); + this.store.dispatch(new ng_core.SetLanguage(cultureName)); + this.store.dispatch(new ng_core.GetAppConfiguration()); }; /** * @return {?} */ - LayoutApplicationComponent.prototype.logout = /** + ApplicationLayoutComponent.prototype.logout = /** * @return {?} */ function () { this.oauthService.logOut(); - this.store.dispatch(new routerPlugin.Navigate(['/account/login'], null, { + this.store.dispatch(new routerPlugin.Navigate(['/'], null, { state: { redirectUrl: this.store.selectSnapshot(routerPlugin.RouterState).state.url }, })); - this.store.dispatch(new ng_core.ConfigGetAppConfiguration()); + this.store.dispatch(new ng_core.GetAppConfiguration()); }; // required for dynamic component - LayoutApplicationComponent.type = "application" /* application */; - LayoutApplicationComponent.decorators = [ + ApplicationLayoutComponent.type = "application" /* application */; + ApplicationLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ - LayoutApplicationComponent.ctorParameters = function () { return [ + ApplicationLayoutComponent.ctorParameters = function () { return [ { type: store.Store }, { type: angularOauth2Oidc.OAuthService } ]; }; - LayoutApplicationComponent.propDecorators = { + ApplicationLayoutComponent.propDecorators = { currentUserRef: [{ type: core.ViewChild, args: ['currentUser', { static: false, read: core.TemplateRef },] }], languageRef: [{ type: core.ViewChild, args: ['language', { static: false, read: core.TemplateRef },] }], navbarRootDropdowns: [{ type: core.ViewChildren, args: ['navbarRootDropdown', { read: ngBootstrap.NgbDropdown },] }] @@ -578,20 +595,20 @@ __decorate([ store.Select(ng_core.ConfigState.getOne('routes')), __metadata("design:type", rxjs.Observable) - ], LayoutApplicationComponent.prototype, "routes$", void 0); + ], ApplicationLayoutComponent.prototype, "routes$", void 0); __decorate([ store.Select(ng_core.ConfigState.getOne('currentUser')), __metadata("design:type", rxjs.Observable) - ], LayoutApplicationComponent.prototype, "currentUser$", void 0); + ], ApplicationLayoutComponent.prototype, "currentUser$", void 0); __decorate([ store.Select(ng_core.ConfigState.getDeep('localization.languages')), __metadata("design:type", rxjs.Observable) - ], LayoutApplicationComponent.prototype, "languages$", void 0); + ], ApplicationLayoutComponent.prototype, "languages$", void 0); __decorate([ store.Select(LayoutState.getNavigationElements), __metadata("design:type", rxjs.Observable) - ], LayoutApplicationComponent.prototype, "navElements$", void 0); - return LayoutApplicationComponent; + ], ApplicationLayoutComponent.prototype, "navElements$", void 0); + return ApplicationLayoutComponent; }()); /** * @param {?} routes @@ -617,18 +634,18 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var LayoutEmptyComponent = /** @class */ (function () { - function LayoutEmptyComponent() { + var EmptyLayoutComponent = /** @class */ (function () { + function EmptyLayoutComponent() { } // required for dynamic component - LayoutEmptyComponent.type = "empty" /* empty */; - LayoutEmptyComponent.decorators = [ + EmptyLayoutComponent.type = "empty" /* empty */; + EmptyLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-empty', template: "\n Layout-empty\n \n " }] } ]; - return LayoutEmptyComponent; + return EmptyLayoutComponent; }()); /** @@ -636,15 +653,31 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var LayoutComponent = /** @class */ (function () { - function LayoutComponent() { + function LayoutComponent(store) { + this.store = store; this.isCollapsed = false; } + Object.defineProperty(LayoutComponent.prototype, "appInfo", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(ng_core.ConfigState.getApplicationInfo); + }, + enumerable: true, + configurable: true + }); LayoutComponent.decorators = [ { type: core.Component, args: [{ selector: ' abp-layout', - template: "\n\n
    \n \n
    \n\n\n\n" + template: "\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n", + animations: [ng_theme_shared.slideFromBottom] }] } ]; + /** @nocollapse */ + LayoutComponent.ctorParameters = function () { return [ + { type: store.Store } + ]; }; return LayoutComponent; }()); @@ -686,7 +719,7 @@ function () { var _this = this; this.store - .dispatch(new ng_core.ProfileGet()) + .dispatch(new ng_core.GetProfile()) .pipe(operators.withLatestFrom(this.profile$), operators.take(1)) .subscribe((/** * @param {?} __0 @@ -713,11 +746,12 @@ var _this = this; if (this.form.invalid) return; - this.store.dispatch(new ng_core.ProfileUpdate(this.form.value)).subscribe((/** + this.store.dispatch(new ng_core.UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { _this.visible = false; + _this.form.reset(); })); }; /** @@ -752,7 +786,7 @@ ProfileComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -776,7 +810,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ - var LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent]; + var LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; var ThemeBasicModule = /** @class */ (function () { function ThemeBasicModule() { } @@ -817,24 +851,24 @@ Layout.NavigationElement = NavigationElement; })(Layout || (Layout = {})); + exports.AccountLayoutComponent = AccountLayoutComponent; + exports.AddNavigationElement = AddNavigationElement; + exports.ApplicationLayoutComponent = ApplicationLayoutComponent; + exports.EmptyLayoutComponent = EmptyLayoutComponent; exports.LAYOUTS = LAYOUTS; - exports.LayoutAccountComponent = LayoutAccountComponent; - exports.LayoutAddNavigationElement = LayoutAddNavigationElement; - exports.LayoutApplicationComponent = LayoutApplicationComponent; - exports.LayoutEmptyComponent = LayoutEmptyComponent; - exports.LayoutRemoveNavigationElementByName = LayoutRemoveNavigationElementByName; exports.LayoutState = LayoutState; + exports.RemoveNavigationElementByName = RemoveNavigationElementByName; exports.ThemeBasicModule = ThemeBasicModule; - exports.ɵa = LayoutApplicationComponent; + exports.ɵa = ApplicationLayoutComponent; exports.ɵb = LayoutState; - exports.ɵc = LayoutAccountComponent; - exports.ɵd = LayoutEmptyComponent; + exports.ɵc = AccountLayoutComponent; + exports.ɵd = EmptyLayoutComponent; exports.ɵe = LayoutComponent; exports.ɵf = ChangePasswordComponent; exports.ɵg = ProfileComponent; exports.ɵh = LayoutState; - exports.ɵi = LayoutAddNavigationElement; - exports.ɵj = LayoutRemoveNavigationElementByName; + exports.ɵi = AddNavigationElement; + exports.ɵj = RemoveNavigationElementByName; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map index c273e53c1e..039f66922e 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-account/layout-account.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/layout-application/layout-application.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-empty/layout-empty.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ProfileChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, validatePassword } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ProfileChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './layout-account.component.html',\n})\nexport class LayoutAccountComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class LayoutAddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class LayoutRemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(LayoutAddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(LayoutRemoveNavigationElementByName)\n layoutRemoveAction(\n { getState, patchState }: StateContext,\n { name }: LayoutRemoveNavigationElementByName,\n ) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n ConfigGetAppConfiguration,\n ConfigState,\n eLayoutType,\n SessionSetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { LayoutAddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './layout-application.component.html',\n})\nexport class LayoutApplicationComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new LayoutAddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SessionSetLanguage(cultureName));\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class LayoutEmptyComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n}\n","import { Profile, ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new ProfileGet())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { LayoutAccountComponent } from './components/layout-account/layout-account.component';\nimport { LayoutApplicationComponent } from './components/layout-application/layout-application.component';\nimport { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","validatePassword","comparePasswords","ProfileChangePassword","Component","FormBuilder","Store","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SessionSetLanguage","ConfigGetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","required","ProfileGet","withLatestFrom","take","ProfileUpdate","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js index 71b0c14764..4bb8e1200b 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("rxjs/operators"),require("snq"),require("@abp/ng.theme.shared"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@angular/forms","@ngx-validate/core","@ngxs/store","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","rxjs/operators","snq","@abp/ng.theme.shared","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng.forms,e.core$1,e.store,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.rxjs.operators,e.snq,e.ng_theme_shared,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,d,c,m,g){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p,c=c&&c.hasOwnProperty("default")?c.default:c;var b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function y(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function h(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n\n'}]}],e.ctorParameters=function(){return[{type:a.FormBuilder},{type:i.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}(),N=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}(),L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}(),O=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}(),D=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=c(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return b({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},f([i.Action(L),y("design:type",Function),y("design:paramtypes",[Object,L]),y("design:returntype",void 0)],e.prototype,"layoutAddAction",null),f([i.Action(O),y("design:type",Function),y("design:paramtypes",[Object,O]),y("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),f([i.Selector(),y("design:type",Function),y("design:paramtypes",[Object]),y("design:returntype",Array)],e,"getNavigationElements",null),e=f([i.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),k=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(d.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(d.map(function(n){return c(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(d.map(function(n){return c(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(D.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(d.map(function(e){return e.map(function(e){return e.element})}),d.filter(function(n){return!p(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),u.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),d.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SessionSetLanguage(e)),this.store.dispatch(new n.ConfigGetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new s.Navigate(["/account/login"],null,{state:{redirectUrl:this.store.selectSnapshot(s.RouterState).state.url}})),this.store.dispatch(new n.ConfigGetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:l.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},f([i.Select(n.ConfigState.getOne("routes")),y("design:type",u.Observable)],e.prototype,"routes$",void 0),f([i.Select(n.ConfigState.getOne("currentUser")),y("design:type",u.Observable)],e.prototype,"currentUser$",void 0),f([i.Select(n.ConfigState.getDeep("localization.languages")),y("design:type",u.Observable)],e.prototype,"languages$",void 0),f([i.Select(D.getNavigationElements),y("design:type",u.Observable)],e.prototype,"navElements$",void 0),e}();var S,x=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}(),A=function(){function e(){this.isCollapsed=!1}return e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n
    \n \n
    \n\n\n\n'}]}],e}(),E=a.Validators.maxLength,F=a.Validators.required,I=a.Validators.email,j=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.ProfileGet).pipe(d.withLatestFrom(this.profile$),d.take(1)).subscribe(function(n){var t=h(n,2)[1];e.form=e.fb.group({userName:[t.userName,[F,E(256)]],email:[t.email,[F,I,E(256)]],name:[t.name||"",[E(64)]],surname:[t.surname||"",[E(64)]],phoneNumber:[t.phoneNumber||"",[E(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||this.store.dispatch(new n.ProfileUpdate(this.form.value)).subscribe(function(){e.visible=!1})},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:a.FormBuilder},{type:i.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},f([i.Select(n.ProfileState.getProfile),y("design:type",u.Observable)],e.prototype,"profile$",void 0),e}(),R=[k,N,x],T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[A,P,j]),imports:[n.CoreModule,m.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,r.NgxValidateCoreModule,i.NgxsModule.forFeature([D])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){e.State=function(){},e.NavigationElement=function(){}}(S||(S={})),e.LAYOUTS=R,e.LayoutAccountComponent=N,e.LayoutAddNavigationElement=L,e.LayoutApplicationComponent=k,e.LayoutEmptyComponent=x,e.LayoutRemoveNavigationElementByName=O,e.LayoutState=D,e.ThemeBasicModule=T,e.ɵa=k,e.ɵb=D,e.ɵc=N,e.ɵd=x,e.ɵe=A,e.ɵf=P,e.ɵg=j,e.ɵh=D,e.ɵi=L,e.ɵj=O,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("rxjs/operators"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","rxjs/operators","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.rxjs.operators,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,c=c&&c.hasOwnProperty("default")?c.default:c;var f=function(){return(f=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n\n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}(),P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}(),L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}(),N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}(),O=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return f({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},b([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),b([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),b([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=b([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),S=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(m.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(O.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(m.map(function(e){return e.map(function(e){return e.element})}),m.filter(function(n){return!c(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),d.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),m.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new p.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(p.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:u.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},b([s.Select(n.ConfigState.getOne("routes")),h("design:type",d.Observable)],e.prototype,"routes$",void 0),b([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",d.Observable)],e.prototype,"currentUser$",void 0),b([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",d.Observable)],e.prototype,"languages$",void 0),b([s.Select(O.getNavigationElements),h("design:type",d.Observable)],e.prototype,"navElements$",void 0),e}();var D,k=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}(),A=function(){function e(e){this.store=e,this.isCollapsed=!1}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}(),x=r.Validators.maxLength,E=r.Validators.required,I=r.Validators.email,F=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(m.withLatestFrom(this.profile$),m.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[E,x(256)]],email:[t.email,[E,I,x(256)]],name:[t.name||"",[x(64)]],surname:[t.surname||"",[x(64)]],phoneNumber:[t.phoneNumber||"",[x(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.visible=!1,e.form.reset()})},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},b([s.Select(n.ProfileState.getProfile),h("design:type",d.Observable)],e.prototype,"profile$",void 0),e}(),R=[S,P,k],T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[A,C,F]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([O])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){e.State=function(){},e.NavigationElement=function(){}}(D||(D={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=S,e.EmptyLayoutComponent=k,e.LAYOUTS=R,e.LayoutState=O,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=T,e.ɵa=S,e.ɵb=O,e.ɵc=P,e.ɵd=k,e.ɵe=A,e.ɵf=C,e.ɵg=F,e.ɵh=O,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.basic.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map index f53d0c0314..579d2b6b6c 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-account/layout-account.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/layout-application/layout-application.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-empty/layout-empty.component.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","minLength","forms","Validators","required","ChangePasswordComponent","fb","store","visibleChange","EventEmitter","_visible","emit","ngOnInit","form","group","password","validatePassword","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ProfileChangePassword","currentPassword","get","subscribe","visible","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","Input","Output","ViewChild","static","LayoutAccountComponent","isCollapsed","type","LayoutAddNavigationElement","payload","LayoutRemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","snq","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","LayoutApplicationComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","pipe","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SessionSetLanguage","ConfigGetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","Layout","LayoutEmptyComponent","LayoutComponent","maxLength","email","ProfileComponent","buildForm","ProfileGet","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","ProfileUpdate","ProfileState","getProfile","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ProfileChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, validatePassword } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ProfileChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './layout-account.component.html',\n})\nexport class LayoutAccountComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class LayoutAddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class LayoutRemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(LayoutAddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(LayoutRemoveNavigationElementByName)\n layoutRemoveAction(\n { getState, patchState }: StateContext,\n { name }: LayoutRemoveNavigationElementByName,\n ) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n ConfigGetAppConfiguration,\n ConfigState,\n eLayoutType,\n SessionSetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { LayoutAddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './layout-application.component.html',\n})\nexport class LayoutApplicationComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new LayoutAddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SessionSetLanguage(cultureName));\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class LayoutEmptyComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n}\n","import { Profile, ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new ProfileGet())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { LayoutAccountComponent } from './components/layout-account/layout-account.component';\nimport { LayoutApplicationComponent } from './components/layout-application/layout-application.component';\nimport { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","pipe","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","Layout","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js index dc107326c4..83c843c4b6 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js @@ -5,14 +5,14 @@ /** * Generated bundle index. Do not edit. */ -export { LAYOUTS, ThemeBasicModule, LayoutAddNavigationElement, LayoutRemoveNavigationElementByName, LayoutAccountComponent, LayoutApplicationComponent, LayoutEmptyComponent, LayoutState } from './public-api'; -export { LayoutAddNavigationElement as ɵi, LayoutRemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { LAYOUTS, ThemeBasicModule, AddNavigationElement, RemoveNavigationElementByName, AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent, LayoutState } from './public-api'; +export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; +export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; -export { LayoutAccountComponent as ɵc } from './lib/components/layout-account/layout-account.component'; -export { LayoutApplicationComponent as ɵa } from './lib/components/layout-application/layout-application.component'; -export { LayoutEmptyComponent as ɵd } from './lib/components/layout-empty/layout-empty.component'; +export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; export { LayoutState as ɵb } from './lib/states'; export { LayoutState as ɵh } from './lib/states/layout.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa01BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsbUNBQW1DLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7TGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLExheW91dFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEFjY291bnRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC1hY2NvdW50L2xheW91dC1hY2NvdW50LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEFwcGxpY2F0aW9uQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEVtcHR5Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQtZW1wdHkvbGF5b3V0LWVtcHR5LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0FjY291bnRMYXlvdXRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0VtcHR5TGF5b3V0Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/index.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/index.js index 0ee70b2082..acfe624a35 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/index.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from './layout.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGdGQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuYWN0aW9ucyc7XG4iXX0= \ No newline at end of file +export { AddNavigationElement, RemoveNavigationElementByName } from './layout.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG9FQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuYWN0aW9ucyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/layout.actions.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/layout.actions.js index dea3851f05..6f32de27d4 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/layout.actions.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/actions/layout.actions.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export class LayoutAddNavigationElement { +export class AddNavigationElement { /** * @param {?} payload */ @@ -10,14 +10,14 @@ export class LayoutAddNavigationElement { this.payload = payload; } } -LayoutAddNavigationElement.type = '[Layout] Add Navigation Element'; +AddNavigationElement.type = '[Layout] Add Navigation Element'; if (false) { /** @type {?} */ - LayoutAddNavigationElement.type; + AddNavigationElement.type; /** @type {?} */ - LayoutAddNavigationElement.prototype.payload; + AddNavigationElement.prototype.payload; } -export class LayoutRemoveNavigationElementByName { +export class RemoveNavigationElementByName { /** * @param {?} name */ @@ -25,11 +25,11 @@ export class LayoutRemoveNavigationElementByName { this.name = name; } } -LayoutRemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; +RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; if (false) { /** @type {?} */ - LayoutRemoveNavigationElementByName.type; + RemoveNavigationElementByName.type; /** @type {?} */ - LayoutRemoveNavigationElementByName.prototype.name; + RemoveNavigationElementByName.prototype.name; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLE1BQU0sT0FBTywwQkFBMEI7Ozs7SUFFckMsWUFBbUIsT0FBOEQ7UUFBOUQsWUFBTyxHQUFQLE9BQU8sQ0FBdUQ7SUFBRyxDQUFDOztBQURyRSwrQkFBSSxHQUFHLGlDQUFpQyxDQUFDOzs7SUFBekQsZ0NBQXlEOztJQUM3Qyw2Q0FBcUU7O0FBR25GLE1BQU0sT0FBTyxtQ0FBbUM7Ozs7SUFFOUMsWUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDOztBQURuQix3Q0FBSSxHQUFHLDBDQUEwQyxDQUFDOzs7SUFBbEUseUNBQWtFOztJQUN0RCxtREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0JztcblxuZXhwb3J0IGNsYXNzIExheW91dEFkZE5hdmlnYXRpb25FbGVtZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gQWRkIE5hdmlnYXRpb24gRWxlbWVudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnQgfCBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSkge31cbn1cblxuZXhwb3J0IGNsYXNzIExheW91dFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gUmVtb3ZlIE5hdmlnYXRpb24gRWxlbWVudEJ5TmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLE1BQU0sT0FBTyxvQkFBb0I7Ozs7SUFFL0IsWUFBbUIsT0FBOEQ7UUFBOUQsWUFBTyxHQUFQLE9BQU8sQ0FBdUQ7SUFBRyxDQUFDOztBQURyRSx5QkFBSSxHQUFHLGlDQUFpQyxDQUFDOzs7SUFBekQsMEJBQXlEOztJQUM3Qyx1Q0FBcUU7O0FBR25GLE1BQU0sT0FBTyw2QkFBNkI7Ozs7SUFFeEMsWUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDOztBQURuQixrQ0FBSSxHQUFHLDBDQUEwQyxDQUFDOzs7SUFBbEUsbUNBQWtFOztJQUN0RCw2Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0JztcblxuZXhwb3J0IGNsYXNzIEFkZE5hdmlnYXRpb25FbGVtZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gQWRkIE5hdmlnYXRpb24gRWxlbWVudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnQgfCBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSkge31cbn1cblxuZXhwb3J0IGNsYXNzIFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gUmVtb3ZlIE5hdmlnYXRpb24gRWxlbWVudEJ5TmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js new file mode 100644 index 0000000000..82077cde4e --- /dev/null +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js @@ -0,0 +1,25 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component } from '@angular/core'; +export class AccountLayoutComponent { + constructor() { + this.isCollapsed = false; + } +} +// required for dynamic component +AccountLayoutComponent.type = "account" /* account */; +AccountLayoutComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-layout-account', + template: "\n \n\n \n \n \n \n \n\n" + }] } +]; +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O0FBSFEsMkJBQUksMkJBQXVCOztZQU5uQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsMnpCQUE4QzthQUMvQzs7OztJQUdDLDRCQUFrQzs7SUFFbEMsNkNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xuXG4gIGlzQ29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js new file mode 100644 index 0000000000..79db22c9a3 --- /dev/null +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js @@ -0,0 +1,282 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { GetAppConfiguration, ConfigState, SetLanguage, SessionState, takeUntilDestroy, } from '@abp/ng.core'; +import { Component, QueryList, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; +import { Navigate, RouterState } from '@ngxs/router-plugin'; +import { Select, Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; +import compare from 'just-compare'; +import { fromEvent, Observable } from 'rxjs'; +import { debounceTime, filter, map } from 'rxjs/operators'; +import snq from 'snq'; +import { AddNavigationElement } from '../../actions'; +import { LayoutState } from '../../states'; +export class ApplicationLayoutComponent { + /** + * @param {?} store + * @param {?} oauthService + */ + constructor(store, oauthService) { + this.store = store; + this.oauthService = oauthService; + this.isOpenChangePassword = false; + this.isOpenProfile = false; + this.rightPartElements = []; + this.trackByFn = (/** + * @param {?} _ + * @param {?} item + * @return {?} + */ + (_, item) => item.name); + this.trackElementByFn = (/** + * @param {?} _ + * @param {?} element + * @return {?} + */ + (_, element) => element); + } + /** + * @return {?} + */ + get visibleRoutes$() { + return this.routes$.pipe(map((/** + * @param {?} routes + * @return {?} + */ + routes => getVisibleRoutes(routes)))); + } + /** + * @return {?} + */ + get defaultLanguage$() { + return this.languages$.pipe(map((/** + * @param {?} languages + * @return {?} + */ + languages => snq((/** + * @return {?} + */ + () => languages.find((/** + * @param {?} lang + * @return {?} + */ + lang => lang.cultureName === this.selectedLangCulture)).displayName))), '')); + } + /** + * @return {?} + */ + get dropdownLanguages$() { + return this.languages$.pipe(map((/** + * @param {?} languages + * @return {?} + */ + languages => snq((/** + * @return {?} + */ + () => languages.filter((/** + * @param {?} lang + * @return {?} + */ + lang => lang.cultureName !== this.selectedLangCulture))))), [])); + } + /** + * @return {?} + */ + get selectedLangCulture() { + return this.store.selectSnapshot(SessionState.getLanguage); + } + /** + * @private + * @return {?} + */ + checkWindowWidth() { + setTimeout((/** + * @return {?} + */ + () => { + this.navbarRootDropdowns.forEach((/** + * @param {?} item + * @return {?} + */ + item => { + item.close(); + })); + if (window.innerWidth < 768) { + this.isDropdownChildDynamic = false; + } + else { + this.isDropdownChildDynamic = true; + } + }), 0); + } + /** + * @return {?} + */ + ngAfterViewInit() { + /** @type {?} */ + const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map((/** + * @param {?} __0 + * @return {?} + */ + ({ name }) => name)); + if (navigations.indexOf('LanguageRef') < 0) { + this.store.dispatch(new AddNavigationElement([ + { element: this.languageRef, order: 4, name: 'LanguageRef' }, + { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, + ])); + } + this.navElements$ + .pipe(map((/** + * @param {?} elements + * @return {?} + */ + elements => elements.map((/** + * @param {?} __0 + * @return {?} + */ + ({ element }) => element)))), filter((/** + * @param {?} elements + * @return {?} + */ + elements => !compare(elements, this.rightPartElements))), takeUntilDestroy(this)) + .subscribe((/** + * @param {?} elements + * @return {?} + */ + elements => { + setTimeout((/** + * @return {?} + */ + () => (this.rightPartElements = elements)), 0); + })); + this.checkWindowWidth(); + fromEvent(window, 'resize') + .pipe(takeUntilDestroy(this), debounceTime(250)) + .subscribe((/** + * @return {?} + */ + () => { + this.checkWindowWidth(); + })); + } + /** + * @return {?} + */ + ngOnDestroy() { } + /** + * @param {?} cultureName + * @return {?} + */ + onChangeLang(cultureName) { + this.store.dispatch(new SetLanguage(cultureName)); + this.store.dispatch(new GetAppConfiguration()); + } + /** + * @return {?} + */ + logout() { + this.oauthService.logOut(); + this.store.dispatch(new Navigate(['/'], null, { + state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, + })); + this.store.dispatch(new GetAppConfiguration()); + } +} +// required for dynamic component +ApplicationLayoutComponent.type = "application" /* application */; +ApplicationLayoutComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-layout-application', + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + }] } +]; +/** @nocollapse */ +ApplicationLayoutComponent.ctorParameters = () => [ + { type: Store }, + { type: OAuthService } +]; +ApplicationLayoutComponent.propDecorators = { + currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], + languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], + navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] +}; +tslib_1.__decorate([ + Select(ConfigState.getOne('routes')), + tslib_1.__metadata("design:type", Observable) +], ApplicationLayoutComponent.prototype, "routes$", void 0); +tslib_1.__decorate([ + Select(ConfigState.getOne('currentUser')), + tslib_1.__metadata("design:type", Observable) +], ApplicationLayoutComponent.prototype, "currentUser$", void 0); +tslib_1.__decorate([ + Select(ConfigState.getDeep('localization.languages')), + tslib_1.__metadata("design:type", Observable) +], ApplicationLayoutComponent.prototype, "languages$", void 0); +tslib_1.__decorate([ + Select(LayoutState.getNavigationElements), + tslib_1.__metadata("design:type", Observable) +], ApplicationLayoutComponent.prototype, "navElements$", void 0); +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} +/** + * @param {?} routes + * @return {?} + */ +function getVisibleRoutes(routes) { + return routes.reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + (acc, val) => { + if (val.invisible) + return acc; + if (val.children && val.children.length) { + val.children = getVisibleRoutes(val.children); + } + return [...acc, val]; + }), []); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTTNDLE1BQU0sT0FBTywwQkFBMEI7Ozs7O0lBNERyQyxZQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FB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RTVELGtEQUNxRDs7SUFFckQsb0RBQ2lDOztJQUVqQyxpREFDOEI7O0lBRTlCLHlEQUM0Qzs7SUFFNUMsMERBQXNDOztJQUV0QyxtREFBK0I7O0lBRS9CLDREQUFnQzs7SUF5QmhDLHVEQUEyQzs7SUFFM0MsK0NBQW1FOztJQUVuRSxzREFBMkU7Ozs7O0lBRS9ELDJDQUFvQjs7Ozs7SUFBRSxrREFBa0M7Ozs7OztBQW1FdEUsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF1QjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2hDLElBQUksR0FBRyxDQUFDLFNBQVM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUU5QixJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsR0FBRyxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFCUCxcbiAgQXBwbGljYXRpb25Db25maWd1cmF0aW9uLFxuICBHZXRBcHBDb25maWd1cmF0aW9uLFxuICBDb25maWdTdGF0ZSxcbiAgZUxheW91dFR5cGUsXG4gIFNldExhbmd1YWdlLFxuICBTZXNzaW9uU3RhdGUsXG4gIHRha2VVbnRpbERlc3Ryb3ksXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93biB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5hdmlnYXRlLCBSb3V0ZXJTdGF0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFkZE5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGF5b3V0JztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1hcHBsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8vIHJlcXVpcmVkIGZvciBkeW5hbWljIGNvbXBvbmVudFxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyb3V0ZXMnKSlcbiAgcm91dGVzJDogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdjdXJyZW50VXNlcicpKVxuICBjdXJyZW50VXNlciQ6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkN1cnJlbnRVc2VyPjtcblxuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5sYW5ndWFnZXMnKSlcbiAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uTGFuZ3VhZ2VbXT47XG5cbiAgQFNlbGVjdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpXG4gIG5hdkVsZW1lbnRzJDogT2JzZXJ2YWJsZTxMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXT47XG5cbiAgQFZpZXdDaGlsZCgnY3VycmVudFVzZXInLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGN1cnJlbnRVc2VyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2xhbmd1YWdlJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBsYW5ndWFnZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkcmVuKCduYXZiYXJSb290RHJvcGRvd24nLCB7IHJlYWQ6IE5nYkRyb3Bkb3duIH0pXG4gIG5hdmJhclJvb3REcm9wZG93bnM6IFF1ZXJ5TGlzdDxOZ2JEcm9wZG93bj47XG5cbiAgaXNPcGVuQ2hhbmdlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc09wZW5Qcm9maWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNEcm9wZG93bkNoaWxkRHluYW1pYzogYm9vbGVhbjtcblxuICBnZXQgdmlzaWJsZVJvdXRlcyQoKTogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXMkLnBpcGUobWFwKHJvdXRlcyA9PiBnZXRWaXNpYmxlUm91dGVzKHJvdXRlcykpKTtcbiAgfVxuXG4gIGdldCBkZWZhdWx0TGFuZ3VhZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICBsYW5ndWFnZXMgPT4gc25xKCgpID0+IGxhbmd1YWdlcy5maW5kKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSA9PT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKS5kaXNwbGF5TmFtZSksXG4gICAgICAgICcnLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duTGFuZ3VhZ2VzJCgpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbHRlcihsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgIT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSkpLCBbXSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhbmdDdWx0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKTtcbiAgfVxuXG4gIHJpZ2h0UGFydEVsZW1lbnRzOiBUZW1wbGF0ZVJlZjxhbnk+W10gPSBbXTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxBQlAuRnVsbFJvdXRlPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgdHJhY2tFbGVtZW50QnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGVsZW1lbnQpID0+IGVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBjaGVja1dpbmRvd1dpZHRoKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5uYXZiYXJSb290RHJvcGRvd25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uY2xvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4KSB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkNoaWxkRHluYW1pYyA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9ucyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoTGF5b3V0U3RhdGUuZ2V0TmF2aWdhdGlvbkVsZW1lbnRzKS5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKTtcblxuICAgIGlmIChuYXZpZ2F0aW9ucy5pbmRleE9mKCdMYW5ndWFnZVJlZicpIDwgMCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IEFkZE5hdmlnYXRpb25FbGVtZW50KFtcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMubGFuZ3VhZ2VSZWYsIG9yZGVyOiA0LCBuYW1lOiAnTGFuZ3VhZ2VSZWYnIH0sXG4gICAgICAgICAgeyBlbGVtZW50OiB0aGlzLmN1cnJlbnRVc2VyUmVmLCBvcmRlcjogNSwgbmFtZTogJ0N1cnJlbnRVc2VyUmVmJyB9LFxuICAgICAgICBdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZFbGVtZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZWxlbWVudHMgPT4gZWxlbWVudHMubWFwKCh7IGVsZW1lbnQgfSkgPT4gZWxlbWVudCkpLFxuICAgICAgICBmaWx0ZXIoZWxlbWVudHMgPT4gIWNvbXBhcmUoZWxlbWVudHMsIHRoaXMucmlnaHRQYXJ0RWxlbWVudHMpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZWxlbWVudHMgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnJpZ2h0UGFydEVsZW1lbnRzID0gZWxlbWVudHMpLCAwKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XG5cbiAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIG9uQ2hhbmdlTGFuZyhjdWx0dXJlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0TGFuZ3VhZ2UoY3VsdHVyZU5hbWUpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvJ10sIG51bGwsIHtcbiAgICAgICAgc3RhdGU6IHsgcmVkaXJlY3RVcmw6IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpLnN0YXRlLnVybCB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZpc2libGVSb3V0ZXMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10pIHtcbiAgcmV0dXJuIHJvdXRlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgaWYgKHZhbC5pbnZpc2libGUpIHJldHVybiBhY2M7XG5cbiAgICBpZiAodmFsLmNoaWxkcmVuICYmIHZhbC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHZhbC5jaGlsZHJlbiA9IGdldFZpc2libGVSb3V0ZXModmFsLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmFjYywgdmFsXTtcbiAgfSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js index 317d262e28..420e17c620 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js @@ -2,20 +2,24 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { ProfileChangePassword } from '@abp/ng.core'; +import { ChangePassword } from '@abp/ng.core'; +import { ToasterService } from '@abp/ng.theme.shared'; import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { comparePasswords, validatePassword } from '@ngx-validate/core'; +import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; +import snq from 'snq'; const { minLength, required } = Validators; export class ChangePasswordComponent { /** * @param {?} fb * @param {?} store + * @param {?} toasterService */ - constructor(fb, store) { + constructor(fb, store, toasterService) { this.fb = fb; this.store = store; + this.toasterService = toasterService; this.visibleChange = new EventEmitter(); } /** @@ -37,9 +41,9 @@ export class ChangePasswordComponent { */ ngOnInit() { this.form = this.fb.group({ - password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], }, { validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], }); @@ -51,16 +55,31 @@ export class ChangePasswordComponent { if (this.form.invalid) return; this.store - .dispatch(new ProfileChangePassword({ + .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) - .subscribe((/** - * @return {?} - */ - () => { - this.visible = false; - })); + .subscribe({ + next: (/** + * @return {?} + */ + () => { + this.visible = false; + this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); } /** * @return {?} @@ -86,13 +105,14 @@ export class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ ChangePasswordComponent.ctorParameters = () => [ { type: FormBuilder }, - { type: Store } + { type: Store }, + { type: ToasterService } ]; ChangePasswordComponent.propDecorators = { visible: [{ type: Input }], @@ -121,5 +141,10 @@ if (false) { * @private */ ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7TUFFOUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU0xQyxNQUFNLE9BQU8sdUJBQXVCOzs7OztJQXFCbEMsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7Ozs7SUFsQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckcsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0csRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FDUCxJQUFJLHFCQUFxQixDQUFDO1lBQ3hCLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO1lBQ2hELFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLO1NBQ2hELENBQUMsQ0FDSDthQUNBLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBaUI7UUFDcEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUFuRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLGd4REFBK0M7YUFDaEQ7Ozs7WUFUUSxXQUFXO1lBRVgsS0FBSzs7O3NCQVdYLEtBQUs7NEJBVUwsTUFBTTsyQkFHTixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7Ozs7OztJQWY1QywyQ0FBbUI7O0lBWW5CLGdEQUM0Qzs7SUFFNUMsK0NBQytCOztJQUUvQix1Q0FBZ0I7Ozs7O0lBRUoscUNBQXVCOzs7OztJQUFFLHdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGVDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMsIHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWluTGVuZ3RoKDYpLCB2YWxpZGF0ZVBhc3N3b3JkKFsnc21hbGwnLCAnY2FwaXRhbCcsICdudW1iZXInLCAnc3BlY2lhbCddKV1dLFxuICAgICAgICBuZXdQYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1pbkxlbmd0aCg2KSwgdmFsaWRhdGVQYXNzd29yZChbJ3NtYWxsJywgJ2NhcGl0YWwnLCAnbnVtYmVyJywgJ3NwZWNpYWwnXSldXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtaW5MZW5ndGgoNiksIHZhbGlkYXRlUGFzc3dvcmQoWydzbWFsbCcsICdjYXBpdGFsJywgJ251bWJlcicsICdzcGVjaWFsJ10pXV0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbY29tcGFyZVBhc3N3b3JkcyhbJ25ld1Bhc3N3b3JkJywgJ3JlcGVhdE5ld1Bhc3N3b3JkJ10pXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgUHJvZmlsZUNoYW5nZVBhc3N3b3JkKHtcbiAgICAgICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ25ld1Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7TUFFaEIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU0xQyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFxQmxDLFlBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7Ozs7SUFsQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUMzQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7U0FDbEMsRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FDUCxJQUFJLGNBQWMsQ0FBQztZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSztZQUNoRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJOzs7WUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFBRSxPQUFPLEVBQUU7b0JBQ3hHLElBQUksRUFBRSxJQUFJO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBM0VGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixrMERBQStDO2FBQ2hEOzs7O1lBVlEsV0FBVztZQUVYLEtBQUs7WUFkTCxjQUFjOzs7c0JBMEJwQixLQUFLOzRCQVVMLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7SUFmNUMsMkNBQW1COztJQVluQixnREFDNEM7O0lBRTVDLCtDQUMrQjs7SUFFL0IsdUNBQWdCOzs7OztJQUVKLHFDQUF1Qjs7Ozs7SUFBRSx3Q0FBb0I7Ozs7O0lBQUUsaURBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgbmV3IENoYW5nZVBhc3N3b3JkKHtcbiAgICAgICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ25ld1Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-empty/layout-empty.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js similarity index 76% rename from npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-empty/layout-empty.component.js rename to npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js index ba30ed3da5..10f24c8252 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-empty/layout-empty.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js @@ -3,11 +3,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component } from '@angular/core'; -export class LayoutEmptyComponent { +export class EmptyLayoutComponent { } // required for dynamic component -LayoutEmptyComponent.type = "empty" /* empty */; -LayoutEmptyComponent.decorators = [ +EmptyLayoutComponent.type = "empty" /* empty */; +EmptyLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-empty', template: ` @@ -18,6 +18,6 @@ LayoutEmptyComponent.decorators = [ ]; if (false) { /** @type {?} */ - LayoutEmptyComponent.type; + EmptyLayoutComponent.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQtZW1wdHkvbGF5b3V0LWVtcHR5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COzs7QUFFeEIseUJBQUksdUJBQXFCOztZQVRqQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7R0FHVDthQUNGOzs7O0lBR0MsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0RW1wdHlDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COzs7QUFFeEIseUJBQUksdUJBQXFCOztZQVRqQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7R0FHVDthQUNGOzs7O0lBR0MsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/index.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/index.js index 25ffed3ffc..e64ecf3cbd 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/index.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/index.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { LayoutAccountComponent } from './layout-account/layout-account.component'; -export { LayoutApplicationComponent } from './layout-application/layout-application.component'; -export { LayoutEmptyComponent } from './layout-empty/layout-empty.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDJDQUEyQyxDQUFDO0FBQzFELDJDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLHFDQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYWNjb3VudC9sYXlvdXQtYWNjb3VudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1lbXB0eS9sYXlvdXQtZW1wdHkuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file +export { AccountLayoutComponent } from './account-layout/account-layout.component'; +export { ApplicationLayoutComponent } from './application-layout/application-layout.component'; +export { EmptyLayoutComponent } from './empty-layout/empty-layout.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDJDQUEyQyxDQUFDO0FBQzFELDJDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLHFDQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VtcHR5LWxheW91dC9lbXB0eS1sYXlvdXQuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-account/layout-account.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-account/layout-account.component.js deleted file mode 100644 index c1a36c2da7..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-account/layout-account.component.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import { Component } from '@angular/core'; -export class LayoutAccountComponent { - constructor() { - this.isCollapsed = false; - } -} -// required for dynamic component -LayoutAccountComponent.type = "account" /* account */; -LayoutAccountComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" - }] } -]; -if (false) { - /** @type {?} */ - LayoutAccountComponent.type; - /** @type {?} */ - LayoutAccountComponent.prototype.isCollapsed; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xheW91dC1hY2NvdW50L2xheW91dC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O0FBSFEsMkJBQUksMkJBQXVCOztZQU5uQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsMHhCQUE4QzthQUMvQzs7OztJQUdDLDRCQUFrQzs7SUFFbEMsNkNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYWNjb3VudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dEFjY291bnRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xuXG4gIGlzQ29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-application/layout-application.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-application/layout-application.component.js deleted file mode 100644 index 24052a005b..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout-application/layout-application.component.js +++ /dev/null @@ -1,282 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import * as tslib_1 from "tslib"; -import { ConfigGetAppConfiguration, ConfigState, SessionSetLanguage, SessionState, takeUntilDestroy, } from '@abp/ng.core'; -import { Component, QueryList, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; -import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; -import { Navigate, RouterState } from '@ngxs/router-plugin'; -import { Select, Store } from '@ngxs/store'; -import { OAuthService } from 'angular-oauth2-oidc'; -import compare from 'just-compare'; -import { fromEvent, Observable } from 'rxjs'; -import { debounceTime, filter, map } from 'rxjs/operators'; -import snq from 'snq'; -import { LayoutAddNavigationElement } from '../../actions'; -import { LayoutState } from '../../states'; -export class LayoutApplicationComponent { - /** - * @param {?} store - * @param {?} oauthService - */ - constructor(store, oauthService) { - this.store = store; - this.oauthService = oauthService; - this.isOpenChangePassword = false; - this.isOpenProfile = false; - this.rightPartElements = []; - this.trackByFn = (/** - * @param {?} _ - * @param {?} item - * @return {?} - */ - (_, item) => item.name); - this.trackElementByFn = (/** - * @param {?} _ - * @param {?} element - * @return {?} - */ - (_, element) => element); - } - /** - * @return {?} - */ - get visibleRoutes$() { - return this.routes$.pipe(map((/** - * @param {?} routes - * @return {?} - */ - routes => getVisibleRoutes(routes)))); - } - /** - * @return {?} - */ - get defaultLanguage$() { - return this.languages$.pipe(map((/** - * @param {?} languages - * @return {?} - */ - languages => snq((/** - * @return {?} - */ - () => languages.find((/** - * @param {?} lang - * @return {?} - */ - lang => lang.cultureName === this.selectedLangCulture)).displayName))), '')); - } - /** - * @return {?} - */ - get dropdownLanguages$() { - return this.languages$.pipe(map((/** - * @param {?} languages - * @return {?} - */ - languages => snq((/** - * @return {?} - */ - () => languages.filter((/** - * @param {?} lang - * @return {?} - */ - lang => lang.cultureName !== this.selectedLangCulture))))), [])); - } - /** - * @return {?} - */ - get selectedLangCulture() { - return this.store.selectSnapshot(SessionState.getLanguage); - } - /** - * @private - * @return {?} - */ - checkWindowWidth() { - setTimeout((/** - * @return {?} - */ - () => { - this.navbarRootDropdowns.forEach((/** - * @param {?} item - * @return {?} - */ - item => { - item.close(); - })); - if (window.innerWidth < 768) { - this.isDropdownChildDynamic = false; - } - else { - this.isDropdownChildDynamic = true; - } - }), 0); - } - /** - * @return {?} - */ - ngAfterViewInit() { - /** @type {?} */ - const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map((/** - * @param {?} __0 - * @return {?} - */ - ({ name }) => name)); - if (navigations.indexOf('LanguageRef') < 0) { - this.store.dispatch(new LayoutAddNavigationElement([ - { element: this.languageRef, order: 4, name: 'LanguageRef' }, - { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, - ])); - } - this.navElements$ - .pipe(map((/** - * @param {?} elements - * @return {?} - */ - elements => elements.map((/** - * @param {?} __0 - * @return {?} - */ - ({ element }) => element)))), filter((/** - * @param {?} elements - * @return {?} - */ - elements => !compare(elements, this.rightPartElements))), takeUntilDestroy(this)) - .subscribe((/** - * @param {?} elements - * @return {?} - */ - elements => { - setTimeout((/** - * @return {?} - */ - () => (this.rightPartElements = elements)), 0); - })); - this.checkWindowWidth(); - fromEvent(window, 'resize') - .pipe(takeUntilDestroy(this), debounceTime(250)) - .subscribe((/** - * @return {?} - */ - () => { - this.checkWindowWidth(); - })); - } - /** - * @return {?} - */ - ngOnDestroy() { } - /** - * @param {?} cultureName - * @return {?} - */ - onChangeLang(cultureName) { - this.store.dispatch(new SessionSetLanguage(cultureName)); - this.store.dispatch(new ConfigGetAppConfiguration()); - } - /** - * @return {?} - */ - logout() { - this.oauthService.logOut(); - this.store.dispatch(new Navigate(['/account/login'], null, { - state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, - })); - this.store.dispatch(new ConfigGetAppConfiguration()); - } -} -// required for dynamic component -LayoutApplicationComponent.type = "application" /* application */; -LayoutApplicationComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" - }] } -]; -/** @nocollapse */ -LayoutApplicationComponent.ctorParameters = () => [ - { type: Store }, - { type: OAuthService } -]; -LayoutApplicationComponent.propDecorators = { - currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], - languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], - navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] -}; -tslib_1.__decorate([ - Select(ConfigState.getOne('routes')), - tslib_1.__metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "routes$", void 0); -tslib_1.__decorate([ - Select(ConfigState.getOne('currentUser')), - tslib_1.__metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "currentUser$", void 0); -tslib_1.__decorate([ - Select(ConfigState.getDeep('localization.languages')), - tslib_1.__metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "languages$", void 0); -tslib_1.__decorate([ - Select(LayoutState.getNavigationElements), - tslib_1.__metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "navElements$", void 0); -if (false) { - /** @type {?} */ - LayoutApplicationComponent.type; - /** @type {?} */ - LayoutApplicationComponent.prototype.routes$; - /** @type {?} */ - LayoutApplicationComponent.prototype.currentUser$; - /** @type {?} */ - LayoutApplicationComponent.prototype.languages$; - /** @type {?} */ - LayoutApplicationComponent.prototype.navElements$; - /** @type {?} */ - LayoutApplicationComponent.prototype.currentUserRef; - /** @type {?} */ - LayoutApplicationComponent.prototype.languageRef; - /** @type {?} */ - LayoutApplicationComponent.prototype.navbarRootDropdowns; - /** @type {?} */ - LayoutApplicationComponent.prototype.isOpenChangePassword; - /** @type {?} */ - LayoutApplicationComponent.prototype.isOpenProfile; - /** @type {?} */ - LayoutApplicationComponent.prototype.isDropdownChildDynamic; - /** @type {?} */ - LayoutApplicationComponent.prototype.rightPartElements; - /** @type {?} */ - LayoutApplicationComponent.prototype.trackByFn; - /** @type {?} */ - LayoutApplicationComponent.prototype.trackElementByFn; - /** - * @type {?} - * @private - */ - LayoutApplicationComponent.prototype.store; - /** - * @type {?} - * @private - */ - LayoutApplicationComponent.prototype.oauthService; -} -/** - * @param {?} routes - * @return {?} - */ -function getVisibleRoutes(routes) { - return routes.reduce((/** - * @param {?} acc - * @param {?} val - * @return {?} - */ - (acc, val) => { - if (val.invisible) - return acc; - if (val.children && val.children.length) { - val.children = getVisibleRoutes(val.children); - } - return [...acc, val]; - }), []); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsV0FBVyxFQUVYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTTNDLE1BQU0sT0FBTywwQkFBMEI7Ozs7O0lBNERyQyxZQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUss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QzREOztJQUU1RCxrREFDcUQ7O0lBRXJELG9EQUNpQzs7SUFFakMsaURBQzhCOztJQUU5Qix5REFDNEM7O0lBRTVDLDBEQUFzQzs7SUFFdEMsbURBQStCOztJQUUvQiw0REFBZ0M7O0lBeUJoQyx1REFBMkM7O0lBRTNDLCtDQUFtRTs7SUFFbkUsc0RBQTJFOzs7OztJQUUvRCwyQ0FBb0I7Ozs7O0lBQUUsa0RBQWtDOzs7Ozs7QUFtRXRFLFNBQVMsZ0JBQWdCLENBQUMsTUFBdUI7SUFDL0MsT0FBTyxNQUFNLENBQUMsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBQlAsXG4gIEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcbiAgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbixcbiAgQ29uZmlnU3RhdGUsXG4gIGVMYXlvdXRUeXBlLFxuICBTZXNzaW9uU2V0TGFuZ3VhZ2UsXG4gIFNlc3Npb25TdGF0ZSxcbiAgdGFrZVVudGlsRGVzdHJveSxcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmF2aWdhdGUsIFJvdXRlclN0YXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgTGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1hcHBsaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dEFwcGxpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYXBwbGljYXRpb247XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JvdXRlcycpKVxuICByb3V0ZXMkOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT47XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRVc2VyJykpXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uQ3VycmVudFVzZXI+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0RGVlcCgnbG9jYWxpemF0aW9uLmxhbmd1YWdlcycpKVxuICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPjtcblxuICBAU2VsZWN0KExheW91dFN0YXRlLmdldE5hdmlnYXRpb25FbGVtZW50cylcbiAgbmF2RWxlbWVudHMkOiBPYnNlcnZhYmxlPExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdPjtcblxuICBAVmlld0NoaWxkKCdjdXJyZW50VXNlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgY3VycmVudFVzZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnbGFuZ3VhZ2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhbmd1YWdlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ25hdmJhclJvb3REcm9wZG93bicsIHsgcmVhZDogTmdiRHJvcGRvd24gfSlcbiAgbmF2YmFyUm9vdERyb3Bkb3duczogUXVlcnlMaXN0PE5nYkRyb3Bkb3duPjtcblxuICBpc09wZW5DaGFuZ2VQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzT3BlblByb2ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0Ryb3Bkb3duQ2hpbGREeW5hbWljOiBib29sZWFuO1xuXG4gIGdldCB2aXNpYmxlUm91dGVzJCgpOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlcyQucGlwZShtYXAocm91dGVzID0+IGdldFZpc2libGVSb3V0ZXMocm91dGVzKSkpO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbmQobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lID09PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpLmRpc3BsYXlOYW1lKSxcbiAgICAgICAgJycsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25MYW5ndWFnZXMkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkxhbmd1YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAobGFuZ3VhZ2VzID0+IHNucSgoKSA9PiBsYW5ndWFnZXMuZmlsdGVyKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSAhPT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKSksIFtdKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFuZ0N1bHR1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgcmlnaHRQYXJ0RWxlbWVudHM6IFRlbXBsYXRlUmVmPGFueT5bXSA9IFtdO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0ubmFtZTtcblxuICB0cmFja0VsZW1lbnRCeUZuOiBUcmFja0J5RnVuY3Rpb248QUJQLkZ1bGxSb3V0ZT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSkge31cblxuICBwcml2YXRlIGNoZWNrV2luZG93V2lkdGgoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5hdmJhclJvb3REcm9wZG93bnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA3NjgpIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25DaGlsZER5bmFtaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpO1xuXG4gICAgaWYgKG5hdmlnYXRpb25zLmluZGV4T2YoJ0xhbmd1YWdlUmVmJykgPCAwKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgTGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQoW1xuICAgICAgICAgIHsgZWxlbWVudDogdGhpcy5sYW5ndWFnZVJlZiwgb3JkZXI6IDQsIG5hbWU6ICdMYW5ndWFnZVJlZicgfSxcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMuY3VycmVudFVzZXJSZWYsIG9yZGVyOiA1LCBuYW1lOiAnQ3VycmVudFVzZXJSZWYnIH0sXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkVsZW1lbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50cyA9PiBlbGVtZW50cy5tYXAoKHsgZWxlbWVudCB9KSA9PiBlbGVtZW50KSksXG4gICAgICAgIGZpbHRlcihlbGVtZW50cyA9PiAhY29tcGFyZShlbGVtZW50cywgdGhpcy5yaWdodFBhcnRFbGVtZW50cykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlbGVtZW50cyA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMucmlnaHRQYXJ0RWxlbWVudHMgPSBlbGVtZW50cyksIDApO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcblxuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgIGRlYm91bmNlVGltZSgyNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tXaW5kb3dXaWR0aCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgb25DaGFuZ2VMYW5nKGN1bHR1cmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXNzaW9uU2V0TGFuZ3VhZ2UoY3VsdHVyZU5hbWUpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBDb25maWdHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvYWNjb3VudC9sb2dpbiddLCBudWxsLCB7XG4gICAgICAgIHN0YXRlOiB7IHJlZGlyZWN0VXJsOiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKS5zdGF0ZS51cmwgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ29uZmlnR2V0QXBwQ29uZmlndXJhdGlvbigpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRWaXNpYmxlUm91dGVzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKSB7XG4gIHJldHVybiByb3V0ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgIGlmICh2YWwuaW52aXNpYmxlKSByZXR1cm4gYWNjO1xuXG4gICAgaWYgKHZhbC5jaGlsZHJlbiAmJiB2YWwuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICB2YWwuY2hpbGRyZW4gPSBnZXRWaXNpYmxlUm91dGVzKHZhbC5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5hY2MsIHZhbF07XG4gIH0sIFtdKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js index 75e92c331f..f4265a292f 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js @@ -2,20 +2,43 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ConfigState } from '@abp/ng.core'; +import { slideFromBottom } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; +import { Store } from '@ngxs/store'; export class LayoutComponent { - constructor() { + /** + * @param {?} store + */ + constructor(store) { + this.store = store; this.isCollapsed = false; } + /** + * @return {?} + */ + get appInfo() { + return this.store.selectSnapshot(ConfigState.getApplicationInfo); + } } LayoutComponent.decorators = [ { type: Component, args: [{ selector: ' abp-layout', - template: "\n\n
    \n \n
    \n\n\n\n" + template: "\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n", + animations: [slideFromBottom] }] } ]; +/** @nocollapse */ +LayoutComponent.ctorParameters = () => [ + { type: Store } +]; if (false) { /** @type {?} */ LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtFLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBQy9CLENBQUM7OztZQU5BLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsb3FCQUFzQzthQUN2Qzs7OztJQUVDLHNDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQzs7OztJQUpwQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsZzhCQUFzQztnQkFDdEMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCOzs7O1lBTlEsS0FBSzs7OztJQVFaLHNDQUE2Qjs7Ozs7SUFNakIsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21Cb3R0b20gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgYXBwSW5mbygpOiBDb25maWcuQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFwcGxpY2F0aW9uSW5mbyk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js index f4aea3953e..877d961bb8 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core'; +import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; @@ -39,7 +39,7 @@ export class ProfileComponent { */ buildForm() { this.store - .dispatch(new ProfileGet()) + .dispatch(new GetProfile()) .pipe(withLatestFrom(this.profile$), take(1)) .subscribe((/** * @param {?} __0 @@ -61,11 +61,12 @@ export class ProfileComponent { onSubmit() { if (this.form.invalid) return; - this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe((/** + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { this.visible = false; + this.form.reset(); })); } /** @@ -93,7 +94,7 @@ export class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -132,4 +133,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXFCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7Ozs7SUFsQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2FBQzFCLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBaUI7UUFDcEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUFsRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixpbUVBQXVDO2FBQ3hDOzs7O1lBVlEsV0FBVztZQUNILEtBQUs7OztzQkFhbkIsS0FBSzs0QkFVTCxNQUFNOztBQUlQO0lBREMsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7c0NBQ3RCLFVBQVU7a0RBQW1COzs7Ozs7SUFoQnZDLG9DQUFtQjs7SUFZbkIseUNBQzRDOztJQUU1QyxvQ0FDdUM7O0lBRXZDLGdDQUFnQjs7Ozs7SUFFSiw4QkFBdUI7Ozs7O0lBQUUsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSwgUHJvZmlsZUdldCwgUHJvZmlsZVN0YXRlLCBQcm9maWxlVXBkYXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSlcbiAgcHJvZmlsZSQ6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBQcm9maWxlR2V0KCkpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wcm9maWxlJCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbLCBwcm9maWxlXSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICB1c2VyTmFtZTogW3Byb2ZpbGUudXNlck5hbWUsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBlbWFpbDogW3Byb2ZpbGUuZW1haWwsIFtyZXF1aXJlZCwgZW1haWwsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgbmFtZTogW3Byb2ZpbGUubmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBzdXJuYW1lOiBbcHJvZmlsZS5zdXJuYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHBob25lTnVtYmVyOiBbcHJvZmlsZS5waG9uZU51bWJlciB8fCAnJywgW21heExlbmd0aCgxNildXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUHJvZmlsZVVwZGF0ZSh0aGlzLmZvcm0udmFsdWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXFCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7Ozs7SUFsQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2FBQzFCLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLG1vRUFBdUM7YUFDeEM7Ozs7WUFWUSxXQUFXO1lBQ0gsS0FBSzs7O3NCQWFuQixLQUFLOzRCQVVMLE1BQU07O0FBSVA7SUFEQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztzQ0FDdEIsVUFBVTtrREFBbUI7Ozs7OztJQWhCdkMsb0NBQW1COztJQVluQix5Q0FDNEM7O0lBRTVDLG9DQUN1Qzs7SUFFdkMsZ0NBQWdCOzs7OztJQUVKLDhCQUF1Qjs7Ozs7SUFBRSxpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/states/layout.state.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/states/layout.state.js index f9f107f3b0..60a2136fa8 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/states/layout.state.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/states/layout.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions'; +import { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions'; import snq from 'snq'; let LayoutState = class LayoutState { /** @@ -78,15 +78,15 @@ let LayoutState = class LayoutState { } }; tslib_1.__decorate([ - Action(LayoutAddNavigationElement), + Action(AddNavigationElement), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, LayoutAddNavigationElement]), + tslib_1.__metadata("design:paramtypes", [Object, AddNavigationElement]), tslib_1.__metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutAddAction", null); tslib_1.__decorate([ - Action(LayoutRemoveNavigationElementByName), + Action(RemoveNavigationElementByName), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, LayoutRemoveNavigationElementByName]), + tslib_1.__metadata("design:paramtypes", [Object, RemoveNavigationElementByName]), tslib_1.__metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutRemoveAction", null); tslib_1.__decorate([ @@ -102,4 +102,4 @@ LayoutState = tslib_1.__decorate([ }) ], LayoutState); export { LayoutState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7SUFNVCxXQUFXLFNBQVgsV0FBVzs7Ozs7SUFFdEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsa0JBQWtCLEVBQWdCO1FBQy9ELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzs7Ozs7O0lBR0QsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBOEIsRUFBRSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQThCO1lBQzVHLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxRQUFRLEVBQUU7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEdBQUcsR0FBRzs7O1lBQ1gsR0FBRyxFQUFFLENBQ0gsQ0FBQyxtQkFBQSxPQUFPLEVBQThCLENBQUMsQ0FBQyxNQUFNOzs7O1lBQzVDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUMsR0FBRyxDQUFDLEVBQ3pFLEdBQ0gsRUFBRSxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFNUIsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsT0FBTyxDQUFDO2FBQ3JELEdBQUc7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG1CQUFNLE9BQU8sSUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUcsRUFBQzthQUM1RCxJQUFJOzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUM7UUFFckMsT0FBTyxVQUFVLENBQUM7WUFDaEIsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUdELGtCQUFrQixDQUNoQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQThCLEVBQ3BELEVBQUUsSUFBSSxFQUF1QztZQUV6QyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsUUFBUSxFQUFFOztjQUVqQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsU0FBUzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUM7UUFFNUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxVQUFVLENBQUM7WUFDaEIsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBN0NDO0lBREMsTUFBTSxDQUFDLDBCQUEwQixDQUFDOztxREFDcUQsMEJBQTBCOztrREEwQmpIO0FBR0Q7SUFEQyxNQUFNLENBQUMsbUNBQW1DLENBQUM7O3FEQUdoQyxtQ0FBbUM7O3FEQWE5QztBQWpERDtJQURDLFFBQVEsRUFBRTs7Ozs4Q0FHVjtBQUpVLFdBQVc7SUFKdkIsS0FBSyxDQUFlO1FBQ25CLElBQUksRUFBRSxhQUFhO1FBQ25CLFFBQVEsRUFBRSxtQkFBQSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxFQUFnQjtLQUNyRCxDQUFDO0dBQ1csV0FBVyxDQW9EdkI7U0FwRFksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU2VsZWN0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMYXlvdXRBZGROYXZpZ2F0aW9uRWxlbWVudCwgTGF5b3V0UmVtb3ZlTmF2aWdhdGlvbkVsZW1lbnRCeU5hbWUgfSBmcm9tICcuLi9hY3Rpb25zL2xheW91dC5hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuQFN0YXRlPExheW91dC5TdGF0ZT4oe1xuICBuYW1lOiAnTGF5b3V0U3RhdGUnLFxuICBkZWZhdWx0czogeyBuYXZpZ2F0aW9uRWxlbWVudHM6IFtdIH0gYXMgTGF5b3V0LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXROYXZpZ2F0aW9uRWxlbWVudHMoeyBuYXZpZ2F0aW9uRWxlbWVudHMgfTogTGF5b3V0LlN0YXRlKTogTGF5b3V0Lk5hdmlnYXRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBuYXZpZ2F0aW9uRWxlbWVudHM7XG4gIH1cblxuICBAQWN0aW9uKExheW91dEFkZE5hdmlnYXRpb25FbGVtZW50KVxuICBsYXlvdXRBZGRBY3Rpb24oeyBnZXRTdGF0ZSwgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8TGF5b3V0LlN0YXRlPiwgeyBwYXlsb2FkID0gW10gfTogTGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQpIHtcbiAgICBsZXQgeyBuYXZpZ2F0aW9uRWxlbWVudHMgfSA9IGdldFN0YXRlKCk7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgIHBheWxvYWQgPSBbcGF5bG9hZF07XG4gICAgfVxuXG4gICAgaWYgKG5hdmlnYXRpb25FbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHBheWxvYWQgPSBzbnEoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKHBheWxvYWQgYXMgTGF5b3V0Lk5hdmlnYXRpb25FbGVtZW50W10pLmZpbHRlcihcbiAgICAgICAgICAgICh7IG5hbWUgfSkgPT4gbmF2aWdhdGlvbkVsZW1lbnRzLmZpbmRJbmRleChuYXYgPT4gbmF2Lm5hbWUgPT09IG5hbWUpIDwgMCxcbiAgICAgICAgICApLFxuICAgICAgICBbXSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgbmF2aWdhdGlvbkVsZW1lbnRzID0gWy4uLm5hdmlnYXRpb25FbGVtZW50cywgLi4ucGF5bG9hZF1cbiAgICAgIC5tYXAoZWxlbWVudCA9PiAoeyAuLi5lbGVtZW50LCBvcmRlcjogZWxlbWVudC5vcmRlciB8fCA5OSB9KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMsXG4gICAgfSk7XG4gIH1cblxuICBAQWN0aW9uKExheW91dFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lKVxuICBsYXlvdXRSZW1vdmVBY3Rpb24oXG4gICAgeyBnZXRTdGF0ZSwgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8TGF5b3V0LlN0YXRlPixcbiAgICB7IG5hbWUgfTogTGF5b3V0UmVtb3ZlTmF2aWdhdGlvbkVsZW1lbnRCeU5hbWUsXG4gICkge1xuICAgIGxldCB7IG5hdmlnYXRpb25FbGVtZW50cyB9ID0gZ2V0U3RhdGUoKTtcblxuICAgIGNvbnN0IGluZGV4ID0gbmF2aWdhdGlvbkVsZW1lbnRzLmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgbmF2aWdhdGlvbkVsZW1lbnRzID0gbmF2aWdhdGlvbkVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgbmF2aWdhdGlvbkVsZW1lbnRzLFxuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdoRyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7SUFNVCxXQUFXLFNBQVgsV0FBVzs7Ozs7SUFFdEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsa0JBQWtCLEVBQWdCO1FBQy9ELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzs7Ozs7O0lBR0QsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBOEIsRUFBRSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQXdCO1lBQ3RHLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxRQUFRLEVBQUU7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEdBQUcsR0FBRzs7O1lBQ1gsR0FBRyxFQUFFLENBQ0gsQ0FBQyxtQkFBQSxPQUFPLEVBQThCLENBQUMsQ0FBQyxNQUFNOzs7O1lBQzVDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUMsR0FBRyxDQUFDLEVBQ3pFLEdBQ0gsRUFBRSxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFNUIsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsT0FBTyxDQUFDO2FBQ3JELEdBQUc7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG1CQUFNLE9BQU8sSUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUcsRUFBQzthQUM1RCxJQUFJOzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUM7UUFFckMsT0FBTyxVQUFVLENBQUM7WUFDaEIsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUdELGtCQUFrQixDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBOEIsRUFBRSxFQUFFLElBQUksRUFBaUM7WUFDMUcsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsRUFBRTs7Y0FFakMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVM7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFDO1FBRTVFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2Qsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUVELE9BQU8sVUFBVSxDQUFDO1lBQ2hCLGtCQUFrQjtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTFDQztJQURDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQzs7cURBQzJELG9CQUFvQjs7a0RBMEIzRztBQUdEO0lBREMsTUFBTSxDQUFDLDZCQUE2QixDQUFDOztxREFDNkMsNkJBQTZCOztxREFZL0c7QUE5Q0Q7SUFEQyxRQUFRLEVBQUU7Ozs7OENBR1Y7QUFKVSxXQUFXO0lBSnZCLEtBQUssQ0FBZTtRQUNuQixJQUFJLEVBQUUsYUFBYTtRQUNuQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsRUFBZ0I7S0FDckQsQ0FBQztHQUNXLFdBQVcsQ0FpRHZCO1NBakRZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgQWN0aW9uLCBTdGF0ZUNvbnRleHQsIFNlbGVjdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgQWRkTmF2aWdhdGlvbkVsZW1lbnQsIFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIH0gZnJvbSAnLi4vYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0JztcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbkBTdGF0ZTxMYXlvdXQuU3RhdGU+KHtcbiAgbmFtZTogJ0xheW91dFN0YXRlJyxcbiAgZGVmYXVsdHM6IHsgbmF2aWdhdGlvbkVsZW1lbnRzOiBbXSB9IGFzIExheW91dC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0U3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TmF2aWdhdGlvbkVsZW1lbnRzKHsgbmF2aWdhdGlvbkVsZW1lbnRzIH06IExheW91dC5TdGF0ZSk6IExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gbmF2aWdhdGlvbkVsZW1lbnRzO1xuICB9XG5cbiAgQEFjdGlvbihBZGROYXZpZ2F0aW9uRWxlbWVudClcbiAgbGF5b3V0QWRkQWN0aW9uKHsgZ2V0U3RhdGUsIHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PExheW91dC5TdGF0ZT4sIHsgcGF5bG9hZCA9IFtdIH06IEFkZE5hdmlnYXRpb25FbGVtZW50KSB7XG4gICAgbGV0IHsgbmF2aWdhdGlvbkVsZW1lbnRzIH0gPSBnZXRTdGF0ZSgpO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBheWxvYWQpKSB7XG4gICAgICBwYXlsb2FkID0gW3BheWxvYWRdO1xuICAgIH1cblxuICAgIGlmIChuYXZpZ2F0aW9uRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICBwYXlsb2FkID0gc25xKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIChwYXlsb2FkIGFzIExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdKS5maWx0ZXIoXG4gICAgICAgICAgICAoeyBuYW1lIH0pID0+IG5hdmlnYXRpb25FbGVtZW50cy5maW5kSW5kZXgobmF2ID0+IG5hdi5uYW1lID09PSBuYW1lKSA8IDAsXG4gICAgICAgICAgKSxcbiAgICAgICAgW10sXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghcGF5bG9hZC5sZW5ndGgpIHJldHVybjtcblxuICAgIG5hdmlnYXRpb25FbGVtZW50cyA9IFsuLi5uYXZpZ2F0aW9uRWxlbWVudHMsIC4uLnBheWxvYWRdXG4gICAgICAubWFwKGVsZW1lbnQgPT4gKHsgLi4uZWxlbWVudCwgb3JkZXI6IGVsZW1lbnQub3JkZXIgfHwgOTkgfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgbmF2aWdhdGlvbkVsZW1lbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgQEFjdGlvbihSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSlcbiAgbGF5b3V0UmVtb3ZlQWN0aW9uKHsgZ2V0U3RhdGUsIHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PExheW91dC5TdGF0ZT4sIHsgbmFtZSB9OiBSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSkge1xuICAgIGxldCB7IG5hdmlnYXRpb25FbGVtZW50cyB9ID0gZ2V0U3RhdGUoKTtcblxuICAgIGNvbnN0IGluZGV4ID0gbmF2aWdhdGlvbkVsZW1lbnRzLmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgbmF2aWdhdGlvbkVsZW1lbnRzID0gbmF2aWdhdGlvbkVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgbmF2aWdhdGlvbkVsZW1lbnRzLFxuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js index 23e1a964d0..cb0895c81b 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js @@ -6,9 +6,9 @@ import { CoreModule } from '@abp/ng.core'; import { NgModule } from '@angular/core'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ChangePasswordComponent } from './components/change-password/change-password.component'; -import { LayoutAccountComponent } from './components/layout-account/layout-account.component'; -import { LayoutApplicationComponent } from './components/layout-application/layout-application.component'; -import { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component'; +import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; +import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; +import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; import { LayoutComponent } from './components/layout/layout.component'; import { ProfileComponent } from './components/profile/profile.component'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; @@ -17,7 +17,7 @@ import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgxsModule } from '@ngxs/store'; import { LayoutState } from './states/layout.state'; /** @type {?} */ -export const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent]; +export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; export class ThemeBasicModule { } ThemeBasicModule.decorators = [ @@ -36,4 +36,4 @@ ThemeBasicModule.decorators = [ entryComponents: [...LAYOUTS], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFcEQsTUFBTSxPQUFPLE9BQU8sR0FBRyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDO0FBZ0JqRyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFkNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDdEYsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLGVBQWUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0QWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQtYWNjb3VudC9sYXlvdXQtYWNjb3VudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0QXBwbGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LWFwcGxpY2F0aW9uL2xheW91dC1hcHBsaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0RW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LWVtcHR5L2xheW91dC1lbXB0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvbGF5b3V0LnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IExBWU9VVFMgPSBbTGF5b3V0QXBwbGljYXRpb25Db21wb25lbnQsIExheW91dEFjY291bnRDb21wb25lbnQsIExheW91dEVtcHR5Q29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uTEFZT1VUUywgTGF5b3V0Q29tcG9uZW50LCBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCwgUHJvZmlsZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIE5nYkNvbGxhcHNlTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW0xheW91dFN0YXRlXSksXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5MQVlPVVRTXSxcbiAgZW50cnlDb21wb25lbnRzOiBbLi4uTEFZT1VUU10sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQmFzaWNNb2R1bGUge31cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFcEQsTUFBTSxPQUFPLE9BQU8sR0FBRyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDO0FBZ0JqRyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFkNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDdEYsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLGVBQWUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWNjb3VudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvbGF5b3V0LnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IExBWU9VVFMgPSBbQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQsIEFjY291bnRMYXlvdXRDb21wb25lbnQsIEVtcHR5TGF5b3V0Q29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uTEFZT1VUUywgTGF5b3V0Q29tcG9uZW50LCBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCwgUHJvZmlsZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIE5nYkNvbGxhcHNlTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW0xheW91dFN0YXRlXSksXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5MQVlPVVRTXSxcbiAgZW50cnlDb21wb25lbnRzOiBbLi4uTEFZT1VUU10sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQmFzaWNNb2R1bGUge31cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/public-api.js b/npm/ng-packs/dist/theme-basic/esm2015/public-api.js index 0ce06fadd6..42fd1f4364 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/public-api.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/public-api.js @@ -6,8 +6,8 @@ * Public API Surface of theme-basic */ export { LAYOUTS, ThemeBasicModule } from './lib/theme-basic.module'; -export { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from './lib/actions'; -export { LayoutAccountComponent, LayoutApplicationComponent, LayoutEmptyComponent } from './lib/components'; +export { AddNavigationElement, RemoveNavigationElementByName } from './lib/actions'; +export { AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent } from './lib/components'; export {} from './lib/models'; export { LayoutState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwwQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxnRkFBYyxlQUFlLENBQUM7QUFDOUIseUZBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxjQUFjLENBQUM7QUFDN0IsNEJBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1iYXNpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLWJhc2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwwQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxvRUFBYyxlQUFlLENBQUM7QUFDOUIseUZBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxjQUFjLENBQUM7QUFDN0IsNEJBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1iYXNpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLWJhc2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js index dc107326c4..83c843c4b6 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js @@ -5,14 +5,14 @@ /** * Generated bundle index. Do not edit. */ -export { LAYOUTS, ThemeBasicModule, LayoutAddNavigationElement, LayoutRemoveNavigationElementByName, LayoutAccountComponent, LayoutApplicationComponent, LayoutEmptyComponent, LayoutState } from './public-api'; -export { LayoutAddNavigationElement as ɵi, LayoutRemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { LAYOUTS, ThemeBasicModule, AddNavigationElement, RemoveNavigationElementByName, AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent, LayoutState } from './public-api'; +export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; +export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; -export { LayoutAccountComponent as ɵc } from './lib/components/layout-account/layout-account.component'; -export { LayoutApplicationComponent as ɵa } from './lib/components/layout-application/layout-application.component'; -export { LayoutEmptyComponent as ɵd } from './lib/components/layout-empty/layout-empty.component'; +export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; export { LayoutState as ɵb } from './lib/states'; export { LayoutState as ɵh } from './lib/states/layout.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa01BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsbUNBQW1DLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7TGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLExheW91dFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEFjY291bnRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC1hY2NvdW50L2xheW91dC1hY2NvdW50LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEFwcGxpY2F0aW9uQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dEVtcHR5Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQtZW1wdHkvbGF5b3V0LWVtcHR5LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0FjY291bnRMYXlvdXRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0VtcHR5TGF5b3V0Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/actions/index.js b/npm/ng-packs/dist/theme-basic/esm5/lib/actions/index.js index 0ee70b2082..acfe624a35 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/actions/index.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/actions/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from './layout.actions'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGdGQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuYWN0aW9ucyc7XG4iXX0= \ No newline at end of file +export { AddNavigationElement, RemoveNavigationElementByName } from './layout.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG9FQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuYWN0aW9ucyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/actions/layout.actions.js b/npm/ng-packs/dist/theme-basic/esm5/lib/actions/layout.actions.js index 87c31dea63..d6ce1e6d93 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/actions/layout.actions.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/actions/layout.actions.js @@ -2,32 +2,32 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LayoutAddNavigationElement = /** @class */ (function () { - function LayoutAddNavigationElement(payload) { +var AddNavigationElement = /** @class */ (function () { + function AddNavigationElement(payload) { this.payload = payload; } - LayoutAddNavigationElement.type = '[Layout] Add Navigation Element'; - return LayoutAddNavigationElement; + AddNavigationElement.type = '[Layout] Add Navigation Element'; + return AddNavigationElement; }()); -export { LayoutAddNavigationElement }; +export { AddNavigationElement }; if (false) { /** @type {?} */ - LayoutAddNavigationElement.type; + AddNavigationElement.type; /** @type {?} */ - LayoutAddNavigationElement.prototype.payload; + AddNavigationElement.prototype.payload; } -var LayoutRemoveNavigationElementByName = /** @class */ (function () { - function LayoutRemoveNavigationElementByName(name) { +var RemoveNavigationElementByName = /** @class */ (function () { + function RemoveNavigationElementByName(name) { this.name = name; } - LayoutRemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; - return LayoutRemoveNavigationElementByName; + RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; + return RemoveNavigationElementByName; }()); -export { LayoutRemoveNavigationElementByName }; +export { RemoveNavigationElementByName }; if (false) { /** @type {?} */ - LayoutRemoveNavigationElementByName.type; + RemoveNavigationElementByName.type; /** @type {?} */ - LayoutRemoveNavigationElementByName.prototype.name; + RemoveNavigationElementByName.prototype.name; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBO0lBRUUsb0NBQW1CLE9BQThEO1FBQTlELFlBQU8sR0FBUCxPQUFPLENBQXVEO0lBQUcsQ0FBQztJQURyRSwrQkFBSSxHQUFHLGlDQUFpQyxDQUFDO0lBRTNELGlDQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksMEJBQTBCOzs7SUFDckMsZ0NBQXlEOztJQUM3Qyw2Q0FBcUU7O0FBR25GO0lBRUUsNkNBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQURuQix3Q0FBSSxHQUFHLDBDQUEwQyxDQUFDO0lBRXBFLDBDQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksbUNBQW1DOzs7SUFDOUMseUNBQWtFOztJQUN0RCxtREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0JztcblxuZXhwb3J0IGNsYXNzIExheW91dEFkZE5hdmlnYXRpb25FbGVtZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gQWRkIE5hdmlnYXRpb24gRWxlbWVudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnQgfCBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSkge31cbn1cblxuZXhwb3J0IGNsYXNzIExheW91dFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gUmVtb3ZlIE5hdmlnYXRpb24gRWxlbWVudEJ5TmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBO0lBRUUsOEJBQW1CLE9BQThEO1FBQTlELFlBQU8sR0FBUCxPQUFPLENBQXVEO0lBQUcsQ0FBQztJQURyRSx5QkFBSSxHQUFHLGlDQUFpQyxDQUFDO0lBRTNELDJCQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksb0JBQW9COzs7SUFDL0IsMEJBQXlEOztJQUM3Qyx1Q0FBcUU7O0FBR25GO0lBRUUsdUNBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQURuQixrQ0FBSSxHQUFHLDBDQUEwQyxDQUFDO0lBRXBFLG9DQUFDO0NBQUEsQUFIRCxJQUdDO1NBSFksNkJBQTZCOzs7SUFDeEMsbUNBQWtFOztJQUN0RCw2Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0JztcblxuZXhwb3J0IGNsYXNzIEFkZE5hdmlnYXRpb25FbGVtZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gQWRkIE5hdmlnYXRpb24gRWxlbWVudCc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnQgfCBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSkge31cbn1cblxuZXhwb3J0IGNsYXNzIFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0xheW91dF0gUmVtb3ZlIE5hdmlnYXRpb24gRWxlbWVudEJ5TmFtZSc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js new file mode 100644 index 0000000000..5f5e94e5ff --- /dev/null +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component } from '@angular/core'; +var AccountLayoutComponent = /** @class */ (function () { + function AccountLayoutComponent() { + this.isCollapsed = false; + } + // required for dynamic component + AccountLayoutComponent.type = "account" /* account */; + AccountLayoutComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-layout-account', + template: "\n \n\n \n \n \n \n \n\n" + }] } + ]; + return AccountLayoutComponent; +}()); +export { AccountLayoutComponent }; +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7SUFIUSwyQkFBSSwyQkFBdUI7O2dCQU5uQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsMnpCQUE4QztpQkFDL0M7O0lBTUQsNkJBQUM7Q0FBQSxBQVRELElBU0M7U0FMWSxzQkFBc0I7OztJQUVqQyw0QkFBa0M7O0lBRWxDLDZDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYWNjb3VudDtcblxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js new file mode 100644 index 0000000000..b6b28df370 --- /dev/null +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js @@ -0,0 +1,323 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { GetAppConfiguration, ConfigState, SetLanguage, SessionState, takeUntilDestroy, } from '@abp/ng.core'; +import { Component, QueryList, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; +import { Navigate, RouterState } from '@ngxs/router-plugin'; +import { Select, Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; +import compare from 'just-compare'; +import { fromEvent, Observable } from 'rxjs'; +import { debounceTime, filter, map } from 'rxjs/operators'; +import snq from 'snq'; +import { AddNavigationElement } from '../../actions'; +import { LayoutState } from '../../states'; +var ApplicationLayoutComponent = /** @class */ (function () { + function ApplicationLayoutComponent(store, oauthService) { + this.store = store; + this.oauthService = oauthService; + this.isOpenChangePassword = false; + this.isOpenProfile = false; + this.rightPartElements = []; + this.trackByFn = (/** + * @param {?} _ + * @param {?} item + * @return {?} + */ + function (_, item) { return item.name; }); + this.trackElementByFn = (/** + * @param {?} _ + * @param {?} element + * @return {?} + */ + function (_, element) { return element; }); + } + Object.defineProperty(ApplicationLayoutComponent.prototype, "visibleRoutes$", { + get: /** + * @return {?} + */ + function () { + return this.routes$.pipe(map((/** + * @param {?} routes + * @return {?} + */ + function (routes) { return getVisibleRoutes(routes); }))); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ApplicationLayoutComponent.prototype, "defaultLanguage$", { + get: /** + * @return {?} + */ + function () { + var _this = this; + return this.languages$.pipe(map((/** + * @param {?} languages + * @return {?} + */ + function (languages) { return snq((/** + * @return {?} + */ + function () { return languages.find((/** + * @param {?} lang + * @return {?} + */ + function (lang) { return lang.cultureName === _this.selectedLangCulture; })).displayName; })); }), '')); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ApplicationLayoutComponent.prototype, "dropdownLanguages$", { + get: /** + * @return {?} + */ + function () { + var _this = this; + return this.languages$.pipe(map((/** + * @param {?} languages + * @return {?} + */ + function (languages) { return snq((/** + * @return {?} + */ + function () { return languages.filter((/** + * @param {?} lang + * @return {?} + */ + function (lang) { return lang.cultureName !== _this.selectedLangCulture; })); })); }), [])); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ApplicationLayoutComponent.prototype, "selectedLangCulture", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(SessionState.getLanguage); + }, + enumerable: true, + configurable: true + }); + /** + * @private + * @return {?} + */ + ApplicationLayoutComponent.prototype.checkWindowWidth = /** + * @private + * @return {?} + */ + function () { + var _this = this; + setTimeout((/** + * @return {?} + */ + function () { + _this.navbarRootDropdowns.forEach((/** + * @param {?} item + * @return {?} + */ + function (item) { + item.close(); + })); + if (window.innerWidth < 768) { + _this.isDropdownChildDynamic = false; + } + else { + _this.isDropdownChildDynamic = true; + } + }), 0); + }; + /** + * @return {?} + */ + ApplicationLayoutComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var name = _a.name; + return name; + })); + if (navigations.indexOf('LanguageRef') < 0) { + this.store.dispatch(new AddNavigationElement([ + { element: this.languageRef, order: 4, name: 'LanguageRef' }, + { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, + ])); + } + this.navElements$ + .pipe(map((/** + * @param {?} elements + * @return {?} + */ + function (elements) { return elements.map((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var element = _a.element; + return element; + })); })), filter((/** + * @param {?} elements + * @return {?} + */ + function (elements) { return !compare(elements, _this.rightPartElements); })), takeUntilDestroy(this)) + .subscribe((/** + * @param {?} elements + * @return {?} + */ + function (elements) { + setTimeout((/** + * @return {?} + */ + function () { return (_this.rightPartElements = elements); }), 0); + })); + this.checkWindowWidth(); + fromEvent(window, 'resize') + .pipe(takeUntilDestroy(this), debounceTime(250)) + .subscribe((/** + * @return {?} + */ + function () { + _this.checkWindowWidth(); + })); + }; + /** + * @return {?} + */ + ApplicationLayoutComponent.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + /** + * @param {?} cultureName + * @return {?} + */ + ApplicationLayoutComponent.prototype.onChangeLang = /** + * @param {?} cultureName + * @return {?} + */ + function (cultureName) { + this.store.dispatch(new SetLanguage(cultureName)); + this.store.dispatch(new GetAppConfiguration()); + }; + /** + * @return {?} + */ + ApplicationLayoutComponent.prototype.logout = /** + * @return {?} + */ + function () { + this.oauthService.logOut(); + this.store.dispatch(new Navigate(['/'], null, { + state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, + })); + this.store.dispatch(new GetAppConfiguration()); + }; + // required for dynamic component + ApplicationLayoutComponent.type = "application" /* application */; + ApplicationLayoutComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-layout-application', + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + }] } + ]; + /** @nocollapse */ + ApplicationLayoutComponent.ctorParameters = function () { return [ + { type: Store }, + { type: OAuthService } + ]; }; + ApplicationLayoutComponent.propDecorators = { + currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], + languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], + navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] + }; + tslib_1.__decorate([ + Select(ConfigState.getOne('routes')), + tslib_1.__metadata("design:type", Observable) + ], ApplicationLayoutComponent.prototype, "routes$", void 0); + tslib_1.__decorate([ + Select(ConfigState.getOne('currentUser')), + tslib_1.__metadata("design:type", Observable) + ], ApplicationLayoutComponent.prototype, "currentUser$", void 0); + tslib_1.__decorate([ + Select(ConfigState.getDeep('localization.languages')), + tslib_1.__metadata("design:type", Observable) + ], ApplicationLayoutComponent.prototype, "languages$", void 0); + tslib_1.__decorate([ + Select(LayoutState.getNavigationElements), + tslib_1.__metadata("design:type", Observable) + ], ApplicationLayoutComponent.prototype, "navElements$", void 0); + return ApplicationLayoutComponent; +}()); +export { ApplicationLayoutComponent }; +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} +/** + * @param {?} routes + * @return {?} + */ +function getVisibleRoutes(routes) { + return routes.reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { + if (val.invisible) + return acc; + if (val.children && val.children.length) { + val.children = getVisibleRoutes(val.children); + } + return tslib_1.__spread(acc, [val]); + }), []); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDO0lBZ0VFLG9DQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGlCQUFZLEdBQVosWUFB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QzswQ0FDNUIsVUFBVTtvRUFBdUM7SUFHL0Q7UUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzBDQUMxQyxVQUFVO2tFQUFzQztJQUc1RDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUM7MENBQzVCLFVBQVU7b0VBQTZCO0lBK0d2RCxpQ0FBQztDQUFBLEFBaklELElBaUlDO1NBN0hZLDBCQUEwQjs7O0lBRXJDLGdDQUFzQzs7SUFFdEMsNkNBQ3FDOztJQUVyQyxrREFDK0Q7O0lBRS9ELGdEQUM0RDs7SUFFNUQsa0RBQ3FEOztJQUVyRCxvREFDaUM7O0lBRWpDLGlEQUM4Qjs7SUFFOUIseURBQzRDOztJQUU1QywwREFBc0M7O0lBRXRDLG1EQUErQjs7SUFFL0IsNERBQWdDOztJQXlCaEMsdURBQTJDOztJQUUzQywrQ0FBbUU7O0lBRW5FLHNEQUEyRTs7Ozs7SUFFL0QsMkNBQW9COzs7OztJQUFFLGtEQUFrQzs7Ozs7O0FBbUV0RSxTQUFTLGdCQUFnQixDQUFDLE1BQXVCO0lBQy9DLE9BQU8sTUFBTSxDQUFDLE1BQU07Ozs7O0lBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRztRQUM1QixJQUFJLEdBQUcsQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsd0JBQVcsR0FBRyxHQUFFLEdBQUcsR0FBRTtJQUN2QixDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQUJQLFxuICBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG4gIEdldEFwcENvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ1N0YXRlLFxuICBlTGF5b3V0VHlwZSxcbiAgU2V0TGFuZ3VhZ2UsXG4gIFNlc3Npb25TdGF0ZSxcbiAgdGFrZVVudGlsRGVzdHJveSxcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmF2aWdhdGUsIFJvdXRlclN0YXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgQWRkTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYXBwbGljYXRpb247XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JvdXRlcycpKVxuICByb3V0ZXMkOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT47XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRVc2VyJykpXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uQ3VycmVudFVzZXI+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0RGVlcCgnbG9jYWxpemF0aW9uLmxhbmd1YWdlcycpKVxuICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPjtcblxuICBAU2VsZWN0KExheW91dFN0YXRlLmdldE5hdmlnYXRpb25FbGVtZW50cylcbiAgbmF2RWxlbWVudHMkOiBPYnNlcnZhYmxlPExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdPjtcblxuICBAVmlld0NoaWxkKCdjdXJyZW50VXNlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgY3VycmVudFVzZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnbGFuZ3VhZ2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhbmd1YWdlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ25hdmJhclJvb3REcm9wZG93bicsIHsgcmVhZDogTmdiRHJvcGRvd24gfSlcbiAgbmF2YmFyUm9vdERyb3Bkb3duczogUXVlcnlMaXN0PE5nYkRyb3Bkb3duPjtcblxuICBpc09wZW5DaGFuZ2VQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzT3BlblByb2ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0Ryb3Bkb3duQ2hpbGREeW5hbWljOiBib29sZWFuO1xuXG4gIGdldCB2aXNpYmxlUm91dGVzJCgpOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlcyQucGlwZShtYXAocm91dGVzID0+IGdldFZpc2libGVSb3V0ZXMocm91dGVzKSkpO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbmQobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lID09PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpLmRpc3BsYXlOYW1lKSxcbiAgICAgICAgJycsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25MYW5ndWFnZXMkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkxhbmd1YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAobGFuZ3VhZ2VzID0+IHNucSgoKSA9PiBsYW5ndWFnZXMuZmlsdGVyKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSAhPT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKSksIFtdKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFuZ0N1bHR1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgcmlnaHRQYXJ0RWxlbWVudHM6IFRlbXBsYXRlUmVmPGFueT5bXSA9IFtdO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0ubmFtZTtcblxuICB0cmFja0VsZW1lbnRCeUZuOiBUcmFja0J5RnVuY3Rpb248QUJQLkZ1bGxSb3V0ZT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSkge31cblxuICBwcml2YXRlIGNoZWNrV2luZG93V2lkdGgoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5hdmJhclJvb3REcm9wZG93bnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA3NjgpIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25DaGlsZER5bmFtaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpO1xuXG4gICAgaWYgKG5hdmlnYXRpb25zLmluZGV4T2YoJ0xhbmd1YWdlUmVmJykgPCAwKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQWRkTmF2aWdhdGlvbkVsZW1lbnQoW1xuICAgICAgICAgIHsgZWxlbWVudDogdGhpcy5sYW5ndWFnZVJlZiwgb3JkZXI6IDQsIG5hbWU6ICdMYW5ndWFnZVJlZicgfSxcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMuY3VycmVudFVzZXJSZWYsIG9yZGVyOiA1LCBuYW1lOiAnQ3VycmVudFVzZXJSZWYnIH0sXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkVsZW1lbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50cyA9PiBlbGVtZW50cy5tYXAoKHsgZWxlbWVudCB9KSA9PiBlbGVtZW50KSksXG4gICAgICAgIGZpbHRlcihlbGVtZW50cyA9PiAhY29tcGFyZShlbGVtZW50cywgdGhpcy5yaWdodFBhcnRFbGVtZW50cykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlbGVtZW50cyA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMucmlnaHRQYXJ0RWxlbWVudHMgPSBlbGVtZW50cyksIDApO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcblxuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgIGRlYm91bmNlVGltZSgyNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tXaW5kb3dXaWR0aCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgb25DaGFuZ2VMYW5nKGN1bHR1cmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRMYW5ndWFnZShjdWx0dXJlTmFtZSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBOYXZpZ2F0ZShbJy8nXSwgbnVsbCwge1xuICAgICAgICBzdGF0ZTogeyByZWRpcmVjdFVybDogdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSkuc3RhdGUudXJsIH0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VmlzaWJsZVJvdXRlcyhyb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSkge1xuICByZXR1cm4gcm91dGVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICBpZiAodmFsLmludmlzaWJsZSkgcmV0dXJuIGFjYztcblxuICAgIGlmICh2YWwuY2hpbGRyZW4gJiYgdmFsLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgdmFsLmNoaWxkcmVuID0gZ2V0VmlzaWJsZVJvdXRlcyh2YWwuY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIHJldHVybiBbLi4uYWNjLCB2YWxdO1xuICB9LCBbXSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js index 1375197890..34a424642b 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js @@ -2,16 +2,19 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { ProfileChangePassword } from '@abp/ng.core'; +import { ChangePassword } from '@abp/ng.core'; +import { ToasterService } from '@abp/ng.theme.shared'; import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { comparePasswords, validatePassword } from '@ngx-validate/core'; +import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; +import snq from 'snq'; var minLength = Validators.minLength, required = Validators.required; var ChangePasswordComponent = /** @class */ (function () { - function ChangePasswordComponent(fb, store) { + function ChangePasswordComponent(fb, store, toasterService) { this.fb = fb; this.store = store; + this.toasterService = toasterService; this.visibleChange = new EventEmitter(); } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { @@ -40,9 +43,9 @@ var ChangePasswordComponent = /** @class */ (function () { */ function () { this.form = this.fb.group({ - password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], }, { validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], }); @@ -58,16 +61,31 @@ var ChangePasswordComponent = /** @class */ (function () { if (this.form.invalid) return; this.store - .dispatch(new ProfileChangePassword({ + .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) - .subscribe((/** - * @return {?} - */ - function () { - _this.visible = false; - })); + .subscribe({ + next: (/** + * @return {?} + */ + function () { + _this.visible = false; + _this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); }; /** * @return {?} @@ -100,13 +118,14 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ ChangePasswordComponent.ctorParameters = function () { return [ { type: FormBuilder }, - { type: Store } + { type: Store }, + { type: ToasterService } ]; }; ChangePasswordComponent.propDecorators = { visible: [{ type: Input }], @@ -138,5 +157,10 @@ if (false) { * @private */ ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUIsSUFBQSxnQ0FBUyxFQUFFLDhCQUFRO0FBRTNCO0lBeUJFLGlDQUFvQixFQUFlLEVBQVUsS0FBWTtRQUFyQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVB6RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFPZ0IsQ0FBQztJQWxCN0Qsc0JBQ0ksNENBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDOzs7T0FMQTs7OztJQWlCRCwwQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckcsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0csRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsMENBQVE7OztJQUFSO1FBQUEsaUJBYUM7UUFaQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQ1AsSUFBSSxxQkFBcUIsQ0FBQztZQUN4QixlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSztZQUNoRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQ0g7YUFDQSxTQUFTOzs7UUFBQztZQUNULEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELDJDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBbkVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixneERBQStDO2lCQUNoRDs7OztnQkFUUSxXQUFXO2dCQUVYLEtBQUs7OzswQkFXWCxLQUFLO2dDQVVMLE1BQU07K0JBR04sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0lBZ0Q5Qyw4QkFBQztDQUFBLEFBcEVELElBb0VDO1NBaEVZLHVCQUF1Qjs7Ozs7O0lBQ2xDLDJDQUFtQjs7SUFZbkIsZ0RBQzRDOztJQUU1QywrQ0FDK0I7O0lBRS9CLHVDQUFnQjs7Ozs7SUFFSixxQ0FBdUI7Ozs7O0lBQUUsd0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZUNoYW5nZVBhc3N3b3JkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcywgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuY29uc3QgeyBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtaW5MZW5ndGgoNiksIHZhbGlkYXRlUGFzc3dvcmQoWydzbWFsbCcsICdjYXBpdGFsJywgJ251bWJlcicsICdzcGVjaWFsJ10pXV0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWluTGVuZ3RoKDYpLCB2YWxpZGF0ZVBhc3N3b3JkKFsnc21hbGwnLCAnY2FwaXRhbCcsICdudW1iZXInLCAnc3BlY2lhbCddKV1dLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1pbkxlbmd0aCg2KSwgdmFsaWRhdGVQYXNzd29yZChbJ3NtYWxsJywgJ2NhcGl0YWwnLCAnbnVtYmVyJywgJ3NwZWNpYWwnXSldXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXSldLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBQcm9maWxlQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFZCxJQUFBLGdDQUFTLEVBQUUsOEJBQVE7QUFFM0I7SUF5QkUsaUNBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7SUFsQnJHLHNCQUNJLDRDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDdkI7WUFDRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDM0IsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1NBQ2xDLEVBQ0Q7WUFDRSxVQUFVLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDckUsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELDBDQUFROzs7SUFBUjtRQUFBLGlCQXFCQztRQXBCQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQ1AsSUFBSSxjQUFjLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUs7U0FDaEQsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSTs7O1lBQUU7Z0JBQ0osS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLFVBQUEsR0FBRztnQkFDUixLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBdkIsQ0FBdUIsR0FBRSxpQ0FBaUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtvQkFDeEcsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELDJDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBM0VGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixrMERBQStDO2lCQUNoRDs7OztnQkFWUSxXQUFXO2dCQUVYLEtBQUs7Z0JBZEwsY0FBYzs7OzBCQTBCcEIsS0FBSztnQ0FVTCxNQUFNOytCQUdOLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXdEOUMsOEJBQUM7Q0FBQSxBQTVFRCxJQTRFQztTQXhFWSx1QkFBdUI7Ozs7OztJQUNsQywyQ0FBbUI7O0lBWW5CLGdEQUM0Qzs7SUFFNUMsK0NBQytCOztJQUUvQix1Q0FBZ0I7Ozs7O0lBRUoscUNBQXVCOzs7OztJQUFFLHdDQUFvQjs7Ozs7SUFBRSxpREFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgbmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbY29tcGFyZVBhc3N3b3JkcyhbJ25ld1Bhc3N3b3JkJywgJ3JlcGVhdE5ld1Bhc3N3b3JkJ10pXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-empty/layout-empty.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js similarity index 72% rename from npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-empty/layout-empty.component.js rename to npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js index c4e08d76c8..e565e8450d 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-empty/layout-empty.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js @@ -3,22 +3,22 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component } from '@angular/core'; -var LayoutEmptyComponent = /** @class */ (function () { - function LayoutEmptyComponent() { +var EmptyLayoutComponent = /** @class */ (function () { + function EmptyLayoutComponent() { } // required for dynamic component - LayoutEmptyComponent.type = "empty" /* empty */; - LayoutEmptyComponent.decorators = [ + EmptyLayoutComponent.type = "empty" /* empty */; + EmptyLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-empty', template: "\n Layout-empty\n \n " }] } ]; - return LayoutEmptyComponent; + return EmptyLayoutComponent; }()); -export { LayoutEmptyComponent }; +export { EmptyLayoutComponent }; if (false) { /** @type {?} */ - LayoutEmptyComponent.type; + EmptyLayoutComponent.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQtZW1wdHkvbGF5b3V0LWVtcHR5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO0lBVUEsQ0FBQzs7SUFEUSx5QkFBSSx1QkFBcUI7O2dCQVRqQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLDZEQUdUO2lCQUNGOztJQUlELDJCQUFDO0NBQUEsQUFWRCxJQVVDO1NBSFksb0JBQW9COzs7SUFFL0IsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0RW1wdHlDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO0lBVUEsQ0FBQzs7SUFEUSx5QkFBSSx1QkFBcUI7O2dCQVRqQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLDZEQUdUO2lCQUNGOztJQUlELDJCQUFDO0NBQUEsQUFWRCxJQVVDO1NBSFksb0JBQW9COzs7SUFFL0IsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/index.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/index.js index 25ffed3ffc..e64ecf3cbd 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/index.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/index.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { LayoutAccountComponent } from './layout-account/layout-account.component'; -export { LayoutApplicationComponent } from './layout-application/layout-application.component'; -export { LayoutEmptyComponent } from './layout-empty/layout-empty.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDJDQUEyQyxDQUFDO0FBQzFELDJDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLHFDQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYWNjb3VudC9sYXlvdXQtYWNjb3VudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1lbXB0eS9sYXlvdXQtZW1wdHkuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file +export { AccountLayoutComponent } from './account-layout/account-layout.component'; +export { ApplicationLayoutComponent } from './application-layout/application-layout.component'; +export { EmptyLayoutComponent } from './empty-layout/empty-layout.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDJDQUEyQyxDQUFDO0FBQzFELDJDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLHFDQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VtcHR5LWxheW91dC9lbXB0eS1sYXlvdXQuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-account/layout-account.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-account/layout-account.component.js deleted file mode 100644 index 57241df996..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-account/layout-account.component.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import { Component } from '@angular/core'; -var LayoutAccountComponent = /** @class */ (function () { - function LayoutAccountComponent() { - this.isCollapsed = false; - } - // required for dynamic component - LayoutAccountComponent.type = "account" /* account */; - LayoutAccountComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" - }] } - ]; - return LayoutAccountComponent; -}()); -export { LayoutAccountComponent }; -if (false) { - /** @type {?} */ - LayoutAccountComponent.type; - /** @type {?} */ - LayoutAccountComponent.prototype.isCollapsed; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xheW91dC1hY2NvdW50L2xheW91dC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7SUFIUSwyQkFBSSwyQkFBdUI7O2dCQU5uQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsMHhCQUE4QztpQkFDL0M7O0lBTUQsNkJBQUM7Q0FBQSxBQVRELElBU0M7U0FMWSxzQkFBc0I7OztJQUVqQyw0QkFBa0M7O0lBRWxDLDZDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWFjY291bnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRBY2NvdW50Q29tcG9uZW50IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYWNjb3VudDtcblxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-application/layout-application.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-application/layout-application.component.js deleted file mode 100644 index e60e6e1a19..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout-application/layout-application.component.js +++ /dev/null @@ -1,323 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import * as tslib_1 from "tslib"; -import { ConfigGetAppConfiguration, ConfigState, SessionSetLanguage, SessionState, takeUntilDestroy, } from '@abp/ng.core'; -import { Component, QueryList, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; -import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; -import { Navigate, RouterState } from '@ngxs/router-plugin'; -import { Select, Store } from '@ngxs/store'; -import { OAuthService } from 'angular-oauth2-oidc'; -import compare from 'just-compare'; -import { fromEvent, Observable } from 'rxjs'; -import { debounceTime, filter, map } from 'rxjs/operators'; -import snq from 'snq'; -import { LayoutAddNavigationElement } from '../../actions'; -import { LayoutState } from '../../states'; -var LayoutApplicationComponent = /** @class */ (function () { - function LayoutApplicationComponent(store, oauthService) { - this.store = store; - this.oauthService = oauthService; - this.isOpenChangePassword = false; - this.isOpenProfile = false; - this.rightPartElements = []; - this.trackByFn = (/** - * @param {?} _ - * @param {?} item - * @return {?} - */ - function (_, item) { return item.name; }); - this.trackElementByFn = (/** - * @param {?} _ - * @param {?} element - * @return {?} - */ - function (_, element) { return element; }); - } - Object.defineProperty(LayoutApplicationComponent.prototype, "visibleRoutes$", { - get: /** - * @return {?} - */ - function () { - return this.routes$.pipe(map((/** - * @param {?} routes - * @return {?} - */ - function (routes) { return getVisibleRoutes(routes); }))); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayoutApplicationComponent.prototype, "defaultLanguage$", { - get: /** - * @return {?} - */ - function () { - var _this = this; - return this.languages$.pipe(map((/** - * @param {?} languages - * @return {?} - */ - function (languages) { return snq((/** - * @return {?} - */ - function () { return languages.find((/** - * @param {?} lang - * @return {?} - */ - function (lang) { return lang.cultureName === _this.selectedLangCulture; })).displayName; })); }), '')); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayoutApplicationComponent.prototype, "dropdownLanguages$", { - get: /** - * @return {?} - */ - function () { - var _this = this; - return this.languages$.pipe(map((/** - * @param {?} languages - * @return {?} - */ - function (languages) { return snq((/** - * @return {?} - */ - function () { return languages.filter((/** - * @param {?} lang - * @return {?} - */ - function (lang) { return lang.cultureName !== _this.selectedLangCulture; })); })); }), [])); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayoutApplicationComponent.prototype, "selectedLangCulture", { - get: /** - * @return {?} - */ - function () { - return this.store.selectSnapshot(SessionState.getLanguage); - }, - enumerable: true, - configurable: true - }); - /** - * @private - * @return {?} - */ - LayoutApplicationComponent.prototype.checkWindowWidth = /** - * @private - * @return {?} - */ - function () { - var _this = this; - setTimeout((/** - * @return {?} - */ - function () { - _this.navbarRootDropdowns.forEach((/** - * @param {?} item - * @return {?} - */ - function (item) { - item.close(); - })); - if (window.innerWidth < 768) { - _this.isDropdownChildDynamic = false; - } - else { - _this.isDropdownChildDynamic = true; - } - }), 0); - }; - /** - * @return {?} - */ - LayoutApplicationComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var name = _a.name; - return name; - })); - if (navigations.indexOf('LanguageRef') < 0) { - this.store.dispatch(new LayoutAddNavigationElement([ - { element: this.languageRef, order: 4, name: 'LanguageRef' }, - { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, - ])); - } - this.navElements$ - .pipe(map((/** - * @param {?} elements - * @return {?} - */ - function (elements) { return elements.map((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var element = _a.element; - return element; - })); })), filter((/** - * @param {?} elements - * @return {?} - */ - function (elements) { return !compare(elements, _this.rightPartElements); })), takeUntilDestroy(this)) - .subscribe((/** - * @param {?} elements - * @return {?} - */ - function (elements) { - setTimeout((/** - * @return {?} - */ - function () { return (_this.rightPartElements = elements); }), 0); - })); - this.checkWindowWidth(); - fromEvent(window, 'resize') - .pipe(takeUntilDestroy(this), debounceTime(250)) - .subscribe((/** - * @return {?} - */ - function () { - _this.checkWindowWidth(); - })); - }; - /** - * @return {?} - */ - LayoutApplicationComponent.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { }; - /** - * @param {?} cultureName - * @return {?} - */ - LayoutApplicationComponent.prototype.onChangeLang = /** - * @param {?} cultureName - * @return {?} - */ - function (cultureName) { - this.store.dispatch(new SessionSetLanguage(cultureName)); - this.store.dispatch(new ConfigGetAppConfiguration()); - }; - /** - * @return {?} - */ - LayoutApplicationComponent.prototype.logout = /** - * @return {?} - */ - function () { - this.oauthService.logOut(); - this.store.dispatch(new Navigate(['/account/login'], null, { - state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, - })); - this.store.dispatch(new ConfigGetAppConfiguration()); - }; - // required for dynamic component - LayoutApplicationComponent.type = "application" /* application */; - LayoutApplicationComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" - }] } - ]; - /** @nocollapse */ - LayoutApplicationComponent.ctorParameters = function () { return [ - { type: Store }, - { type: OAuthService } - ]; }; - LayoutApplicationComponent.propDecorators = { - currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], - languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], - navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] - }; - tslib_1.__decorate([ - Select(ConfigState.getOne('routes')), - tslib_1.__metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "routes$", void 0); - tslib_1.__decorate([ - Select(ConfigState.getOne('currentUser')), - tslib_1.__metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "currentUser$", void 0); - tslib_1.__decorate([ - Select(ConfigState.getDeep('localization.languages')), - tslib_1.__metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "languages$", void 0); - tslib_1.__decorate([ - Select(LayoutState.getNavigationElements), - tslib_1.__metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "navElements$", void 0); - return LayoutApplicationComponent; -}()); -export { LayoutApplicationComponent }; -if (false) { - /** @type {?} */ - LayoutApplicationComponent.type; - /** @type {?} */ - LayoutApplicationComponent.prototype.routes$; - /** @type {?} */ - LayoutApplicationComponent.prototype.currentUser$; - /** @type {?} */ - LayoutApplicationComponent.prototype.languages$; - /** @type {?} */ - LayoutApplicationComponent.prototype.navElements$; - /** @type {?} */ - LayoutApplicationComponent.prototype.currentUserRef; - /** @type {?} */ - LayoutApplicationComponent.prototype.languageRef; - /** @type {?} */ - LayoutApplicationComponent.prototype.navbarRootDropdowns; - /** @type {?} */ - LayoutApplicationComponent.prototype.isOpenChangePassword; - /** @type {?} */ - LayoutApplicationComponent.prototype.isOpenProfile; - /** @type {?} */ - LayoutApplicationComponent.prototype.isDropdownChildDynamic; - /** @type {?} */ - LayoutApplicationComponent.prototype.rightPartElements; - /** @type {?} */ - LayoutApplicationComponent.prototype.trackByFn; - /** @type {?} */ - LayoutApplicationComponent.prototype.trackElementByFn; - /** - * @type {?} - * @private - */ - LayoutApplicationComponent.prototype.store; - /** - * @type {?} - * @private - */ - LayoutApplicationComponent.prototype.oauthService; -} -/** - * @param {?} routes - * @return {?} - */ -function getVisibleRoutes(routes) { - return routes.reduce((/** - * @param {?} acc - * @param {?} val - * @return {?} - */ - function (acc, val) { - if (val.invisible) - return acc; - if (val.children && val.children.length) { - val.children = getVisibleRoutes(val.children); - } - return tslib_1.__spread(acc, [val]); - }), []); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQtYXBwbGljYXRpb24vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsV0FBVyxFQUVYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDO0lBZ0VFLG9DQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGlCQUFZLEdBQVos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QUFDLENBQUM7MENBQzVCLFVBQVU7b0VBQXVDO0lBRy9EO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQzswQ0FDMUMsVUFBVTtrRUFBc0M7SUFHNUQ7UUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDOzBDQUM1QixVQUFVO29FQUE2QjtJQStHdkQsaUNBQUM7Q0FBQSxBQWpJRCxJQWlJQztTQTdIWSwwQkFBMEI7OztJQUVyQyxnQ0FBc0M7O0lBRXRDLDZDQUNxQzs7SUFFckMsa0RBQytEOztJQUUvRCxnREFDNEQ7O0lBRTVELGtEQUNxRDs7SUFFckQsb0RBQ2lDOztJQUVqQyxpREFDOEI7O0lBRTlCLHlEQUM0Qzs7SUFFNUMsMERBQXNDOztJQUV0QyxtREFBK0I7O0lBRS9CLDREQUFnQzs7SUF5QmhDLHVEQUEyQzs7SUFFM0MsK0NBQW1FOztJQUVuRSxzREFBMkU7Ozs7O0lBRS9ELDJDQUFvQjs7Ozs7SUFBRSxrREFBa0M7Ozs7OztBQW1FdEUsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF1QjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUc7UUFDNUIsSUFBSSxHQUFHLENBQUMsU0FBUztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBRTlCLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxHQUFHLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQztRQUVELHdCQUFXLEdBQUcsR0FBRSxHQUFHLEdBQUU7SUFDdkIsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFCUCxcbiAgQXBwbGljYXRpb25Db25maWd1cmF0aW9uLFxuICBDb25maWdHZXRBcHBDb25maWd1cmF0aW9uLFxuICBDb25maWdTdGF0ZSxcbiAgZUxheW91dFR5cGUsXG4gIFNlc3Npb25TZXRMYW5ndWFnZSxcbiAgU2Vzc2lvblN0YXRlLFxuICB0YWtlVW50aWxEZXN0cm95LFxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24gfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSwgUm91dGVyU3RhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCBjb21wYXJlIGZyb20gJ2p1c3QtY29tcGFyZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBMYXlvdXRBZGROYXZpZ2F0aW9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xheW91dCc7XG5pbXBvcnQgeyBMYXlvdXRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYXBwbGljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0QXBwbGljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbjtcblxuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldE9uZSgncm91dGVzJykpXG4gIHJvdXRlcyQ6IE9ic2VydmFibGU8QUJQLkZ1bGxSb3V0ZVtdPjtcblxuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldE9uZSgnY3VycmVudFVzZXInKSlcbiAgY3VycmVudFVzZXIkOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5DdXJyZW50VXNlcj47XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXREZWVwKCdsb2NhbGl6YXRpb24ubGFuZ3VhZ2VzJykpXG4gIGxhbmd1YWdlcyQ6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkxhbmd1YWdlW10+O1xuXG4gIEBTZWxlY3QoTGF5b3V0U3RhdGUuZ2V0TmF2aWdhdGlvbkVsZW1lbnRzKVxuICBuYXZFbGVtZW50cyQ6IE9ic2VydmFibGU8TGF5b3V0Lk5hdmlnYXRpb25FbGVtZW50W10+O1xuXG4gIEBWaWV3Q2hpbGQoJ2N1cnJlbnRVc2VyJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBjdXJyZW50VXNlclJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdsYW5ndWFnZScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbGFuZ3VhZ2VSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZHJlbignbmF2YmFyUm9vdERyb3Bkb3duJywgeyByZWFkOiBOZ2JEcm9wZG93biB9KVxuICBuYXZiYXJSb290RHJvcGRvd25zOiBRdWVyeUxpc3Q8TmdiRHJvcGRvd24+O1xuXG4gIGlzT3BlbkNoYW5nZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNPcGVuUHJvZmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzRHJvcGRvd25DaGlsZER5bmFtaWM6IGJvb2xlYW47XG5cbiAgZ2V0IHZpc2libGVSb3V0ZXMkKCk6IE9ic2VydmFibGU8QUJQLkZ1bGxSb3V0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVzJC5waXBlKG1hcChyb3V0ZXMgPT4gZ2V0VmlzaWJsZVJvdXRlcyhyb3V0ZXMpKSk7XG4gIH1cblxuICBnZXQgZGVmYXVsdExhbmd1YWdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlcyQucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgbGFuZ3VhZ2VzID0+IHNucSgoKSA9PiBsYW5ndWFnZXMuZmluZChsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgPT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSkuZGlzcGxheU5hbWUpLFxuICAgICAgICAnJyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBkcm9wZG93bkxhbmd1YWdlcyQoKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uTGFuZ3VhZ2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlcyQucGlwZShcbiAgICAgIG1hcChsYW5ndWFnZXMgPT4gc25xKCgpID0+IGxhbmd1YWdlcy5maWx0ZXIobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lICE9PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpKSwgW10pLFxuICAgICk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRMYW5nQ3VsdHVyZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSk7XG4gIH1cblxuICByaWdodFBhcnRFbGVtZW50czogVGVtcGxhdGVSZWY8YW55PltdID0gW107XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QUJQLkZ1bGxSb3V0ZT4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIHRyYWNrRWxlbWVudEJ5Rm46IFRyYWNrQnlGdW5jdGlvbjxBQlAuRnVsbFJvdXRlPiA9IChfLCBlbGVtZW50KSA9PiBlbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgY2hlY2tXaW5kb3dXaWR0aCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubmF2YmFyUm9vdERyb3Bkb3ducy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpdGVtLmNsb3NlKCk7XG4gICAgICB9KTtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25DaGlsZER5bmFtaWMgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkNoaWxkRHluYW1pYyA9IHRydWU7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbnMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KExheW91dFN0YXRlLmdldE5hdmlnYXRpb25FbGVtZW50cykubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSk7XG5cbiAgICBpZiAobmF2aWdhdGlvbnMuaW5kZXhPZignTGFuZ3VhZ2VSZWYnKSA8IDApIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBMYXlvdXRBZGROYXZpZ2F0aW9uRWxlbWVudChbXG4gICAgICAgICAgeyBlbGVtZW50OiB0aGlzLmxhbmd1YWdlUmVmLCBvcmRlcjogNCwgbmFtZTogJ0xhbmd1YWdlUmVmJyB9LFxuICAgICAgICAgIHsgZWxlbWVudDogdGhpcy5jdXJyZW50VXNlclJlZiwgb3JkZXI6IDUsIG5hbWU6ICdDdXJyZW50VXNlclJlZicgfSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMubmF2RWxlbWVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGVsZW1lbnRzID0+IGVsZW1lbnRzLm1hcCgoeyBlbGVtZW50IH0pID0+IGVsZW1lbnQpKSxcbiAgICAgICAgZmlsdGVyKGVsZW1lbnRzID0+ICFjb21wYXJlKGVsZW1lbnRzLCB0aGlzLnJpZ2h0UGFydEVsZW1lbnRzKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGVsZW1lbnRzID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5yaWdodFBhcnRFbGVtZW50cyA9IGVsZW1lbnRzKSwgMCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY2hlY2tXaW5kb3dXaWR0aCgpO1xuXG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDI1MCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBvbkNoYW5nZUxhbmcoY3VsdHVyZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNlc3Npb25TZXRMYW5ndWFnZShjdWx0dXJlTmFtZSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENvbmZpZ0dldEFwcENvbmZpZ3VyYXRpb24oKSk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBOYXZpZ2F0ZShbJy9hY2NvdW50L2xvZ2luJ10sIG51bGwsIHtcbiAgICAgICAgc3RhdGU6IHsgcmVkaXJlY3RVcmw6IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpLnN0YXRlLnVybCB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBDb25maWdHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZpc2libGVSb3V0ZXMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10pIHtcbiAgcmV0dXJuIHJvdXRlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgaWYgKHZhbC5pbnZpc2libGUpIHJldHVybiBhY2M7XG5cbiAgICBpZiAodmFsLmNoaWxkcmVuICYmIHZhbC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHZhbC5jaGlsZHJlbiA9IGdldFZpc2libGVSb3V0ZXModmFsLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmFjYywgdmFsXTtcbiAgfSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js index a08c8cadbe..7386b75adf 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js @@ -2,22 +2,46 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ConfigState } from '@abp/ng.core'; +import { slideFromBottom } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; +import { Store } from '@ngxs/store'; var LayoutComponent = /** @class */ (function () { - function LayoutComponent() { + function LayoutComponent(store) { + this.store = store; this.isCollapsed = false; } + Object.defineProperty(LayoutComponent.prototype, "appInfo", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(ConfigState.getApplicationInfo); + }, + enumerable: true, + configurable: true + }); LayoutComponent.decorators = [ { type: Component, args: [{ selector: ' abp-layout', - template: "\n\n
    \n \n
    \n\n\n\n" + template: "\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n", + animations: [slideFromBottom] }] } ]; + /** @nocollapse */ + LayoutComponent.ctorParameters = function () { return [ + { type: Store } + ]; }; return LayoutComponent; }()); export { LayoutComponent }; if (false) { /** @type {?} */ LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQztJQUFBO1FBS0UsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixvcUJBQXNDO2lCQUN2Qzs7SUFHRCxzQkFBQztDQUFBLEFBTkQsSUFNQztTQUZZLGVBQWU7OztJQUMxQixzQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnIGFicC1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDO0lBWUUseUJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQztJQUpwQyxzQkFBSSxvQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTs7Z0JBVkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixnOEJBQXNDO29CQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzlCOzs7O2dCQU5RLEtBQUs7O0lBZWQsc0JBQUM7Q0FBQSxBQWJELElBYUM7U0FSWSxlQUFlOzs7SUFDMUIsc0NBQTZCOzs7OztJQU1qQixnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcsIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJyBhYnAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtzbGlkZUZyb21Cb3R0b21dLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBhcHBJbmZvKCk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBwbGljYXRpb25JbmZvKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js index ebfe787a3d..a524d3e0fa 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core'; +import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { Select, Store } from '@ngxs/store'; @@ -43,7 +43,7 @@ var ProfileComponent = /** @class */ (function () { function () { var _this = this; this.store - .dispatch(new ProfileGet()) + .dispatch(new GetProfile()) .pipe(withLatestFrom(this.profile$), take(1)) .subscribe((/** * @param {?} __0 @@ -70,11 +70,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; - this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe((/** + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { _this.visible = false; + _this.form.reset(); })); }; /** @@ -109,7 +110,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -151,4 +152,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQXlCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7SUFsQjdELHNCQUNJLHFDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsb0NBQVM7OztJQUFUO1FBQUEsaUJBZ0JDO1FBZkMsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQzthQUMxQixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUMsRUFBVztnQkFBWCwwQkFBVyxFQUFSLGVBQU87WUFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsbUNBQVE7OztJQUFSO1FBQUEsaUJBTUM7UUFMQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQ2hFLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELG9DQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELHNDQUFXOzs7O0lBQVgsVUFBWSxFQUEwQjtZQUF4QixvQkFBTztRQUNuQixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7O2dCQWxFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGltRUFBdUM7aUJBQ3hDOzs7O2dCQVZRLFdBQVc7Z0JBQ0gsS0FBSzs7OzBCQWFuQixLQUFLO2dDQVVMLE1BQU07O0lBSVA7UUFEQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQzswQ0FDdEIsVUFBVTtzREFBbUI7SUE4Q3pDLHVCQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0EvRFksZ0JBQWdCOzs7Ozs7SUFDM0Isb0NBQW1COztJQVluQix5Q0FDNEM7O0lBRTVDLG9DQUN1Qzs7SUFFdkMsZ0NBQWdCOzs7OztJQUVKLDhCQUF1Qjs7Ozs7SUFBRSxpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBQcm9maWxlR2V0LCBQcm9maWxlU3RhdGUsIFByb2ZpbGVVcGRhdGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IFByb2ZpbGVHZXQoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQcm9maWxlVXBkYXRlKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQXlCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7SUFsQjdELHNCQUNJLHFDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsb0NBQVM7OztJQUFUO1FBQUEsaUJBZ0JDO1FBZkMsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQzthQUMxQixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUMsRUFBVztnQkFBWCwwQkFBVyxFQUFSLGVBQU87WUFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsbUNBQVE7OztJQUFSO1FBQUEsaUJBT0M7UUFOQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQ2hFLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsc0NBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBbkVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsbW9FQUF1QztpQkFDeEM7Ozs7Z0JBVlEsV0FBVztnQkFDSCxLQUFLOzs7MEJBYW5CLEtBQUs7Z0NBVUwsTUFBTTs7SUFJUDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDOzBDQUN0QixVQUFVO3NEQUFtQjtJQStDekMsdUJBQUM7Q0FBQSxBQXBFRCxJQW9FQztTQWhFWSxnQkFBZ0I7Ozs7OztJQUMzQixvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7Ozs7O0lBRUosOEJBQXVCOzs7OztJQUFFLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGUsIEdldFByb2ZpbGUsIFByb2ZpbGVTdGF0ZSwgVXBkYXRlUHJvZmlsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUHJvZmlsZVN0YXRlLmdldFByb2ZpbGUpXG4gIHByb2ZpbGUkOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UHJvZmlsZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucHJvZmlsZSQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgcHJvZmlsZV0pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgdXNlck5hbWU6IFtwcm9maWxlLnVzZXJOYW1lLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgZW1haWw6IFtwcm9maWxlLmVtYWlsLCBbcmVxdWlyZWQsIGVtYWlsLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIG5hbWU6IFtwcm9maWxlLm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgc3VybmFtZTogW3Byb2ZpbGUuc3VybmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBwaG9uZU51bWJlcjogW3Byb2ZpbGUucGhvbmVOdW1iZXIgfHwgJycsIFttYXhMZW5ndGgoMTYpXV0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/states/layout.state.js b/npm/ng-packs/dist/theme-basic/esm5/lib/states/layout.state.js index f6719a7ddb..2944041490 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/states/layout.state.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/states/layout.state.js @@ -4,7 +4,7 @@ */ import * as tslib_1 from "tslib"; import { State, Action, Selector } from '@ngxs/store'; -import { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions'; +import { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions'; import snq from 'snq'; var LayoutState = /** @class */ (function () { function LayoutState() { @@ -102,15 +102,15 @@ var LayoutState = /** @class */ (function () { }); }; tslib_1.__decorate([ - Action(LayoutAddNavigationElement), + Action(AddNavigationElement), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, LayoutAddNavigationElement]), + tslib_1.__metadata("design:paramtypes", [Object, AddNavigationElement]), tslib_1.__metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutAddAction", null); tslib_1.__decorate([ - Action(LayoutRemoveNavigationElementByName), + Action(RemoveNavigationElementByName), tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object, LayoutRemoveNavigationElementByName]), + tslib_1.__metadata("design:paramtypes", [Object, RemoveNavigationElementByName]), tslib_1.__metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutRemoveAction", null); tslib_1.__decorate([ @@ -128,4 +128,4 @@ var LayoutState = /** @class */ (function () { return LayoutState; }()); export { LayoutState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7OztJQTBEdEIsQ0FBQzs7Ozs7SUFsRFEsaUNBQXFCOzs7O0lBQTVCLFVBQTZCLEVBQW9DO1lBQWxDLDBDQUFrQjtRQUMvQyxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7Ozs7OztJQUdELHFDQUFlOzs7OztJQUFmLFVBQWdCLEVBQW9ELEVBQUUsRUFBNEM7WUFBaEcsc0JBQVEsRUFBRSwwQkFBVTtZQUFrQyxlQUFZLEVBQVosaUNBQVk7UUFDNUUsSUFBQSxrREFBa0I7UUFFeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEdBQUcsR0FBRzs7O1lBQ1g7Z0JBQ0UsT0FBQSxDQUFDLG1CQUFBLE9BQU8sRUFBOEIsQ0FBQyxDQUFDLE1BQU07Ozs7Z0JBQzVDLFVBQUMsRUFBUTt3QkFBTixjQUFJO29CQUFPLE9BQUEsa0JBQWtCLENBQUMsU0FBUzs7OztvQkFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFqQixDQUFpQixFQUFDLEdBQUcsQ0FBQztnQkFBMUQsQ0FBMEQsRUFDekU7WUFGRCxDQUVDLEdBQ0gsRUFBRSxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFNUIsa0JBQWtCLEdBQUcsaUJBQUksa0JBQWtCLEVBQUssT0FBTyxFQUNwRCxHQUFHOzs7O1FBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxzQkFBTSxPQUFPLElBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFHLEVBQTVDLENBQTRDLEVBQUM7YUFDNUQsSUFBSTs7Ozs7UUFBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQWpCLENBQWlCLEVBQUMsQ0FBQztRQUVyQyxPQUFPLFVBQVUsQ0FBQztZQUNoQixrQkFBa0Isb0JBQUE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBR0Qsd0NBQWtCOzs7OztJQUFsQixVQUNFLEVBQW9ELEVBQ3BELEVBQTZDO1lBRDNDLHNCQUFRLEVBQUUsMEJBQVU7WUFDcEIsY0FBSTtRQUVBLElBQUEsa0RBQWtCOztZQUVsQixLQUFLLEdBQUcsa0JBQWtCLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQXJCLENBQXFCLEVBQUM7UUFFNUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxVQUFVLENBQUM7WUFDaEIsa0JBQWtCLG9CQUFBO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUE1Q0Q7UUFEQyxNQUFNLENBQUMsMEJBQTBCLENBQUM7O3lEQUNxRCwwQkFBMEI7O3NEQTBCakg7SUFHRDtRQURDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQzs7eURBR2hDLG1DQUFtQzs7eURBYTlDO0lBakREO1FBREMsUUFBUSxFQUFFOzs7O2tEQUdWO0lBSlUsV0FBVztRQUp2QixLQUFLLENBQWU7WUFDbkIsSUFBSSxFQUFFLGFBQWE7WUFDbkIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLEVBQWdCO1NBQ3JELENBQUM7T0FDVyxXQUFXLENBb0R2QjtJQUFELGtCQUFDO0NBQUEsSUFBQTtTQXBEWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTZWxlY3RvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExheW91dEFkZE5hdmlnYXRpb25FbGVtZW50LCBMYXlvdXRSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSB9IGZyb20gJy4uL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMnO1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnLi4vbW9kZWxzL2xheW91dCc7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5AU3RhdGU8TGF5b3V0LlN0YXRlPih7XG4gIG5hbWU6ICdMYXlvdXRTdGF0ZScsXG4gIGRlZmF1bHRzOiB7IG5hdmlnYXRpb25FbGVtZW50czogW10gfSBhcyBMYXlvdXQuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dFN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldE5hdmlnYXRpb25FbGVtZW50cyh7IG5hdmlnYXRpb25FbGVtZW50cyB9OiBMYXlvdXQuU3RhdGUpOiBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIG5hdmlnYXRpb25FbGVtZW50cztcbiAgfVxuXG4gIEBBY3Rpb24oTGF5b3V0QWRkTmF2aWdhdGlvbkVsZW1lbnQpXG4gIGxheW91dEFkZEFjdGlvbih7IGdldFN0YXRlLCBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxMYXlvdXQuU3RhdGU+LCB7IHBheWxvYWQgPSBbXSB9OiBMYXlvdXRBZGROYXZpZ2F0aW9uRWxlbWVudCkge1xuICAgIGxldCB7IG5hdmlnYXRpb25FbGVtZW50cyB9ID0gZ2V0U3RhdGUoKTtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXlsb2FkKSkge1xuICAgICAgcGF5bG9hZCA9IFtwYXlsb2FkXTtcbiAgICB9XG5cbiAgICBpZiAobmF2aWdhdGlvbkVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgcGF5bG9hZCA9IHNucShcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAocGF5bG9hZCBhcyBMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXSkuZmlsdGVyKFxuICAgICAgICAgICAgKHsgbmFtZSB9KSA9PiBuYXZpZ2F0aW9uRWxlbWVudHMuZmluZEluZGV4KG5hdiA9PiBuYXYubmFtZSA9PT0gbmFtZSkgPCAwLFxuICAgICAgICAgICksXG4gICAgICAgIFtdLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXBheWxvYWQubGVuZ3RoKSByZXR1cm47XG5cbiAgICBuYXZpZ2F0aW9uRWxlbWVudHMgPSBbLi4ubmF2aWdhdGlvbkVsZW1lbnRzLCAuLi5wYXlsb2FkXVxuICAgICAgLm1hcChlbGVtZW50ID0+ICh7IC4uLmVsZW1lbnQsIG9yZGVyOiBlbGVtZW50Lm9yZGVyIHx8IDk5IH0pKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcblxuICAgIHJldHVybiBwYXRjaFN0YXRlKHtcbiAgICAgIG5hdmlnYXRpb25FbGVtZW50cyxcbiAgICB9KTtcbiAgfVxuXG4gIEBBY3Rpb24oTGF5b3V0UmVtb3ZlTmF2aWdhdGlvbkVsZW1lbnRCeU5hbWUpXG4gIGxheW91dFJlbW92ZUFjdGlvbihcbiAgICB7IGdldFN0YXRlLCBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxMYXlvdXQuU3RhdGU+LFxuICAgIHsgbmFtZSB9OiBMYXlvdXRSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSxcbiAgKSB7XG4gICAgbGV0IHsgbmF2aWdhdGlvbkVsZW1lbnRzIH0gPSBnZXRTdGF0ZSgpO1xuXG4gICAgY29uc3QgaW5kZXggPSBuYXZpZ2F0aW9uRWxlbWVudHMuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5uYW1lID09PSBuYW1lKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMgPSBuYXZpZ2F0aW9uRWxlbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdoRyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7OztJQXVEdEIsQ0FBQzs7Ozs7SUEvQ1EsaUNBQXFCOzs7O0lBQTVCLFVBQTZCLEVBQW9DO1lBQWxDLDBDQUFrQjtRQUMvQyxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7Ozs7OztJQUdELHFDQUFlOzs7OztJQUFmLFVBQWdCLEVBQW9ELEVBQUUsRUFBc0M7WUFBMUYsc0JBQVEsRUFBRSwwQkFBVTtZQUFrQyxlQUFZLEVBQVosaUNBQVk7UUFDNUUsSUFBQSxrREFBa0I7UUFFeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEdBQUcsR0FBRzs7O1lBQ1g7Z0JBQ0UsT0FBQSxDQUFDLG1CQUFBLE9BQU8sRUFBOEIsQ0FBQyxDQUFDLE1BQU07Ozs7Z0JBQzVDLFVBQUMsRUFBUTt3QkFBTixjQUFJO29CQUFPLE9BQUEsa0JBQWtCLENBQUMsU0FBUzs7OztvQkFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFqQixDQUFpQixFQUFDLEdBQUcsQ0FBQztnQkFBMUQsQ0FBMEQsRUFDekU7WUFGRCxDQUVDLEdBQ0gsRUFBRSxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFNUIsa0JBQWtCLEdBQUcsaUJBQUksa0JBQWtCLEVBQUssT0FBTyxFQUNwRCxHQUFHOzs7O1FBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxzQkFBTSxPQUFPLElBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFHLEVBQTVDLENBQTRDLEVBQUM7YUFDNUQsSUFBSTs7Ozs7UUFBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQWpCLENBQWlCLEVBQUMsQ0FBQztRQUVyQyxPQUFPLFVBQVUsQ0FBQztZQUNoQixrQkFBa0Isb0JBQUE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBR0Qsd0NBQWtCOzs7OztJQUFsQixVQUFtQixFQUFvRCxFQUFFLEVBQXVDO1lBQTNGLHNCQUFRLEVBQUUsMEJBQVU7WUFBa0MsY0FBSTtRQUN2RSxJQUFBLGtEQUFrQjs7WUFFbEIsS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFyQixDQUFxQixFQUFDO1FBRTVFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2Qsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUVELE9BQU8sVUFBVSxDQUFDO1lBQ2hCLGtCQUFrQixvQkFBQTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBekNEO1FBREMsTUFBTSxDQUFDLG9CQUFvQixDQUFDOzt5REFDMkQsb0JBQW9COztzREEwQjNHO0lBR0Q7UUFEQyxNQUFNLENBQUMsNkJBQTZCLENBQUM7O3lEQUM2Qyw2QkFBNkI7O3lEQVkvRztJQTlDRDtRQURDLFFBQVEsRUFBRTs7OztrREFHVjtJQUpVLFdBQVc7UUFKdkIsS0FBSyxDQUFlO1lBQ25CLElBQUksRUFBRSxhQUFhO1lBQ25CLFFBQVEsRUFBRSxtQkFBQSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxFQUFnQjtTQUNyRCxDQUFDO09BQ1csV0FBVyxDQWlEdkI7SUFBRCxrQkFBQztDQUFBLElBQUE7U0FqRFksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU2VsZWN0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBBZGROYXZpZ2F0aW9uRWxlbWVudCwgUmVtb3ZlTmF2aWdhdGlvbkVsZW1lbnRCeU5hbWUgfSBmcm9tICcuLi9hY3Rpb25zL2xheW91dC5hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuQFN0YXRlPExheW91dC5TdGF0ZT4oe1xuICBuYW1lOiAnTGF5b3V0U3RhdGUnLFxuICBkZWZhdWx0czogeyBuYXZpZ2F0aW9uRWxlbWVudHM6IFtdIH0gYXMgTGF5b3V0LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXROYXZpZ2F0aW9uRWxlbWVudHMoeyBuYXZpZ2F0aW9uRWxlbWVudHMgfTogTGF5b3V0LlN0YXRlKTogTGF5b3V0Lk5hdmlnYXRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBuYXZpZ2F0aW9uRWxlbWVudHM7XG4gIH1cblxuICBAQWN0aW9uKEFkZE5hdmlnYXRpb25FbGVtZW50KVxuICBsYXlvdXRBZGRBY3Rpb24oeyBnZXRTdGF0ZSwgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8TGF5b3V0LlN0YXRlPiwgeyBwYXlsb2FkID0gW10gfTogQWRkTmF2aWdhdGlvbkVsZW1lbnQpIHtcbiAgICBsZXQgeyBuYXZpZ2F0aW9uRWxlbWVudHMgfSA9IGdldFN0YXRlKCk7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgIHBheWxvYWQgPSBbcGF5bG9hZF07XG4gICAgfVxuXG4gICAgaWYgKG5hdmlnYXRpb25FbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHBheWxvYWQgPSBzbnEoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKHBheWxvYWQgYXMgTGF5b3V0Lk5hdmlnYXRpb25FbGVtZW50W10pLmZpbHRlcihcbiAgICAgICAgICAgICh7IG5hbWUgfSkgPT4gbmF2aWdhdGlvbkVsZW1lbnRzLmZpbmRJbmRleChuYXYgPT4gbmF2Lm5hbWUgPT09IG5hbWUpIDwgMCxcbiAgICAgICAgICApLFxuICAgICAgICBbXSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgbmF2aWdhdGlvbkVsZW1lbnRzID0gWy4uLm5hdmlnYXRpb25FbGVtZW50cywgLi4ucGF5bG9hZF1cbiAgICAgIC5tYXAoZWxlbWVudCA9PiAoeyAuLi5lbGVtZW50LCBvcmRlcjogZWxlbWVudC5vcmRlciB8fCA5OSB9KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMsXG4gICAgfSk7XG4gIH1cblxuICBAQWN0aW9uKFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lKVxuICBsYXlvdXRSZW1vdmVBY3Rpb24oeyBnZXRTdGF0ZSwgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8TGF5b3V0LlN0YXRlPiwgeyBuYW1lIH06IFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lKSB7XG4gICAgbGV0IHsgbmF2aWdhdGlvbkVsZW1lbnRzIH0gPSBnZXRTdGF0ZSgpO1xuXG4gICAgY29uc3QgaW5kZXggPSBuYXZpZ2F0aW9uRWxlbWVudHMuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5uYW1lID09PSBuYW1lKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMgPSBuYXZpZ2F0aW9uRWxlbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICBuYXZpZ2F0aW9uRWxlbWVudHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js b/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js index 047d909621..8e5391010d 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js @@ -7,9 +7,9 @@ import { CoreModule } from '@abp/ng.core'; import { NgModule } from '@angular/core'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ChangePasswordComponent } from './components/change-password/change-password.component'; -import { LayoutAccountComponent } from './components/layout-account/layout-account.component'; -import { LayoutApplicationComponent } from './components/layout-application/layout-application.component'; -import { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component'; +import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; +import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; +import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; import { LayoutComponent } from './components/layout/layout.component'; import { ProfileComponent } from './components/profile/profile.component'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; @@ -18,7 +18,7 @@ import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgxsModule } from '@ngxs/store'; import { LayoutState } from './states/layout.state'; /** @type {?} */ -export var LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent]; +export var LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; var ThemeBasicModule = /** @class */ (function () { function ThemeBasicModule() { } @@ -41,4 +41,4 @@ var ThemeBasicModule = /** @class */ (function () { return ThemeBasicModule; }()); export { ThemeBasicModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXBELE1BQU0sS0FBTyxPQUFPLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztBQUVqRztJQUFBO0lBYytCLENBQUM7O2dCQWQvQixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxtQkFBTSxPQUFPLEdBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDO29CQUN0RixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNyQztvQkFDRCxPQUFPLG1CQUFNLE9BQU8sQ0FBQztvQkFDckIsZUFBZSxtQkFBTSxPQUFPLENBQUM7aUJBQzlCOztJQUM4Qix1QkFBQztDQUFBLEFBZGhDLElBY2dDO1NBQW5CLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkNvbGxhcHNlTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEFjY291bnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LWFjY291bnQvbGF5b3V0LWFjY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEFwcGxpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC1hcHBsaWNhdGlvbi9sYXlvdXQtYXBwbGljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEVtcHR5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC1lbXB0eS9sYXlvdXQtZW1wdHkuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMYXlvdXRTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL2xheW91dC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBMQVlPVVRTID0gW0xheW91dEFwcGxpY2F0aW9uQ29tcG9uZW50LCBMYXlvdXRBY2NvdW50Q29tcG9uZW50LCBMYXlvdXRFbXB0eUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkxBWU9VVFMsIExheW91dENvbXBvbmVudCwgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQsIFByb2ZpbGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtMYXlvdXRTdGF0ZV0pLFxuICBdLFxuICBleHBvcnRzOiBbLi4uTEFZT1VUU10sXG4gIGVudHJ5Q29tcG9uZW50czogWy4uLkxBWU9VVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUJhc2ljTW9kdWxlIHt9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXBELE1BQU0sS0FBTyxPQUFPLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztBQUVqRztJQUFBO0lBYytCLENBQUM7O2dCQWQvQixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxtQkFBTSxPQUFPLEdBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDO29CQUN0RixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNyQztvQkFDRCxPQUFPLG1CQUFNLE9BQU8sQ0FBQztvQkFDckIsZUFBZSxtQkFBTSxPQUFPLENBQUM7aUJBQzlCOztJQUM4Qix1QkFBQztDQUFBLEFBZGhDLElBY2dDO1NBQW5CLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkNvbGxhcHNlTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjY291bnRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvYWNjb3VudC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FwcGxpY2F0aW9uLWxheW91dC9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LWxheW91dC9lbXB0eS1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMYXlvdXRTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL2xheW91dC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBMQVlPVVRTID0gW0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50LCBBY2NvdW50TGF5b3V0Q29tcG9uZW50LCBFbXB0eUxheW91dENvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkxBWU9VVFMsIExheW91dENvbXBvbmVudCwgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQsIFByb2ZpbGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtMYXlvdXRTdGF0ZV0pLFxuICBdLFxuICBleHBvcnRzOiBbLi4uTEFZT1VUU10sXG4gIGVudHJ5Q29tcG9uZW50czogWy4uLkxBWU9VVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUJhc2ljTW9kdWxlIHt9XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/public-api.js b/npm/ng-packs/dist/theme-basic/esm5/public-api.js index 0ce06fadd6..42fd1f4364 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/public-api.js +++ b/npm/ng-packs/dist/theme-basic/esm5/public-api.js @@ -6,8 +6,8 @@ * Public API Surface of theme-basic */ export { LAYOUTS, ThemeBasicModule } from './lib/theme-basic.module'; -export { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from './lib/actions'; -export { LayoutAccountComponent, LayoutApplicationComponent, LayoutEmptyComponent } from './lib/components'; +export { AddNavigationElement, RemoveNavigationElementByName } from './lib/actions'; +export { AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent } from './lib/components'; export {} from './lib/models'; export { LayoutState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwwQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxnRkFBYyxlQUFlLENBQUM7QUFDOUIseUZBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxjQUFjLENBQUM7QUFDN0IsNEJBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1iYXNpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLWJhc2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwwQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxvRUFBYyxlQUFlLENBQUM7QUFDOUIseUZBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxjQUFjLENBQUM7QUFDN0IsNEJBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1iYXNpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLWJhc2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js index ddc5f1e86f..7e12b5be19 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js @@ -1,17 +1,17 @@ -import { ProfileChangePassword, SessionState, takeUntilDestroy, SessionSetLanguage, ConfigGetAppConfiguration, ConfigState, ProfileGet, ProfileUpdate, ProfileState, CoreModule } from '@abp/ng.core'; +import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; import { FormBuilder, Validators } from '@angular/forms'; -import { validatePassword, comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; +import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; +import snq from 'snq'; import { __decorate, __metadata } from 'tslib'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; -import snq from 'snq'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { ToastModule } from 'primeng/toast'; /** @@ -23,10 +23,12 @@ class ChangePasswordComponent { /** * @param {?} fb * @param {?} store + * @param {?} toasterService */ - constructor(fb, store) { + constructor(fb, store, toasterService) { this.fb = fb; this.store = store; + this.toasterService = toasterService; this.visibleChange = new EventEmitter(); } /** @@ -48,9 +50,9 @@ class ChangePasswordComponent { */ ngOnInit() { this.form = this.fb.group({ - password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], }, { validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], }); @@ -62,16 +64,31 @@ class ChangePasswordComponent { if (this.form.invalid) return; this.store - .dispatch(new ProfileChangePassword({ + .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) - .subscribe((/** - * @return {?} - */ - () => { - this.visible = false; - })); + .subscribe({ + next: (/** + * @return {?} + */ + () => { + this.visible = false; + this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); } /** * @return {?} @@ -97,13 +114,14 @@ class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ ChangePasswordComponent.ctorParameters = () => [ { type: FormBuilder }, - { type: Store } + { type: Store }, + { type: ToasterService } ]; ChangePasswordComponent.propDecorators = { visible: [{ type: Input }], @@ -115,17 +133,17 @@ ChangePasswordComponent.propDecorators = { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class LayoutAccountComponent { +class AccountLayoutComponent { constructor() { this.isCollapsed = false; } } // required for dynamic component -LayoutAccountComponent.type = "account" /* account */; -LayoutAccountComponent.decorators = [ +AccountLayoutComponent.type = "account" /* account */; +AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n \n\n \n \n \n \n \n\n" }] } ]; @@ -133,7 +151,7 @@ LayoutAccountComponent.decorators = [ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class LayoutAddNavigationElement { +class AddNavigationElement { /** * @param {?} payload */ @@ -141,8 +159,8 @@ class LayoutAddNavigationElement { this.payload = payload; } } -LayoutAddNavigationElement.type = '[Layout] Add Navigation Element'; -class LayoutRemoveNavigationElementByName { +AddNavigationElement.type = '[Layout] Add Navigation Element'; +class RemoveNavigationElementByName { /** * @param {?} name */ @@ -150,7 +168,7 @@ class LayoutRemoveNavigationElementByName { this.name = name; } } -LayoutRemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; +RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; /** * @fileoverview added by tsickle @@ -228,15 +246,15 @@ let LayoutState = class LayoutState { } }; __decorate([ - Action(LayoutAddNavigationElement), + Action(AddNavigationElement), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutAddNavigationElement]), + __metadata("design:paramtypes", [Object, AddNavigationElement]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutAddAction", null); __decorate([ - Action(LayoutRemoveNavigationElementByName), + Action(RemoveNavigationElementByName), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutRemoveNavigationElementByName]), + __metadata("design:paramtypes", [Object, RemoveNavigationElementByName]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutRemoveAction", null); __decorate([ @@ -256,7 +274,7 @@ LayoutState = __decorate([ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class LayoutApplicationComponent { +class ApplicationLayoutComponent { /** * @param {?} store * @param {?} oauthService @@ -365,7 +383,7 @@ class LayoutApplicationComponent { */ ({ name }) => name)); if (navigations.indexOf('LanguageRef') < 0) { - this.store.dispatch(new LayoutAddNavigationElement([ + this.store.dispatch(new AddNavigationElement([ { element: this.languageRef, order: 4, name: 'LanguageRef' }, { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, ])); @@ -413,34 +431,34 @@ class LayoutApplicationComponent { * @return {?} */ onChangeLang(cultureName) { - this.store.dispatch(new SessionSetLanguage(cultureName)); - this.store.dispatch(new ConfigGetAppConfiguration()); + this.store.dispatch(new SetLanguage(cultureName)); + this.store.dispatch(new GetAppConfiguration()); } /** * @return {?} */ logout() { this.oauthService.logOut(); - this.store.dispatch(new Navigate(['/account/login'], null, { + this.store.dispatch(new Navigate(['/'], null, { state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, })); - this.store.dispatch(new ConfigGetAppConfiguration()); + this.store.dispatch(new GetAppConfiguration()); } } // required for dynamic component -LayoutApplicationComponent.type = "application" /* application */; -LayoutApplicationComponent.decorators = [ +ApplicationLayoutComponent.type = "application" /* application */; +ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ -LayoutApplicationComponent.ctorParameters = () => [ +ApplicationLayoutComponent.ctorParameters = () => [ { type: Store }, { type: OAuthService } ]; -LayoutApplicationComponent.propDecorators = { +ApplicationLayoutComponent.propDecorators = { currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] @@ -448,19 +466,19 @@ LayoutApplicationComponent.propDecorators = { __decorate([ Select(ConfigState.getOne('routes')), __metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "routes$", void 0); +], ApplicationLayoutComponent.prototype, "routes$", void 0); __decorate([ Select(ConfigState.getOne('currentUser')), __metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "currentUser$", void 0); +], ApplicationLayoutComponent.prototype, "currentUser$", void 0); __decorate([ Select(ConfigState.getDeep('localization.languages')), __metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "languages$", void 0); +], ApplicationLayoutComponent.prototype, "languages$", void 0); __decorate([ Select(LayoutState.getNavigationElements), __metadata("design:type", Observable) -], LayoutApplicationComponent.prototype, "navElements$", void 0); +], ApplicationLayoutComponent.prototype, "navElements$", void 0); /** * @param {?} routes * @return {?} @@ -485,11 +503,11 @@ function getVisibleRoutes(routes) { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class LayoutEmptyComponent { +class EmptyLayoutComponent { } // required for dynamic component -LayoutEmptyComponent.type = "empty" /* empty */; -LayoutEmptyComponent.decorators = [ +EmptyLayoutComponent.type = "empty" /* empty */; +EmptyLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-empty', template: ` @@ -504,16 +522,31 @@ LayoutEmptyComponent.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class LayoutComponent { - constructor() { + /** + * @param {?} store + */ + constructor(store) { + this.store = store; this.isCollapsed = false; } + /** + * @return {?} + */ + get appInfo() { + return this.store.selectSnapshot(ConfigState.getApplicationInfo); + } } LayoutComponent.decorators = [ { type: Component, args: [{ selector: ' abp-layout', - template: "\n\n
    \n \n
    \n\n\n\n" + template: "\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n", + animations: [slideFromBottom] }] } ]; +/** @nocollapse */ +LayoutComponent.ctorParameters = () => [ + { type: Store } +]; /** * @fileoverview added by tsickle @@ -549,7 +582,7 @@ class ProfileComponent { */ buildForm() { this.store - .dispatch(new ProfileGet()) + .dispatch(new GetProfile()) .pipe(withLatestFrom(this.profile$), take(1)) .subscribe((/** * @param {?} __0 @@ -571,11 +604,12 @@ class ProfileComponent { onSubmit() { if (this.form.invalid) return; - this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe((/** + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { this.visible = false; + this.form.reset(); })); } /** @@ -603,7 +637,7 @@ class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -625,7 +659,7 @@ __decorate([ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent]; +const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; class ThemeBasicModule { } ThemeBasicModule.decorators = [ @@ -663,5 +697,5 @@ var Layout; Layout.NavigationElement = NavigationElement; })(Layout || (Layout = {})); -export { LAYOUTS, LayoutAccountComponent, LayoutAddNavigationElement, LayoutApplicationComponent, LayoutEmptyComponent, LayoutRemoveNavigationElementByName, LayoutState, ThemeBasicModule, LayoutApplicationComponent as ɵa, LayoutState as ɵb, LayoutAccountComponent as ɵc, LayoutEmptyComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, LayoutAddNavigationElement as ɵi, LayoutRemoveNavigationElementByName as ɵj }; +export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map index 5ab79dcb4f..18d9cce4dd 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-account/layout-account.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/layout-application/layout-application.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-empty/layout-empty.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ProfileChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, validatePassword } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ProfileChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './layout-account.component.html',\n})\nexport class LayoutAccountComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class LayoutAddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class LayoutRemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(LayoutAddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(LayoutRemoveNavigationElementByName)\n layoutRemoveAction(\n { getState, patchState }: StateContext,\n { name }: LayoutRemoveNavigationElementByName,\n ) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n ConfigGetAppConfiguration,\n ConfigState,\n eLayoutType,\n SessionSetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { LayoutAddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './layout-application.component.html',\n})\nexport class LayoutApplicationComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new LayoutAddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SessionSetLanguage(cultureName));\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class LayoutEmptyComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n}\n","import { Profile, ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new ProfileGet())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { LayoutAccountComponent } from './components/layout-account/layout-account.component';\nimport { LayoutApplicationComponent } from './components/layout-application/layout-application.component';\nimport { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js index a6f79d2d12..cd99b29917 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js @@ -1,17 +1,17 @@ import { __spread, __assign, __decorate, __metadata, __read } from 'tslib'; -import { ProfileChangePassword, SessionState, takeUntilDestroy, SessionSetLanguage, ConfigGetAppConfiguration, ConfigState, ProfileGet, ProfileUpdate, ProfileState, CoreModule } from '@abp/ng.core'; +import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; import { Component, Input, Output, ViewChild, EventEmitter, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; import { Validators, FormBuilder } from '@angular/forms'; -import { validatePassword, comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; +import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; +import snq from 'snq'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; -import snq from 'snq'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { ToastModule } from 'primeng/toast'; /** @@ -20,9 +20,10 @@ import { ToastModule } from 'primeng/toast'; */ var minLength = Validators.minLength, required = Validators.required; var ChangePasswordComponent = /** @class */ (function () { - function ChangePasswordComponent(fb, store) { + function ChangePasswordComponent(fb, store, toasterService) { this.fb = fb; this.store = store; + this.toasterService = toasterService; this.visibleChange = new EventEmitter(); } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { @@ -51,9 +52,9 @@ var ChangePasswordComponent = /** @class */ (function () { */ function () { this.form = this.fb.group({ - password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], - repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]], + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], }, { validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], }); @@ -69,16 +70,31 @@ var ChangePasswordComponent = /** @class */ (function () { if (this.form.invalid) return; this.store - .dispatch(new ProfileChangePassword({ + .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) - .subscribe((/** - * @return {?} - */ - function () { - _this.visible = false; - })); + .subscribe({ + next: (/** + * @return {?} + */ + function () { + _this.visible = false; + _this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + function (err) { + _this.toasterService.error(snq((/** + * @return {?} + */ + function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); }; /** * @return {?} @@ -111,13 +127,14 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ ChangePasswordComponent.ctorParameters = function () { return [ { type: FormBuilder }, - { type: Store } + { type: Store }, + { type: ToasterService } ]; }; ChangePasswordComponent.propDecorators = { visible: [{ type: Input }], @@ -131,38 +148,38 @@ var ChangePasswordComponent = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LayoutAccountComponent = /** @class */ (function () { - function LayoutAccountComponent() { +var AccountLayoutComponent = /** @class */ (function () { + function AccountLayoutComponent() { this.isCollapsed = false; } // required for dynamic component - LayoutAccountComponent.type = "account" /* account */; - LayoutAccountComponent.decorators = [ + AccountLayoutComponent.type = "account" /* account */; + AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n \n\n \n \n \n \n \n\n" }] } ]; - return LayoutAccountComponent; + return AccountLayoutComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LayoutAddNavigationElement = /** @class */ (function () { - function LayoutAddNavigationElement(payload) { +var AddNavigationElement = /** @class */ (function () { + function AddNavigationElement(payload) { this.payload = payload; } - LayoutAddNavigationElement.type = '[Layout] Add Navigation Element'; - return LayoutAddNavigationElement; + AddNavigationElement.type = '[Layout] Add Navigation Element'; + return AddNavigationElement; }()); -var LayoutRemoveNavigationElementByName = /** @class */ (function () { - function LayoutRemoveNavigationElementByName(name) { +var RemoveNavigationElementByName = /** @class */ (function () { + function RemoveNavigationElementByName(name) { this.name = name; } - LayoutRemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; - return LayoutRemoveNavigationElementByName; + RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; + return RemoveNavigationElementByName; }()); /** @@ -265,15 +282,15 @@ var LayoutState = /** @class */ (function () { }); }; __decorate([ - Action(LayoutAddNavigationElement), + Action(AddNavigationElement), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutAddNavigationElement]), + __metadata("design:paramtypes", [Object, AddNavigationElement]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutAddAction", null); __decorate([ - Action(LayoutRemoveNavigationElementByName), + Action(RemoveNavigationElementByName), __metadata("design:type", Function), - __metadata("design:paramtypes", [Object, LayoutRemoveNavigationElementByName]), + __metadata("design:paramtypes", [Object, RemoveNavigationElementByName]), __metadata("design:returntype", void 0) ], LayoutState.prototype, "layoutRemoveAction", null); __decorate([ @@ -295,8 +312,8 @@ var LayoutState = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LayoutApplicationComponent = /** @class */ (function () { - function LayoutApplicationComponent(store, oauthService) { +var ApplicationLayoutComponent = /** @class */ (function () { + function ApplicationLayoutComponent(store, oauthService) { this.store = store; this.oauthService = oauthService; this.isOpenChangePassword = false; @@ -315,7 +332,7 @@ var LayoutApplicationComponent = /** @class */ (function () { */ function (_, element) { return element; }); } - Object.defineProperty(LayoutApplicationComponent.prototype, "visibleRoutes$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "visibleRoutes$", { get: /** * @return {?} */ @@ -329,7 +346,7 @@ var LayoutApplicationComponent = /** @class */ (function () { enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "defaultLanguage$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "defaultLanguage$", { get: /** * @return {?} */ @@ -351,7 +368,7 @@ var LayoutApplicationComponent = /** @class */ (function () { enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "dropdownLanguages$", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "dropdownLanguages$", { get: /** * @return {?} */ @@ -373,7 +390,7 @@ var LayoutApplicationComponent = /** @class */ (function () { enumerable: true, configurable: true }); - Object.defineProperty(LayoutApplicationComponent.prototype, "selectedLangCulture", { + Object.defineProperty(ApplicationLayoutComponent.prototype, "selectedLangCulture", { get: /** * @return {?} */ @@ -387,7 +404,7 @@ var LayoutApplicationComponent = /** @class */ (function () { * @private * @return {?} */ - LayoutApplicationComponent.prototype.checkWindowWidth = /** + ApplicationLayoutComponent.prototype.checkWindowWidth = /** * @private * @return {?} */ @@ -415,7 +432,7 @@ var LayoutApplicationComponent = /** @class */ (function () { /** * @return {?} */ - LayoutApplicationComponent.prototype.ngAfterViewInit = /** + ApplicationLayoutComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { @@ -430,7 +447,7 @@ var LayoutApplicationComponent = /** @class */ (function () { return name; })); if (navigations.indexOf('LanguageRef') < 0) { - this.store.dispatch(new LayoutAddNavigationElement([ + this.store.dispatch(new AddNavigationElement([ { element: this.languageRef, order: 4, name: 'LanguageRef' }, { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' }, ])); @@ -475,7 +492,7 @@ var LayoutApplicationComponent = /** @class */ (function () { /** * @return {?} */ - LayoutApplicationComponent.prototype.ngOnDestroy = /** + ApplicationLayoutComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { }; @@ -483,41 +500,41 @@ var LayoutApplicationComponent = /** @class */ (function () { * @param {?} cultureName * @return {?} */ - LayoutApplicationComponent.prototype.onChangeLang = /** + ApplicationLayoutComponent.prototype.onChangeLang = /** * @param {?} cultureName * @return {?} */ function (cultureName) { - this.store.dispatch(new SessionSetLanguage(cultureName)); - this.store.dispatch(new ConfigGetAppConfiguration()); + this.store.dispatch(new SetLanguage(cultureName)); + this.store.dispatch(new GetAppConfiguration()); }; /** * @return {?} */ - LayoutApplicationComponent.prototype.logout = /** + ApplicationLayoutComponent.prototype.logout = /** * @return {?} */ function () { this.oauthService.logOut(); - this.store.dispatch(new Navigate(['/account/login'], null, { + this.store.dispatch(new Navigate(['/'], null, { state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url }, })); - this.store.dispatch(new ConfigGetAppConfiguration()); + this.store.dispatch(new GetAppConfiguration()); }; // required for dynamic component - LayoutApplicationComponent.type = "application" /* application */; - LayoutApplicationComponent.decorators = [ + ApplicationLayoutComponent.type = "application" /* application */; + ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ - LayoutApplicationComponent.ctorParameters = function () { return [ + ApplicationLayoutComponent.ctorParameters = function () { return [ { type: Store }, { type: OAuthService } ]; }; - LayoutApplicationComponent.propDecorators = { + ApplicationLayoutComponent.propDecorators = { currentUserRef: [{ type: ViewChild, args: ['currentUser', { static: false, read: TemplateRef },] }], languageRef: [{ type: ViewChild, args: ['language', { static: false, read: TemplateRef },] }], navbarRootDropdowns: [{ type: ViewChildren, args: ['navbarRootDropdown', { read: NgbDropdown },] }] @@ -525,20 +542,20 @@ var LayoutApplicationComponent = /** @class */ (function () { __decorate([ Select(ConfigState.getOne('routes')), __metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "routes$", void 0); + ], ApplicationLayoutComponent.prototype, "routes$", void 0); __decorate([ Select(ConfigState.getOne('currentUser')), __metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "currentUser$", void 0); + ], ApplicationLayoutComponent.prototype, "currentUser$", void 0); __decorate([ Select(ConfigState.getDeep('localization.languages')), __metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "languages$", void 0); + ], ApplicationLayoutComponent.prototype, "languages$", void 0); __decorate([ Select(LayoutState.getNavigationElements), __metadata("design:type", Observable) - ], LayoutApplicationComponent.prototype, "navElements$", void 0); - return LayoutApplicationComponent; + ], ApplicationLayoutComponent.prototype, "navElements$", void 0); + return ApplicationLayoutComponent; }()); /** * @param {?} routes @@ -564,18 +581,18 @@ function getVisibleRoutes(routes) { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var LayoutEmptyComponent = /** @class */ (function () { - function LayoutEmptyComponent() { +var EmptyLayoutComponent = /** @class */ (function () { + function EmptyLayoutComponent() { } // required for dynamic component - LayoutEmptyComponent.type = "empty" /* empty */; - LayoutEmptyComponent.decorators = [ + EmptyLayoutComponent.type = "empty" /* empty */; + EmptyLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-empty', template: "\n Layout-empty\n \n " }] } ]; - return LayoutEmptyComponent; + return EmptyLayoutComponent; }()); /** @@ -583,15 +600,31 @@ var LayoutEmptyComponent = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var LayoutComponent = /** @class */ (function () { - function LayoutComponent() { + function LayoutComponent(store) { + this.store = store; this.isCollapsed = false; } + Object.defineProperty(LayoutComponent.prototype, "appInfo", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(ConfigState.getApplicationInfo); + }, + enumerable: true, + configurable: true + }); LayoutComponent.decorators = [ { type: Component, args: [{ selector: ' abp-layout', - template: "\n\n
    \n \n
    \n\n\n\n" + template: "\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n", + animations: [slideFromBottom] }] } ]; + /** @nocollapse */ + LayoutComponent.ctorParameters = function () { return [ + { type: Store } + ]; }; return LayoutComponent; }()); @@ -633,7 +666,7 @@ var ProfileComponent = /** @class */ (function () { function () { var _this = this; this.store - .dispatch(new ProfileGet()) + .dispatch(new GetProfile()) .pipe(withLatestFrom(this.profile$), take(1)) .subscribe((/** * @param {?} __0 @@ -660,11 +693,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; - this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe((/** + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { _this.visible = false; + _this.form.reset(); })); }; /** @@ -699,7 +733,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -723,7 +757,7 @@ var ProfileComponent = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -var LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent]; +var LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; var ThemeBasicModule = /** @class */ (function () { function ThemeBasicModule() { } @@ -764,5 +798,5 @@ var Layout; Layout.NavigationElement = NavigationElement; })(Layout || (Layout = {})); -export { LAYOUTS, LayoutAccountComponent, LayoutAddNavigationElement, LayoutApplicationComponent, LayoutEmptyComponent, LayoutRemoveNavigationElementByName, LayoutState, ThemeBasicModule, LayoutApplicationComponent as ɵa, LayoutState as ɵb, LayoutAccountComponent as ɵc, LayoutEmptyComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, LayoutAddNavigationElement as ɵi, LayoutRemoveNavigationElementByName as ɵj }; +export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map index 0c868a1a3b..524577f3eb 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-account/layout-account.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/layout-application/layout-application.component.ts","ng://@abp/ng.theme.basic/lib/components/layout-empty/layout-empty.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ProfileChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, validatePassword } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n newPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n repeatNewPassword: ['', [required, minLength(6), validatePassword(['small', 'capital', 'number', 'special'])]],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ProfileChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './layout-account.component.html',\n})\nexport class LayoutAccountComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class LayoutAddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class LayoutRemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(LayoutAddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(LayoutRemoveNavigationElementByName)\n layoutRemoveAction(\n { getState, patchState }: StateContext,\n { name }: LayoutRemoveNavigationElementByName,\n ) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n ConfigGetAppConfiguration,\n ConfigState,\n eLayoutType,\n SessionSetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { LayoutAddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './layout-application.component.html',\n})\nexport class LayoutApplicationComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new LayoutAddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SessionSetLanguage(cultureName));\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new ConfigGetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class LayoutEmptyComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n}\n","import { Profile, ProfileGet, ProfileState, ProfileUpdate } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new ProfileGet())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new ProfileUpdate(this.form.value)).subscribe(() => {\n this.visible = false;\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { LayoutAccountComponent } from './components/layout-account/layout-account.component';\nimport { LayoutApplicationComponent } from './components/layout-application/layout-application.component';\nimport { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [LayoutApplicationComponent, LayoutAccountComponent, LayoutEmptyComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/lib/actions/layout.actions.d.ts b/npm/ng-packs/dist/theme-basic/lib/actions/layout.actions.d.ts index 0dcaf42654..0af529c5c3 100644 --- a/npm/ng-packs/dist/theme-basic/lib/actions/layout.actions.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/actions/layout.actions.d.ts @@ -1,10 +1,10 @@ import { Layout } from '../models/layout'; -export declare class LayoutAddNavigationElement { +export declare class AddNavigationElement { payload: Layout.NavigationElement | Layout.NavigationElement[]; static readonly type = "[Layout] Add Navigation Element"; constructor(payload: Layout.NavigationElement | Layout.NavigationElement[]); } -export declare class LayoutRemoveNavigationElementByName { +export declare class RemoveNavigationElementByName { name: string; static readonly type = "[Layout] Remove Navigation ElementByName"; constructor(name: string); diff --git a/npm/ng-packs/dist/theme-basic/lib/components/layout-account/layout-account.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts similarity index 68% rename from npm/ng-packs/dist/theme-basic/lib/components/layout-account/layout-account.component.d.ts rename to npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts index 544a175628..00d0d9ad95 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/layout-account/layout-account.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts @@ -1,5 +1,5 @@ import { eLayoutType } from '@abp/ng.core'; -export declare class LayoutAccountComponent { +export declare class AccountLayoutComponent { static type: eLayoutType; isCollapsed: boolean; } diff --git a/npm/ng-packs/dist/theme-basic/lib/components/layout-application/layout-application.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/application-layout/application-layout.component.d.ts similarity index 96% rename from npm/ng-packs/dist/theme-basic/lib/components/layout-application/layout-application.component.d.ts rename to npm/ng-packs/dist/theme-basic/lib/components/application-layout/application-layout.component.d.ts index 14f8496c53..bae9e8fb23 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/layout-application/layout-application.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/application-layout/application-layout.component.d.ts @@ -5,7 +5,7 @@ import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; import { Observable } from 'rxjs'; import { Layout } from '../../models/layout'; -export declare class LayoutApplicationComponent implements AfterViewInit, OnDestroy { +export declare class ApplicationLayoutComponent implements AfterViewInit, OnDestroy { private store; private oauthService; static type: eLayoutType; diff --git a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts index 1052eaae83..e820e5e709 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts @@ -1,15 +1,17 @@ +import { ToasterService } from '@abp/ng.theme.shared'; import { EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { Store } from '@ngxs/store'; export declare class ChangePasswordComponent implements OnInit, OnChanges { private fb; private store; + private toasterService; protected _visible: any; visible: boolean; visibleChange: EventEmitter; modalContent: TemplateRef; form: FormGroup; - constructor(fb: FormBuilder, store: Store); + constructor(fb: FormBuilder, store: Store, toasterService: ToasterService); ngOnInit(): void; onSubmit(): void; openModal(): void; diff --git a/npm/ng-packs/dist/theme-basic/lib/components/layout-empty/layout-empty.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/empty-layout/empty-layout.component.d.ts similarity index 63% rename from npm/ng-packs/dist/theme-basic/lib/components/layout-empty/layout-empty.component.d.ts rename to npm/ng-packs/dist/theme-basic/lib/components/empty-layout/empty-layout.component.d.ts index 62a0e80586..e3282108b0 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/layout-empty/layout-empty.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/empty-layout/empty-layout.component.d.ts @@ -1,4 +1,4 @@ import { eLayoutType } from '@abp/ng.core'; -export declare class LayoutEmptyComponent { +export declare class EmptyLayoutComponent { static type: eLayoutType; } diff --git a/npm/ng-packs/dist/theme-basic/lib/components/index.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/index.d.ts index 39d04d163d..ca8f7982bc 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/index.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/index.d.ts @@ -1,3 +1,3 @@ -export * from './layout-account/layout-account.component'; -export * from './layout-application/layout-application.component'; -export * from './layout-empty/layout-empty.component'; +export * from './account-layout/account-layout.component'; +export * from './application-layout/application-layout.component'; +export * from './empty-layout/empty-layout.component'; diff --git a/npm/ng-packs/dist/theme-basic/lib/components/layout/layout.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/layout/layout.component.d.ts index c0f7a3dd1e..8f32e7874d 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/layout/layout.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/layout/layout.component.d.ts @@ -1,3 +1,8 @@ +import { Config } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; export declare class LayoutComponent { + private store; isCollapsed: boolean; + readonly appInfo: Config.Application; + constructor(store: Store); } diff --git a/npm/ng-packs/dist/theme-basic/lib/states/layout.state.d.ts b/npm/ng-packs/dist/theme-basic/lib/states/layout.state.d.ts index b6547200d4..d1ceb93110 100644 --- a/npm/ng-packs/dist/theme-basic/lib/states/layout.state.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/states/layout.state.d.ts @@ -1,8 +1,8 @@ import { StateContext } from '@ngxs/store'; -import { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions'; +import { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions'; import { Layout } from '../models/layout'; export declare class LayoutState { static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[]; - layoutAddAction({ getState, patchState }: StateContext, { payload }: LayoutAddNavigationElement): Layout.State; - layoutRemoveAction({ getState, patchState }: StateContext, { name }: LayoutRemoveNavigationElementByName): Layout.State; + layoutAddAction({ getState, patchState }: StateContext, { payload }: AddNavigationElement): Layout.State; + layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName): Layout.State; } diff --git a/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts b/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts index 84e9c65a01..c9a4e25086 100644 --- a/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts @@ -1,5 +1,5 @@ -import { LayoutApplicationComponent } from './components/layout-application/layout-application.component'; -import { LayoutEmptyComponent } from './components/layout-empty/layout-empty.component'; -export declare const LAYOUTS: (typeof LayoutApplicationComponent | typeof LayoutEmptyComponent)[]; +import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; +import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; +export declare const LAYOUTS: (typeof ApplicationLayoutComponent | typeof EmptyLayoutComponent)[]; export declare class ThemeBasicModule { } diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts index c4bca9a612..f6018dd5ee 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts @@ -2,11 +2,13 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { AbstractToasterClass as ɵc } from './lib/abstracts/toaster'; -export { ConfirmationComponent as ɵa } from './lib/components/confirmation/confirmation.component'; -export { ErrorComponent as ɵf } from './lib/components/errors/error.component'; -export { LoaderBarComponent as ɵg } from './lib/components/loader-bar/loader-bar.component'; -export { ModalComponent as ɵe } from './lib/components/modal/modal.component'; -export { ToastComponent as ɵd } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵh } from './lib/handlers/error.handler'; -export { ConfirmationService as ɵb } from './lib/services/confirmation.service'; +export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; +export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; +export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; +export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; +export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; +export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json index 0fd8642d33..c9112db207 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/modal/modal.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":34,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":36,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":37,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":38,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":39,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group"}]}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":44,"character":12},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}],"entryComponents":[{"__symbolic":"reference","name":"ɵf"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":53,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":55,"character":17},{"__symbolic":"reference","name":"ɵh"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":58,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":58,"character":45}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"close":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵc"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":56,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":58,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":60,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":62,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":62,"character":51}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":74,"character":32},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":39,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":42,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":19},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":45,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":46,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":47,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":48,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/confirmation/confirmation.component","ɵb":"./lib/services/confirmation.service","ɵc":"./lib/abstracts/toaster","ɵd":"./lib/components/toast/toast.component","ɵe":"./lib/components/modal/modal.component","ɵf":"./lib/components/errors/error.component","ɵg":"./lib/components/loader-bar/loader-bar.component","ɵh":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"requestType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"requestURLContainSearchValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":39,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js index d08cba6c66..89638b1ba7 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js @@ -1,8 +1,10 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core'), require('primeng/components/common/messageservice'), require('primeng/toast'), require('rxjs'), require('rxjs/operators'), require('@ngxs/store'), require('@angular/router'), require('@ngxs/router-plugin')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core', 'primeng/components/common/messageservice', 'primeng/toast', 'rxjs', 'rxjs/operators', '@ngxs/store', '@angular/router', '@ngxs/router-plugin'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.core$1, global.messageservice, global.toast, global.rxjs, global.rxjs.operators, global.store, global.ng.router, global.routerPlugin)); -}(this, function (exports, ng_core, core, ngBootstrap, core$1, messageservice, toast, rxjs, operators, store, router, routerPlugin) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core'), require('primeng/components/common/messageservice'), require('primeng/toast'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('@ngxs/store'), require('@ngxs/router-plugin'), require('snq'), require('@angular/animations')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core', 'primeng/components/common/messageservice', 'primeng/toast', 'rxjs', 'rxjs/operators', '@angular/router', '@ngxs/store', '@ngxs/router-plugin', 'snq', '@angular/animations'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.core$1, global.messageservice, global.toast, global.rxjs, global.rxjs.operators, global.ng.router, global.store, global.routerPlugin, global.snq, global.ng.animations)); +}(this, function (exports, ng_core, core, ngBootstrap, core$1, messageservice, toast, rxjs, operators, router, store, routerPlugin, snq, animations) { 'use strict'; + + snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -77,8 +79,8 @@ var /** * @template T */ - AbstractToasterClass = /** @class */ (function () { - function AbstractToasterClass(messageService) { + AbstractToaster = /** @class */ (function () { + function AbstractToaster(messageService) { this.messageService = messageService; this.key = 'abpToast'; this.sticky = false; @@ -89,7 +91,7 @@ * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.info = /** + AbstractToaster.prototype.info = /** * @param {?} message * @param {?} title * @param {?=} options @@ -104,7 +106,7 @@ * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.success = /** + AbstractToaster.prototype.success = /** * @param {?} message * @param {?} title * @param {?=} options @@ -119,7 +121,7 @@ * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.warn = /** + AbstractToaster.prototype.warn = /** * @param {?} message * @param {?} title * @param {?=} options @@ -134,7 +136,7 @@ * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.error = /** + AbstractToaster.prototype.error = /** * @param {?} message * @param {?} title * @param {?=} options @@ -151,7 +153,7 @@ * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.show = /** + AbstractToaster.prototype.show = /** * @protected * @param {?} message * @param {?} title @@ -169,7 +171,7 @@ * @param {?=} status * @return {?} */ - AbstractToasterClass.prototype.clear = /** + AbstractToaster.prototype.clear = /** * @param {?=} status * @return {?} */ @@ -178,7 +180,7 @@ this.status$.next(status || "dismiss" /* dismiss */); this.status$.complete(); }; - return AbstractToasterClass; + return AbstractToaster; }()); /** @@ -198,7 +200,7 @@ ]; /** @nocollapse */ ConfirmationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(core.ɵɵinject(messageservice.MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; - }(AbstractToasterClass)); + }(AbstractToaster)); /** * @fileoverview added by tsickle @@ -256,7 +258,7 @@ ErrorComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-error', - template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n ", + template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ", styles: [".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"] }] } ]; @@ -282,13 +284,13 @@ function (action) { return action.payload.url.indexOf('openid-configuration') < 0; }); this.progressLevel = 0; actions - .pipe(store.ofActionSuccessful(ng_core.LoaderStart, ng_core.LoaderStop), operators.filter(this.filter), core$1.takeUntilDestroy(this)) + .pipe(store.ofActionSuccessful(ng_core.StartLoader, ng_core.StopLoader), operators.filter(this.filter), core$1.takeUntilDestroy(this)) .subscribe((/** * @param {?} action * @return {?} */ function (action) { - if (action instanceof ng_core.LoaderStart) + if (action instanceof ng_core.StartLoader) _this.startLoading(); else _this.stopLoading(); @@ -389,17 +391,114 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ + var ButtonComponent = /** @class */ (function () { + function ButtonComponent(actions) { + this.actions = actions; + this.buttonClass = 'btn btn-primary'; + this.buttonType = 'button'; + this.loading = false; + this.disabled = false; + } + Object.defineProperty(ButtonComponent.prototype, "icon", { + get: /** + * @return {?} + */ + function () { + return "" + (this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + ButtonComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (this.requestType || this.requestURLContainSearchValue) { + this.actions + .pipe(store.ofActionSuccessful(ng_core.StartLoader, ng_core.StopLoader), operators.filter((/** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var condition = true; + if (_this.requestType) { + if (!Array.isArray(_this.requestType)) + _this.requestType = [_this.requestType]; + condition = + condition && + _this.requestType.findIndex((/** + * @param {?} type + * @return {?} + */ + function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; + } + if (condition && _this.requestURLContainSearchValue) { + condition = + condition && + event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; + } + return condition; + }))) + .subscribe((/** + * @return {?} + */ + function () { + setTimeout((/** + * @return {?} + */ + function () { + _this.loading = !_this.loading; + }), 0); + })); + } + }; + ButtonComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-button', + template: "\n \n " + }] } + ]; + /** @nocollapse */ + ButtonComponent.ctorParameters = function () { return [ + { type: store.Actions } + ]; }; + ButtonComponent.propDecorators = { + buttonClass: [{ type: core.Input }], + buttonType: [{ type: core.Input }], + iconClass: [{ type: core.Input }], + loading: [{ type: core.Input }], + disabled: [{ type: core.Input }], + requestType: [{ type: core.Input }], + requestURLContainSearchValue: [{ type: core.Input }] + }; + return ButtonComponent; + }()); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var ANIMATION_TIMEOUT = 200; var ModalComponent = /** @class */ (function () { function ModalComponent(renderer, confirmationService) { this.renderer = renderer; this.confirmationService = confirmationService; - this.centered = true; + this.centered = false; this.modalClass = ''; this.size = 'lg'; this.visibleChange = new core.EventEmitter(); + this.init = new core.EventEmitter(); this._visible = false; - this.closable = false; + this._busy = false; + this.showModal = false; this.isOpenConfirmation = false; + this.closable = false; this.destroy$ = new rxjs.Subject(); } Object.defineProperty(ModalComponent.prototype, "visible", { @@ -415,11 +514,18 @@ */ function (value) { var _this = this; + if (typeof value !== 'boolean') + return; if (!this.modalContent) { - setTimeout((/** - * @return {?} - */ - function () { return (_this.visible = value); }), 0); + if (value) { + setTimeout((/** + * @return {?} + */ + function () { + _this.showModal = value; + _this.visible = value; + }), 0); + } return; } if (value) { @@ -434,14 +540,33 @@ */ function () { _this.setVisible(value); - _this.renderer.removeClass(_this.modalContent.nativeElement, 'fade-out-top'); _this.ngOnDestroy(); - }), 350); + }), ANIMATION_TIMEOUT - 10); } }, enumerable: true, configurable: true }); + Object.defineProperty(ModalComponent.prototype, "busy", { + get: /** + * @return {?} + */ + function () { + return this._busy; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) { + this.abpSubmit.loading = value; + } + this._busy = value; + }, + enumerable: true, + configurable: true + }); /** * @return {?} */ @@ -463,8 +588,9 @@ var _this = this; this._visible = value; this.visibleChange.emit(value); + this.showModal = value; value - ? rxjs.timer(500) + ? rxjs.timer(ANIMATION_TIMEOUT + 100) .pipe(operators.take(1)) .subscribe((/** * @param {?} _ @@ -481,31 +607,12 @@ */ function () { var _this = this; - rxjs.fromEvent(document, 'click') - .pipe(operators.debounceTime(350), operators.takeUntil(this.destroy$), operators.filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - return event && - _this.closable && - _this.modalContent && - !_this.isOpenConfirmation && - !_this.modalContent.nativeElement.contains(event.target); - }))) - .subscribe((/** - * @param {?} _ - * @return {?} - */ - function (_) { - _this.close(); - })); rxjs.fromEvent(document, 'keyup') - .pipe(operators.takeUntil(this.destroy$), operators.filter((/** + .pipe(operators.takeUntil(this.destroy$), operators.debounceTime(150), operators.filter((/** * @param {?} key * @return {?} */ - function (key) { return key && key.code === 'Escape' && _this.closable; })), operators.debounceTime(350)) + function (key) { return key && key.code === 'Escape' && _this.closable; }))) .subscribe((/** * @param {?} _ * @return {?} @@ -513,17 +620,23 @@ function (_) { _this.close(); })); - if (!this.abpClose) - return; - rxjs.fromEvent(this.abpClose.nativeElement, 'click') - .pipe(operators.takeUntil(this.destroy$), operators.filter((/** - * @return {?} - */ - function () { return !!(_this.closable && _this.modalContent); })), operators.debounceTime(350)) - .subscribe((/** + setTimeout((/** * @return {?} */ - function () { return _this.close(); })); + function () { + if (!_this.abpClose) + return; + rxjs.fromEvent(_this.abpClose.nativeElement, 'click') + .pipe(operators.takeUntil(_this.destroy$), operators.filter((/** + * @return {?} + */ + function () { return !!(_this.closable && _this.modalContent); }))) + .subscribe((/** + * @return {?} + */ + function () { return _this.close(); })); + }), 0); + this.init.emit(); }; /** * @return {?} @@ -533,6 +646,8 @@ */ function () { var _this = this; + if (!this.closable || this.busy) + return; /** @type {?} */ var nodes = getFlatNodes(((/** @type {?} */ (this.modalContent.nativeElement.querySelector('#abp-modal-body')))).childNodes); if (hasNgDirty(nodes)) { @@ -546,7 +661,7 @@ * @return {?} */ function (status) { - rxjs.timer(400).subscribe((/** + rxjs.timer(ANIMATION_TIMEOUT).subscribe((/** * @return {?} */ function () { @@ -564,7 +679,7 @@ ModalComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-modal', - template: "\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n \n\n \n\n" + template: "\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n" }] } ]; /** @nocollapse */ @@ -574,15 +689,21 @@ ]; }; ModalComponent.propDecorators = { visible: [{ type: core.Input }], + busy: [{ type: core.Input }], centered: [{ type: core.Input }], modalClass: [{ type: core.Input }], size: [{ type: core.Input }], + height: [{ type: core.Input }], + minHeight: [{ type: core.Input }], visibleChange: [{ type: core.Output }], + init: [{ type: core.Output }], abpHeader: [{ type: core.ContentChild, args: ['abpHeader', { static: false },] }], abpBody: [{ type: core.ContentChild, args: ['abpBody', { static: false },] }], abpFooter: [{ type: core.ContentChild, args: ['abpFooter', { static: false },] }], abpClose: [{ type: core.ContentChild, args: ['abpClose', { static: false, read: core.ElementRef },] }], - modalContent: [{ type: core.ViewChild, args: ['abpModalContent', { static: false },] }] + abpSubmit: [{ type: core.ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }], + modalContent: [{ type: core.ViewChild, args: ['abpModalContent', { static: false },] }], + abpButtons: [{ type: core.ViewChildren, args: ['abp-button',] }] }; return ModalComponent; }()); @@ -596,7 +717,7 @@ * @param {?} val * @return {?} */ - function (acc, val) { return __spread(acc, (val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])); }), []); + function (acc, val) { return __spread(acc, (val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])); }), []); } /** * @param {?} nodes @@ -630,7 +751,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1) { + return __assign({}, error, { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') }); + } + return error; + })); + }, + enumerable: true, + configurable: true + }); + ValidationErrorComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-validation-error', + template: "\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ", + changeDetection: core.ChangeDetectionStrategy.OnPush, + encapsulation: core.ViewEncapsulation.None + }] } + ]; + return ValidationErrorComponent; + }(core$1.ValidationErrorComponent)); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -861,16 +1028,45 @@ ngBootstrap.NgbModalModule, core$1.NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', + blueprints: { + email: "AbpAccount::ThisFieldIsNotAValidEmailAddress.", + max: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]", + maxlength: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]", + min: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", + minlength: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", + required: "AbpAccount::ThisFieldIsRequired.", + passwordMismatch: "AbpIdentity::Identity.PasswordConfirmationFailed", + }, + errorTemplate: ValidationErrorComponent, }), ], - declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent], - exports: [ngBootstrap.NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], - entryComponents: [ErrorComponent], + declarations: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + ErrorComponent, + LoaderBarComponent, + ValidationErrorComponent, + ], + exports: [ngBootstrap.NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], + entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; return ThemeSharedModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var slideFromBottom = animations.trigger('routeAnimations', [ + animations.state('void', animations.style({ 'margin-top': '20px', opacity: '0' })), + animations.state('*', animations.style({ 'margin-top': '0px', opacity: '1' })), + animations.transition(':enter', [animations.animate('0.2s ease-out', animations.style({ opacity: '1', 'margin-top': '0px' }))]), + ]); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -927,23 +1123,28 @@ ]; /** @nocollapse */ ToasterService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(core.ɵɵinject(messageservice.MessageService)); }, token: ToasterService, providedIn: "root" }); return ToasterService; - }(AbstractToasterClass)); + }(AbstractToaster)); + exports.ButtonComponent = ButtonComponent; exports.ConfirmationComponent = ConfirmationComponent; exports.ConfirmationService = ConfirmationService; + exports.LoaderBarComponent = LoaderBarComponent; exports.ModalComponent = ModalComponent; exports.ThemeSharedModule = ThemeSharedModule; exports.ToastComponent = ToastComponent; exports.ToasterService = ToasterService; exports.appendScript = appendScript; - exports.ɵa = ConfirmationComponent; - exports.ɵb = ConfirmationService; - exports.ɵc = AbstractToasterClass; - exports.ɵd = ToastComponent; - exports.ɵe = ModalComponent; - exports.ɵf = ErrorComponent; - exports.ɵg = LoaderBarComponent; - exports.ɵh = ErrorHandler; + exports.slideFromBottom = slideFromBottom; + exports.ɵa = ValidationErrorComponent; + exports.ɵb = ButtonComponent; + exports.ɵc = ConfirmationComponent; + exports.ɵd = ConfirmationService; + exports.ɵe = AbstractToaster; + exports.ɵf = ToastComponent; + exports.ɵg = ModalComponent; + exports.ɵh = ErrorComponent; + exports.ɵi = LoaderBarComponent; + exports.ɵj = ErrorHandler; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map index 6888837114..8888db2725 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToasterClass {\n protected status$: Subject;\n\n protected key: string = 'abpToast';\n\n protected sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToasterClass {\n protected key: string = 'abpConfirmation';\n\n protected sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { LoaderStart, LoaderStop } from '@abp/ng.core';\nimport { filter } from 'rxjs/operators';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: LoaderStart | LoaderStop) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(LoaderStart, LoaderStop),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof LoaderStart) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { debounceTime, filter, take, takeUntil } from 'rxjs/operators';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (!this.modalContent) {\n setTimeout(() => (this.visible = value), 0);\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top');\n this.ngOnDestroy();\n }, 350);\n }\n }\n\n @Input() centered: boolean = true;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Output() visibleChange = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n _visible: boolean = false;\n\n closable: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n value\n ? timer(500)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'click')\n .pipe(\n debounceTime(350),\n takeUntil(this.destroy$),\n filter(\n (event: MouseEvent) =>\n event &&\n this.closable &&\n this.modalContent &&\n !this.isOpenConfirmation &&\n !this.modalContent.nativeElement.contains(event.target),\n ),\n )\n .subscribe(_ => {\n this.close();\n });\n\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n debounceTime(350),\n )\n .subscribe(_ => {\n this.close();\n });\n\n if (!this.abpClose) return;\n\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n debounceTime(350),\n )\n .subscribe(() => this.close());\n }\n\n close() {\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(400).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = (err as HttpErrorResponse).error.error;\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'Sorry, an error has occured.',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'Sorry, an error has occured.',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n }),\n ],\n declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent],\n exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToasterClass {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","LoaderStart","LoaderStop","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","debounceTime","takeUntil","Renderer2","Output","ContentChild","ElementRef","ViewChild","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","Toaster"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js index 82d7a2ec07..e43513aaea 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@ngxs/store"),require("@angular/router"),require("@ngxs/router-plugin")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@ngxs/store","@angular/router","@ngxs/router-plugin"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.store,e.ng.router,e.routerPlugin)}(this,function(e,t,n,o,r,i,s,a,c,l,p,d){"use strict";var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function f(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)s.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return s}var h=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(m({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new a.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}(),b=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return f(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(h),y=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:b}]},e}(),v=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}(),C=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(l.ofActionSuccessful(t.LoaderStart,t.LoaderStop),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.LoaderStart?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof p.NavigationStart||e instanceof p.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof p.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:l.Actions},{type:p.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}(),k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!0,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this._visible=!1,this.closable=!1,this.isOpenConfirmation=!1,this.destroy$=new a.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.renderer.removeClass(t.modalContent.nativeElement,"fade-out-top"),t.ngOnDestroy()},350)):setTimeout(function(){return t.visible=e},0)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),e?a.timer(500).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;a.fromEvent(document,"click").pipe(c.debounceTime(350),c.takeUntil(this.destroy$),c.filter(function(t){return t&&e.closable&&e.modalContent&&!e.isOpenConfirmation&&!e.modalContent.nativeElement.contains(t.target)})).subscribe(function(t){e.close()}),a.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.filter(function(t){return t&&"Escape"===t.code&&e.closable}),c.debounceTime(350)).subscribe(function(t){e.close()}),this.abpClose&&a.fromEvent(this.abpClose.nativeElement,"click").pipe(c.takeUntil(this.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)}),c.debounceTime(350)).subscribe(function(){return e.close()})},e.prototype.close=function(){var e=this;if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function(e){return Array.from(e).reduce(function(e,t){return function(){for(var e=[],t=0;t\n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:b}]},e.propDecorators={visible:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],visibleChange:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}]},e}();var w=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),x="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* 0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}(),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y),C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}(),w=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}(),L=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}(),x=function(){function e(e){this.actions=e,this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;(this.requestType||this.requestURLContainSearchValue)&&this.actions.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(function(t){var n=!0;return e.requestType&&(Array.isArray(e.requestType)||(e.requestType=[e.requestType]),n=n&&e.requestType.findIndex(function(e){return e.toLowerCase()===t.payload.method.toLowerCase()})>-1),n&&e.requestURLContainSearchValue&&(n=n&&t.payload.url.toLowerCase().indexOf(e.requestURLContainSearchValue.toLowerCase())>-1),n})).subscribe(function(){setTimeout(function(){e.loading=!e.loading},0)})},e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.ctorParameters=function(){return[{type:p.Actions}]},e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}],requestType:[{type:n.Input}],requestURLContainSearchValue:[{type:n.Input}]},e}(),I=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof x&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[x,{static:!1,read:x}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),S="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",S,"head","afterbegin")).pipe(c.take(1))}}var j,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,E],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:T})],declarations:[x,C,A,I,w,L,T],exports:[o.NgbModalModule,x,C,A,I,L],entryComponents:[w,T]}]}],e}(),q=f.trigger("routeAnimations",[f.state("void",f.style({"margin-top":"20px",opacity:"0"})),f.state("*",f.style({"margin-top":"0px",opacity:"1"})),f.transition(":enter",[f.animate("0.2s ease-out",f.style({opacity:"1","margin-top":"0px"}))])]);!function(e){e.Options=function(){}}(j||(j={})),(e.Toaster||(e.Toaster={})).Options=function(){};var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=x,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=L,e.ModalComponent=I,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=q,e.ɵa=T,e.ɵb=x,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=I,e.ɵh=w,e.ɵi=L,e.ɵj=E,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.shared.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map index df359f93c3..e64d2cfe0f 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToasterClass","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","LoaderStart","LoaderStop","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","_visible","closable","isOpenConfirmation","destroy$","defineProperty","modalContent","setVisible","listen","addClass","removeClass","visible","emit","timer","take","_","fromEvent","document","debounceTime","takeUntil","contains","target","code","abpClose","nodes","findIndex","node","className","hasNgDirty","from","reduce","acc","val","concat","__spread","childNodes","getFlatNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","declarations","exports","entryComponents","Toaster","ToasterService","addAll","messages","map"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToasterClass {\n protected status$: Subject;\n\n protected key: string = 'abpToast';\n\n protected sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToasterClass {\n protected key: string = 'abpConfirmation';\n\n protected sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { LoaderStart, LoaderStop } from '@abp/ng.core';\nimport { filter } from 'rxjs/operators';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: LoaderStart | LoaderStop) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(LoaderStart, LoaderStop),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof LoaderStart) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { debounceTime, filter, take, takeUntil } from 'rxjs/operators';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (!this.modalContent) {\n setTimeout(() => (this.visible = value), 0);\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top');\n this.ngOnDestroy();\n }, 350);\n }\n }\n\n @Input() centered: boolean = true;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Output() visibleChange = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n _visible: boolean = false;\n\n closable: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n value\n ? timer(500)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'click')\n .pipe(\n debounceTime(350),\n takeUntil(this.destroy$),\n filter(\n (event: MouseEvent) =>\n event &&\n this.closable &&\n this.modalContent &&\n !this.isOpenConfirmation &&\n !this.modalContent.nativeElement.contains(event.target),\n ),\n )\n .subscribe(_ => {\n this.close();\n });\n\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n debounceTime(350),\n )\n .subscribe(_ => {\n this.close();\n });\n\n if (!this.abpClose) return;\n\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n debounceTime(350),\n )\n .subscribe(() => this.close());\n }\n\n close() {\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(400).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = (err as HttpErrorResponse).error.error;\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'Sorry, an error has occured.',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'Sorry, an error has occured.',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n }),\n ],\n declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent],\n exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToasterClass {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ngOnInit","requestType","requestURLContainSearchValue","condition","isArray","findIndex","type","toLowerCase","method","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Toaster","ToasterService","addAll","messages"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js index e355417f47..cbcb2c5c65 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js @@ -5,13 +5,15 @@ /** * Generated bundle index. Do not edit. */ -export { appendScript, ThemeSharedModule, ConfirmationComponent, ToastComponent, ModalComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; -export { AbstractToasterClass as ɵc } from './lib/abstracts/toaster'; -export { ConfirmationComponent as ɵa } from './lib/components/confirmation/confirmation.component'; -export { ErrorComponent as ɵf } from './lib/components/errors/error.component'; -export { LoaderBarComponent as ɵg } from './lib/components/loader-bar/loader-bar.component'; -export { ModalComponent as ɵe } from './lib/components/modal/modal.component'; -export { ToastComponent as ɵd } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵh } from './lib/handlers/error.handler'; -export { ConfirmationService as ɵb } from './lib/services/confirmation.service'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUpBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0Fic3RyYWN0VG9hc3RlckNsYXNzIGFzIMm1Y30gZnJvbSAnLi9saWIvYWJzdHJhY3RzL3RvYXN0ZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2FkZXJCYXJDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RhbENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB7VG9hc3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Vycm9ySGFuZGxlciBhcyDJtWh9IGZyb20gJy4vbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnOyJdfQ== \ No newline at end of file +export { appendScript, ThemeSharedModule, slideFromBottom, ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; +export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; +export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; +export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; +export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; +export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; +export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdFRvYXN0ZXIgYXMgybVlfSBmcm9tICcuL2xpYi9hYnN0cmFjdHMvdG9hc3Rlcic7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtUb2FzdENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JIYW5kbGVyIGFzIMm1an0gZnJvbSAnLi9saWIvaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5leHBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js index 20bcdff046..fa064768bb 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js @@ -6,7 +6,7 @@ import { Subject } from 'rxjs'; /** * @template T */ -export class AbstractToasterClass { +export class AbstractToaster { /** * @param {?} messageService */ @@ -76,25 +76,16 @@ export class AbstractToasterClass { } } if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; /** * @type {?} * @protected */ - AbstractToasterClass.prototype.status$; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.key; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.sticky; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.messageService; + AbstractToaster.prototype.messageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxvQkFBb0I7Ozs7SUFPL0IsWUFBc0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSjFDLFFBQUcsR0FBVyxVQUFVLENBQUM7UUFFekIsV0FBTSxHQUFZLEtBQUssQ0FBQztJQUVxQixDQUFDOzs7Ozs7O0lBQ3hELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQVc7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7Ozs7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7O0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBVztRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Ozs7OztJQUVELEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQVc7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7Ozs7Ozs7OztJQUVTLElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLFFBQTBCLEVBQUUsT0FBVztRQUNwRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGlCQUNyQixRQUFRLEVBQ1IsTUFBTSxFQUFFLE9BQU8sRUFDZixPQUFPLEVBQUUsS0FBSyxJQUNYLE9BQU8sSUFDVixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFDVixDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxtQkFBQSxFQUFFLEVBQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFdBQVcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFDdEYsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsS0FBSyxDQUFDLE1BQXVCO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLDJCQUEwQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7Ozs7OztJQTNDQyx1Q0FBMkM7Ozs7O0lBRTNDLG1DQUFtQzs7Ozs7SUFFbkMsc0NBQWtDOzs7OztJQUV0Qiw4Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VG9hc3RlckNsYXNzPFQgPSBUb2FzdGVyLk9wdGlvbnM+IHtcbiAgcHJvdGVjdGVkIHN0YXR1cyQ6IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+O1xuXG4gIHByb3RlY3RlZCBrZXk6IHN0cmluZyA9ICdhYnBUb2FzdCc7XG5cbiAgcHJvdGVjdGVkIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIG9wdGlvbnMpO1xuICB9XG5cbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdzdWNjZXNzJywgb3B0aW9ucyk7XG4gIH1cblxuICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm4nLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHNldmVyaXR5OiBUb2FzdGVyLlNldmVyaXR5LCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcblxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5LFxuICAgICAgZGV0YWlsOiBtZXNzYWdlLFxuICAgICAgc3VtbWFyeTogdGl0bGUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgIC4uLih0eXBlb2YgKG9wdGlvbnMgfHwgKHt9IGFzIGFueSkpLnN0aWNreSA9PT0gJ3VuZGVmaW5lZCcgJiYgeyBzdGlja3k6IHRoaXMuc3RpY2t5IH0pLFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFRvYXN0ZXIuU3RhdHVzPigpO1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyQ7XG4gIH1cblxuICBjbGVhcihzdGF0dXM/OiBUb2FzdGVyLlN0YXR1cykge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIodGhpcy5rZXkpO1xuICAgIHRoaXMuc3RhdHVzJC5uZXh0KHN0YXR1cyB8fCBUb2FzdGVyLlN0YXR1cy5kaXNtaXNzKTtcbiAgICB0aGlzLnN0YXR1cyQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQXNCLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpwRCxRQUFHLEdBQVcsVUFBVSxDQUFDO1FBRXpCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFFK0IsQ0FBQzs7Ozs7OztJQUN4RCxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7OztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQVc7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7Ozs7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxRQUEwQixFQUFFLE9BQVc7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFDckIsUUFBUSxFQUNSLE1BQU0sRUFBRSxPQUFPLEVBQ2YsT0FBTyxFQUFFLEtBQUssSUFDWCxPQUFPLElBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQ1YsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQ3RGLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxNQUF1QjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSwyQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGOzs7SUEzQ0Msa0NBQWlDOztJQUVqQyw4QkFBeUI7O0lBRXpCLGlDQUF3Qjs7Ozs7SUFFWix5Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VG9hc3RlcjxUID0gVG9hc3Rlci5PcHRpb25zPiB7XG4gIHN0YXR1cyQ6IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+O1xuXG4gIGtleTogc3RyaW5nID0gJ2FicFRvYXN0JztcblxuICBzdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7fVxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2luZm8nLCBvcHRpb25zKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xuICB9XG5cbiAgd2FybihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICd3YXJuJywgb3B0aW9ucyk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdlcnJvcicsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3cobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBzZXZlcml0eTogVG9hc3Rlci5TZXZlcml0eSwgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLmtleSk7XG5cbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICBzZXZlcml0eSxcbiAgICAgIGRldGFpbDogbWVzc2FnZSxcbiAgICAgIHN1bW1hcnk6IHRpdGxlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAuLi4odHlwZW9mIChvcHRpb25zIHx8ICh7fSBhcyBhbnkpKS5zdGlja3kgPT09ICd1bmRlZmluZWQnICYmIHsgc3RpY2t5OiB0aGlzLnN0aWNreSB9KSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YXR1cyQgPSBuZXcgU3ViamVjdDxUb2FzdGVyLlN0YXR1cz4oKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMkO1xuICB9XG5cbiAgY2xlYXIoc3RhdHVzPzogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcbiAgICB0aGlzLnN0YXR1cyQubmV4dChzdGF0dXMgfHwgVG9hc3Rlci5TdGF0dXMuZGlzbWlzcyk7XG4gICAgdGhpcy5zdGF0dXMkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js new file mode 100644 index 0000000000..6945f98905 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { slideFromBottom } from './slide.animation'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9uJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js new file mode 100644 index 0000000000..2b4b9c1e4f --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export const slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9zbGlkZS5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFTLE1BQU0scUJBQXFCLENBQUM7O0FBQ3hGLE1BQU0sT0FBTyxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3hELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1RCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgcXVlcnkgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmV4cG9ydCBjb25zdCBzbGlkZUZyb21Cb3R0b20gPSB0cmlnZ2VyKCdyb3V0ZUFuaW1hdGlvbnMnLCBbXG4gIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcyMHB4Jywgb3BhY2l0eTogJzAnIH0pKSxcbiAgc3RhdGUoJyonLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzBweCcsIG9wYWNpdHk6ICcxJyB9KSksXG4gIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMScsICdtYXJnaW4tdG9wJzogJzBweCcgfSkpXSksXG5dKTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js new file mode 100644 index 0000000000..1972d1e12b --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js @@ -0,0 +1,115 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { StartLoader, StopLoader } from '@abp/ng.core'; +import { Component, Input } from '@angular/core'; +import { Actions, ofActionSuccessful } from '@ngxs/store'; +import { filter } from 'rxjs/operators'; +export class ButtonComponent { + /** + * @param {?} actions + */ + constructor(actions) { + this.actions = actions; + this.buttonClass = 'btn btn-primary'; + this.buttonType = 'button'; + this.loading = false; + this.disabled = false; + } + /** + * @return {?} + */ + get icon() { + return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; + } + /** + * @return {?} + */ + ngOnInit() { + if (this.requestType || this.requestURLContainSearchValue) { + this.actions + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** + * @param {?} event + * @return {?} + */ + (event) => { + /** @type {?} */ + let condition = true; + if (this.requestType) { + if (!Array.isArray(this.requestType)) + this.requestType = [this.requestType]; + condition = + condition && + this.requestType.findIndex((/** + * @param {?} type + * @return {?} + */ + type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; + } + if (condition && this.requestURLContainSearchValue) { + condition = + condition && + event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; + } + return condition; + }))) + .subscribe((/** + * @return {?} + */ + () => { + setTimeout((/** + * @return {?} + */ + () => { + this.loading = !this.loading; + }), 0); + })); + } + } +} +ButtonComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-button', + template: ` + + ` + }] } +]; +/** @nocollapse */ +ButtonComponent.ctorParameters = () => [ + { type: Actions } +]; +ButtonComponent.propDecorators = { + buttonClass: [{ type: Input }], + buttonType: [{ type: Input }], + iconClass: [{ type: Input }], + loading: [{ type: Input }], + disabled: [{ type: Input }], + requestType: [{ type: Input }], + requestURLContainSearchValue: [{ type: Input }] +}; +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; + /** @type {?} */ + ButtonComponent.prototype.requestType; + /** @type {?} */ + ButtonComponent.prototype.requestURLContainSearchValue; + /** + * @type {?} + * @private + */ + ButtonComponent.prototype.actions; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVXhDLE1BQU0sT0FBTyxlQUFlOzs7O0lBMEIxQixZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQzs7OztJQUp4QyxJQUFJLElBQUk7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7SUFDbEYsQ0FBQzs7OztJQUlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPO2lCQUNULElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLE1BQU07Ozs7WUFBQyxDQUFDLEtBQStCLEVBQUUsRUFBRTs7b0JBQ3JDLFNBQVMsR0FBRyxJQUFJO2dCQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7d0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFNUUsU0FBUzt3QkFDUCxTQUFTOzRCQUNULElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7Ozs0QkFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN0RztnQkFFRCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ2xELFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pHO2dCQUVELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsRUFBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDZCxVQUFVOzs7Z0JBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMvQixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDLEVBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7O0dBSVQ7YUFDRjs7OztZQVZRLE9BQU87OzswQkFZYixLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzsyQ0FHTCxLQUFLOzs7O0lBbEJOLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/error.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/error.component.js index 53d41c0ad3..c05c44244a 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/error.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/error.component.js @@ -27,14 +27,14 @@ ErrorComponent.decorators = [

    - {{ title }} + {{ title | abpLocalization }}

    - {{ details }} + {{ details | abpLocalization }}
    @@ -57,4 +57,4 @@ if (false) { /** @type {?} */ ErrorComponent.prototype.host; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lcnJvcnMvZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQThCakUsTUFBTSxPQUFPLGNBQWM7SUE1QjNCO1FBNkJFLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFaEIsWUFBTyxHQUFHLDhCQUE4QixDQUFDO0lBVzNDLENBQUM7Ozs7SUFIQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OztZQXpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7O2FBRUY7Ozs7SUFFQywrQkFBZ0I7O0lBRWhCLGlDQUF5Qzs7SUFFekMsa0NBQW9COztJQUVwQixvQ0FBdUI7O0lBRXZCLDhCQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhYnAtY2xvc2UtYnV0dG9uIG1yLTJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJkZXN0cm95KClcIj5cbiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBjZW50ZXJlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLXRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8aDE+XG4gICAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAge3sgZGV0YWlscyB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8YSByb3V0ZXJMaW5rPVwiL1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1tZCBtdC0yXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLWhvbWVcIj48L3NwYW4+IFRha2UgbWUgaG9tZVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJ2Vycm9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IHtcbiAgdGl0bGUgPSAnT29wcyEnO1xuXG4gIGRldGFpbHMgPSAnU29ycnksIGFuIGVycm9yIGhhcyBvY2N1cmVkLic7XG5cbiAgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGhvc3Q6IGFueTtcblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5ob3N0LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lcnJvcnMvZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQThCakUsTUFBTSxPQUFPLGNBQWM7SUE1QjNCO1FBNkJFLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFaEIsWUFBTyxHQUFHLDhCQUE4QixDQUFDO0lBVzNDLENBQUM7Ozs7SUFIQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OztZQXpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7O2FBRUY7Ozs7SUFFQywrQkFBZ0I7O0lBRWhCLGlDQUF5Qzs7SUFFekMsa0NBQW9COztJQUVwQixvQ0FBdUI7O0lBRXZCLDhCQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhYnAtY2xvc2UtYnV0dG9uIG1yLTJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJkZXN0cm95KClcIj5cbiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBjZW50ZXJlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLXRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8aDE+XG4gICAgICAgICAgICAgIHt7IHRpdGxlIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAge3sgZGV0YWlscyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwiZGVzdHJveSgpXCIgcm91dGVyTGluaz1cIi9cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tbWQgbXQtMlwiXG4gICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1ob21lXCI+PC9zcGFuPiB7eyAnOjpNZW51OkhvbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnZXJyb3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQge1xuICB0aXRsZSA9ICdPb3BzISc7XG5cbiAgZGV0YWlscyA9ICdTb3JyeSwgYW4gZXJyb3IgaGFzIG9jY3VyZWQuJztcblxuICByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgaG9zdDogYW55O1xuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmhvc3QsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js new file mode 100644 index 0000000000..c3db3d063a --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js @@ -0,0 +1,40 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core'; +export class ValidationErrorComponent extends ErrorComponent { + /** + * @return {?} + */ + get abpErrors() { + return this.validationErrors.map((/** + * @param {?} error + * @return {?} + */ + error => { + if (!error.message) + return error; + /** @type {?} */ + const index = error.message.indexOf('['); + if (index > -1) { + return Object.assign({}, error, { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') }); + } + return error; + })); + } +} +ValidationErrorComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-validation-error', + template: ` +
    + {{ error.message | abpLocalization: error.interpoliteParams }} +
    + `, + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None + }] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQWMsd0JBQXdCLElBQUksY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFZNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7Ozs7SUFDMUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxPQUFPLEtBQUssQ0FBQzs7a0JBRTNCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFFeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QseUJBQ0ssS0FBSyxJQUNSLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUN0RjthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7O0dBSVQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb24sIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBhcyBFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC12YWxpZGF0aW9uLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhYnBFcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAge3sgZXJyb3IubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogZXJyb3IuaW50ZXJwb2xpdGVQYXJhbXMgfX1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBleHRlbmRzIEVycm9yQ29tcG9uZW50IHtcbiAgZ2V0IGFicEVycm9ycygpOiBWYWxpZGF0aW9uLkVycm9yW10gJiB7IGludGVycG9saXRlUGFyYW1zPzogc3RyaW5nW10gfSB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbkVycm9ycy5tYXAoZXJyb3IgPT4ge1xuICAgICAgaWYgKCFlcnJvci5tZXNzYWdlKSByZXR1cm4gZXJyb3I7XG5cbiAgICAgIGNvbnN0IGluZGV4ID0gZXJyb3IubWVzc2FnZS5pbmRleE9mKCdbJyk7XG5cbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZXJyb3IsXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZS5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgaW50ZXJwb2xpdGVQYXJhbXM6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoaW5kZXggKyAxLCBlcnJvci5tZXNzYWdlLmxlbmd0aCAtIDEpLnNwbGl0KCcsJyksXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js index c5ead0704c..ef830217e2 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js @@ -2,7 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { ButtonComponent } from './button/button.component'; export { ConfirmationComponent } from './confirmation/confirmation.component'; -export { ToastComponent } from './toast/toast.component'; +export { LoaderBarComponent } from './loader-bar/loader-bar.component'; export { ModalComponent } from './modal/modal.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file +export { ToastComponent } from './toast/toast.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js index 5e997731b1..30129eeed6 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js @@ -2,12 +2,12 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; +import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { takeUntilDestroy } from '@ngx-validate/core'; import { Actions, ofActionSuccessful } from '@ngxs/store'; -import { LoaderStart, LoaderStop } from '@abp/ng.core'; import { filter } from 'rxjs/operators'; -import { Router, NavigationStart, NavigationEnd } from '@angular/router'; -import { takeUntilDestroy } from '@ngx-validate/core'; export class LoaderBarComponent { /** * @param {?} actions @@ -26,13 +26,13 @@ export class LoaderBarComponent { (action) => action.payload.url.indexOf('openid-configuration') < 0); this.progressLevel = 0; actions - .pipe(ofActionSuccessful(LoaderStart, LoaderStop), filter(this.filter), takeUntilDestroy(this)) + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter(this.filter), takeUntilDestroy(this)) .subscribe((/** * @param {?} action * @return {?} */ action => { - if (action instanceof LoaderStart) + if (action instanceof StartLoader) this.startLoading(); else this.stopLoading(); @@ -144,4 +144,4 @@ if (false) { */ LoaderBarComponent.prototype.router; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBV3RELE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBaUI3QixZQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmNUQsbUJBQWMsR0FBVyxnQkFBZ0IsQ0FBQztRQUcxQyxrQkFBYSxHQUFXLGNBQWMsQ0FBQztRQUd2QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLFdBQU07Ozs7UUFBRyxDQUFDLE1BQWdDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7OztJQUVoQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O2NBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQzFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsR0FBRSxHQUFHLENBQUM7UUFFUCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsV0FBVztRQUNULGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBNUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRjs7OztZQWRRLE9BQU87WUFHUCxNQUFNOzs7NkJBYVosS0FBSzs0QkFHTCxLQUFLO3dCQUdMLEtBQUs7cUJBR0wsS0FBSzs7OztJQVROLDRDQUMwQzs7SUFFMUMsMkNBQ3VDOztJQUV2Qyx1Q0FDMkI7O0lBRTNCLG9DQUNzRzs7SUFFdEcsMkNBQTBCOztJQUUxQixzQ0FBYzs7Ozs7SUFFRixxQ0FBd0I7Ozs7O0lBQUUsb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExvYWRlclN0YXJ0LCBMb2FkZXJTdG9wIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9hZGVyLWJhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cImFicC1sb2FkZXItYmFyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwicHJvZ3Jlc3NDbGFzc1wiIFtzdHlsZS53aWR0aC52d109XCJwcm9ncmVzc0xldmVsXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlci1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgY29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICdhYnAtbG9hZGVyLWJhcic7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NDbGFzczogc3RyaW5nID0gJ2FicC1wcm9ncmVzcyc7XG5cbiAgQElucHV0KClcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyID0gKGFjdGlvbjogTG9hZGVyU3RhcnQgfCBMb2FkZXJTdG9wKSA9PiBhY3Rpb24ucGF5bG9hZC51cmwuaW5kZXhPZignb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSA8IDA7XG5cbiAgcHJvZ3Jlc3NMZXZlbDogbnVtYmVyID0gMDtcblxuICBpbnRlcnZhbDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIGFjdGlvbnNcbiAgICAgIC5waXBlKFxuICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoTG9hZGVyU3RhcnQsIExvYWRlclN0b3ApLFxuICAgICAgICBmaWx0ZXIodGhpcy5maWx0ZXIpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoYWN0aW9uIGluc3RhbmNlb2YgTG9hZGVyU3RhcnQpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgfSk7XG5cbiAgICByb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIHN0YXJ0TG9hZGluZygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgNzUpIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IE1hdGgucmFuZG9tKCkgKiAxMDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgOTApIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuNDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgMTAwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAzMDApO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IGludGVydmFsO1xuICB9XG5cbiAgc3RvcExvYWRpbmcoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAxMDA7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcbiAgICB9LCA4MDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV3hDLE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBaUI3QixZQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmNUQsbUJBQWMsR0FBVyxnQkFBZ0IsQ0FBQztRQUcxQyxrQkFBYSxHQUFXLGNBQWMsQ0FBQztRQUd2QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLFdBQU07Ozs7UUFBRyxDQUFDLE1BQWdDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7OztJQUVoQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O2NBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQzFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsR0FBRSxHQUFHLENBQUM7UUFFUCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsV0FBVztRQUNULGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBNUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRjs7OztZQVhRLE9BQU87WUFGeUIsTUFBTTs7OzZCQWU1QyxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSztxQkFHTCxLQUFLOzs7O0lBVE4sNENBQzBDOztJQUUxQywyQ0FDdUM7O0lBRXZDLHVDQUMyQjs7SUFFM0Isb0NBQ3NHOztJQUV0RywyQ0FBMEI7O0lBRTFCLHNDQUFjOzs7OztJQUVGLHFDQUF3Qjs7Ozs7SUFBRSxvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFydExvYWRlciwgU3RvcExvYWRlciB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZBY3Rpb25TdWNjZXNzZnVsIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9hZGVyLWJhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cImFicC1sb2FkZXItYmFyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwicHJvZ3Jlc3NDbGFzc1wiIFtzdHlsZS53aWR0aC52d109XCJwcm9ncmVzc0xldmVsXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlci1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgY29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICdhYnAtbG9hZGVyLWJhcic7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NDbGFzczogc3RyaW5nID0gJ2FicC1wcm9ncmVzcyc7XG5cbiAgQElucHV0KClcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyID0gKGFjdGlvbjogU3RhcnRMb2FkZXIgfCBTdG9wTG9hZGVyKSA9PiBhY3Rpb24ucGF5bG9hZC51cmwuaW5kZXhPZignb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSA8IDA7XG5cbiAgcHJvZ3Jlc3NMZXZlbDogbnVtYmVyID0gMDtcblxuICBpbnRlcnZhbDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIGFjdGlvbnNcbiAgICAgIC5waXBlKFxuICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICBmaWx0ZXIodGhpcy5maWx0ZXIpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoYWN0aW9uIGluc3RhbmNlb2YgU3RhcnRMb2FkZXIpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgfSk7XG5cbiAgICByb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIHN0YXJ0TG9hZGluZygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgNzUpIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IE1hdGgucmFuZG9tKCkgKiAxMDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgOTApIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuNDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgMTAwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAzMDApO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IGludGVydmFsO1xuICB9XG5cbiAgc3RvcExvYWRpbmcoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAxMDA7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcbiAgICB9LCA4MDApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/modal/modal.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/modal/modal.component.js index 15e1a94f42..a36b653afa 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/modal/modal.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/modal/modal.component.js @@ -2,10 +2,13 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, } from '@angular/core'; +import { Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; import { fromEvent, Subject, timer } from 'rxjs'; -import { debounceTime, filter, take, takeUntil } from 'rxjs/operators'; +import { filter, take, takeUntil, debounceTime } from 'rxjs/operators'; import { ConfirmationService } from '../../services/confirmation.service'; +import { ButtonComponent } from '../button/button.component'; +/** @type {?} */ +const ANIMATION_TIMEOUT = 200; export class ModalComponent { /** * @param {?} renderer @@ -14,13 +17,16 @@ export class ModalComponent { constructor(renderer, confirmationService) { this.renderer = renderer; this.confirmationService = confirmationService; - this.centered = true; + this.centered = false; this.modalClass = ''; this.size = 'lg'; this.visibleChange = new EventEmitter(); + this.init = new EventEmitter(); this._visible = false; - this.closable = false; + this._busy = false; + this.showModal = false; this.isOpenConfirmation = false; + this.closable = false; this.destroy$ = new Subject(); } /** @@ -34,11 +40,18 @@ export class ModalComponent { * @return {?} */ set visible(value) { + if (typeof value !== 'boolean') + return; if (!this.modalContent) { - setTimeout((/** - * @return {?} - */ - () => (this.visible = value)), 0); + if (value) { + setTimeout((/** + * @return {?} + */ + () => { + this.showModal = value; + this.visible = value; + }), 0); + } return; } if (value) { @@ -53,10 +66,25 @@ export class ModalComponent { */ () => { this.setVisible(value); - this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top'); this.ngOnDestroy(); - }), 350); + }), ANIMATION_TIMEOUT - 10); + } + } + /** + * @return {?} + */ + get busy() { + return this._busy; + } + /** + * @param {?} value + * @return {?} + */ + set busy(value) { + if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) { + this.abpSubmit.loading = value; } + this._busy = value; } /** * @return {?} @@ -71,8 +99,9 @@ export class ModalComponent { setVisible(value) { this._visible = value; this.visibleChange.emit(value); + this.showModal = value; value - ? timer(500) + ? timer(ANIMATION_TIMEOUT + 100) .pipe(take(1)) .subscribe((/** * @param {?} _ @@ -85,29 +114,12 @@ export class ModalComponent { * @return {?} */ listen() { - fromEvent(document, 'click') - .pipe(debounceTime(350), takeUntil(this.destroy$), filter((/** - * @param {?} event - * @return {?} - */ - (event) => event && - this.closable && - this.modalContent && - !this.isOpenConfirmation && - !this.modalContent.nativeElement.contains(event.target)))) - .subscribe((/** - * @param {?} _ - * @return {?} - */ - _ => { - this.close(); - })); fromEvent(document, 'keyup') - .pipe(takeUntil(this.destroy$), filter((/** + .pipe(takeUntil(this.destroy$), debounceTime(150), filter((/** * @param {?} key * @return {?} */ - (key) => key && key.code === 'Escape' && this.closable)), debounceTime(350)) + (key) => key && key.code === 'Escape' && this.closable))) .subscribe((/** * @param {?} _ * @return {?} @@ -115,22 +127,30 @@ export class ModalComponent { _ => { this.close(); })); - if (!this.abpClose) - return; - fromEvent(this.abpClose.nativeElement, 'click') - .pipe(takeUntil(this.destroy$), filter((/** - * @return {?} - */ - () => !!(this.closable && this.modalContent))), debounceTime(350)) - .subscribe((/** + setTimeout((/** * @return {?} */ - () => this.close())); + () => { + if (!this.abpClose) + return; + fromEvent(this.abpClose.nativeElement, 'click') + .pipe(takeUntil(this.destroy$), filter((/** + * @return {?} + */ + () => !!(this.closable && this.modalContent)))) + .subscribe((/** + * @return {?} + */ + () => this.close())); + }), 0); + this.init.emit(); } /** * @return {?} */ close() { + if (!this.closable || this.busy) + return; /** @type {?} */ const nodes = getFlatNodes(((/** @type {?} */ (this.modalContent.nativeElement.querySelector('#abp-modal-body')))).childNodes); if (hasNgDirty(nodes)) { @@ -144,7 +164,7 @@ export class ModalComponent { * @return {?} */ (status) => { - timer(400).subscribe((/** + timer(ANIMATION_TIMEOUT).subscribe((/** * @return {?} */ () => { @@ -163,7 +183,7 @@ export class ModalComponent { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'abp-modal', - template: "\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n
    \n\n \n\n" + template: "\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n" }] } ]; /** @nocollapse */ @@ -173,15 +193,21 @@ ModalComponent.ctorParameters = () => [ ]; ModalComponent.propDecorators = { visible: [{ type: Input }], + busy: [{ type: Input }], centered: [{ type: Input }], modalClass: [{ type: Input }], size: [{ type: Input }], + height: [{ type: Input }], + minHeight: [{ type: Input }], visibleChange: [{ type: Output }], + init: [{ type: Output }], abpHeader: [{ type: ContentChild, args: ['abpHeader', { static: false },] }], abpBody: [{ type: ContentChild, args: ['abpBody', { static: false },] }], abpFooter: [{ type: ContentChild, args: ['abpFooter', { static: false },] }], abpClose: [{ type: ContentChild, args: ['abpClose', { static: false, read: ElementRef },] }], - modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }] + abpSubmit: [{ type: ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }], + modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], + abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; if (false) { /** @type {?} */ @@ -191,8 +217,14 @@ if (false) { /** @type {?} */ ModalComponent.prototype.size; /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ ModalComponent.prototype.visibleChange; /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ ModalComponent.prototype.abpHeader; /** @type {?} */ ModalComponent.prototype.abpBody; @@ -201,14 +233,22 @@ if (false) { /** @type {?} */ ModalComponent.prototype.abpClose; /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ ModalComponent.prototype.modalContent; /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ ModalComponent.prototype._visible; /** @type {?} */ - ModalComponent.prototype.closable; + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; /** @type {?} */ ModalComponent.prototype.isOpenConfirmation; /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ ModalComponent.prototype.destroy$; /** * @type {?} @@ -231,7 +271,7 @@ function getFlatNodes(nodes) { * @param {?} val * @return {?} */ - (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])]), []); + (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])]), []); } /** * @param {?} nodes @@ -244,4 +284,4 @@ function hasNgDirty(nodes) { */ node => (node.className || '').indexOf('ng-dirty') > -1)) > -1; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBUzFFLE1BQU0sT0FBTyxjQUFjOzs7OztJQW1EekIsWUFBb0IsUUFBbUIsRUFBVSxtQkFBd0M7UUFBckUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUExQmhGLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixTQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXRCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVl0RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTZELENBQUM7Ozs7SUFsRDdGLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUNELElBQUksT0FBTyxD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Q0FBQyxHQUN6RyxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7Ozs7O0FBRUQsU0FBUyxVQUFVLENBQUMsS0FBb0I7SUFDdEMsT0FBTyxLQUFLLENBQUMsU0FBUzs7OztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XG5cbmV4cG9ydCB0eXBlIE1vZGFsU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMubW9kYWxDb250ZW50KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnZpc2libGUgPSB2YWx1ZSksIDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZXRWaXNpYmxlKHZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2FibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2ZhZGUtb3V0LXRvcCcpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmlzaWJsZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2ZhZGUtb3V0LXRvcCcpO1xuICAgICAgICB0aGlzLm5nT25EZXN0cm95KCk7XG4gICAgICB9LCAzNTApO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIGNlbnRlcmVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBtb2RhbENsYXNzOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbGcnO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQm9keScsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEZvb3RlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBGb290ZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQ2xvc2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgYWJwQ2xvc2U6IEVsZW1lbnRSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdhYnBNb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgbW9kYWxDb250ZW50OiBFbGVtZW50UmVmO1xuXG4gIF92aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY2xvc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc09wZW5Db25maXJtYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBzZXRWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB2YWx1ZVxuICAgICAgPyB0aW1lcig1MDApXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4gKHRoaXMuY2xvc2FibGUgPSB0cnVlKSlcbiAgICAgIDogKHRoaXMuY2xvc2FibGUgPSBmYWxzZSk7XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzNTApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgICBldmVudCAmJlxuICAgICAgICAgICAgdGhpcy5jbG9zYWJsZSAmJlxuICAgICAgICAgICAgdGhpcy5tb2RhbENvbnRlbnQgJiZcbiAgICAgICAgICAgICF0aGlzLmlzT3BlbkNvbmZpcm1hdGlvbiAmJlxuICAgICAgICAgICAgIXRoaXMubW9kYWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5dXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkuY29kZSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5jbG9zYWJsZSksXG4gICAgICAgIGRlYm91bmNlVGltZSgzNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG5cbiAgICBpZiAoIXRoaXMuYWJwQ2xvc2UpIHJldHVybjtcblxuICAgIGZyb21FdmVudCh0aGlzLmFicENsb3NlLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gISEodGhpcy5jbG9zYWJsZSAmJiB0aGlzLm1vZGFsQ29udGVudCkpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzUwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGNvbnN0IG5vZGVzID0gZ2V0RmxhdE5vZGVzKFxuICAgICAgKHRoaXMubW9kYWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FicC1tb2RhbC1ib2R5JykgYXMgSFRNTEVsZW1lbnQpLmNoaWxkTm9kZXMsXG4gICAgKTtcblxuICAgIGlmIChoYXNOZ0RpcnR5KG5vZGVzKSkge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uKSByZXR1cm47XG5cbiAgICAgIHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgICAud2FybignQWJwQWNjb3VudDo6QXJlWW91U3VyZVlvdVdhbnRUb0NhbmNlbEVkaXRpbmdXYXJuaW5nTWVzc2FnZScsICdBYnBBY2NvdW50OjpBcmVZb3VTdXJlJylcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICAgIHRpbWVyKDQwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uID0gZmFsc2U7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RmxhdE5vZGVzKG5vZGVzOiBOb2RlTGlzdCk6IEhUTUxFbGVtZW50W10ge1xuICByZXR1cm4gQXJyYXkuZnJvbShub2RlcykucmVkdWNlKFxuICAgIChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4uKHZhbC5jaGlsZE5vZGVzICYmIHZhbC5jaGlsZE5vZGVzLmxlbmd0aCA/IEFycmF5LmZyb20odmFsLmNoaWxkTm9kZXMpIDogW3ZhbF0pXSxcbiAgICBbXSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gaGFzTmdEaXJ0eShub2RlczogSFRNTEVsZW1lbnRbXSkge1xuICByZXR1cm4gbm9kZXMuZmluZEluZGV4KG5vZGUgPT4gKG5vZGUuY2xhc3NOYW1lIHx8ICcnKS5pbmRleE9mKCduZy1kaXJ0eScpID4gLTEpID4gLTE7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O01BSXZELGlCQUFpQixHQUFHLEdBQUc7QUFNN0IsTUFBTSxPQUFPLGNBQWM7Ozs7O0lBbUZ6QixZQUFvQixRQUFtQixFQUFVLG1CQUF3QztRQUFyRSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXhDaEYsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXhCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFNdEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBZ0IxQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQix1QkFBa0IsR0FB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RSxpQ0FBc0U7O0lBRXRFLG1DQUEwRTs7SUFFMUUsa0NBQXlGOztJQUV6RixtQ0FBb0c7O0lBRXBHLHNDQUEwRTs7SUFFMUUsb0NBQXVDOztJQUV2QyxrQ0FBMEI7O0lBRTFCLCtCQUF1Qjs7SUFFdkIsbUNBQTJCOztJQUUzQiw0Q0FBb0M7O0lBRXBDLGtDQUEwQjs7SUFFMUIsa0NBQStCOzs7OztJQUVuQixrQ0FBMkI7Ozs7O0lBQUUsNkNBQWdEOzs7Ozs7QUFzRTNGLFNBQVMsWUFBWSxDQUFDLEtBQWU7SUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU07Ozs7O0lBQzdCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQzNHLEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQzs7Ozs7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFvQjtJQUN0QyxPQUFPLEtBQUssQ0FBQyxTQUFTOzs7O0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBNb2RhbFNpemUgPSAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuXG5jb25zdCBBTklNQVRJT05fVElNRU9VVCA9IDIwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLm1vZGFsQ29udGVudCkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XG4gICAgICAgIH0sIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZXRWaXNpYmxlKHZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2FibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2ZhZGUtb3V0LXRvcCcpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmlzaWJsZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgIH0sIEFOSU1BVElPTl9USU1FT1VUIC0gMTApO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBidXN5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5O1xuICB9XG4gIHNldCBidXN5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYWJwU3VibWl0ICYmIHRoaXMuYWJwU3VibWl0IGluc3RhbmNlb2YgQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmFicFN1Ym1pdC5sb2FkaW5nID0gdmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5fYnVzeSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgY2VudGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBtb2RhbENsYXNzOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbGcnO1xuXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIG1pbkhlaWdodDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKSBpbml0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQm9keScsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEZvb3RlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBGb290ZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQ2xvc2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgYWJwQ2xvc2U6IEVsZW1lbnRSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEJ1dHRvbkNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBCdXR0b25Db21wb25lbnQgfSkgYWJwU3VibWl0OiBCdXR0b25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnYWJwTW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIG1vZGFsQ29udGVudDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkcmVuKCdhYnAtYnV0dG9uJykgYWJwQnV0dG9ucztcblxuICBfdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIF9idXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgc2hvd01vZGFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNPcGVuQ29uZmlybWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY2xvc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBzZXRWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLnNob3dNb2RhbCA9IHZhbHVlO1xuXG4gICAgdmFsdWVcbiAgICAgID8gdGltZXIoQU5JTUFUSU9OX1RJTUVPVVQgKyAxMDApXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4gKHRoaXMuY2xvc2FibGUgPSB0cnVlKSlcbiAgICAgIDogKHRoaXMuY2xvc2FibGUgPSBmYWxzZSk7XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5dXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuY2xvc2FibGUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5hYnBDbG9zZSkgcmV0dXJuO1xuICAgICAgZnJvbUV2ZW50KHRoaXMuYWJwQ2xvc2UubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgIGZpbHRlcigoKSA9PiAhISh0aGlzLmNsb3NhYmxlICYmIHRoaXMubW9kYWxDb250ZW50KSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH0sIDApO1xuXG4gICAgdGhpcy5pbml0LmVtaXQoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5jbG9zYWJsZSB8fCB0aGlzLmJ1c3kpIHJldHVybjtcblxuICAgIGNvbnN0IG5vZGVzID0gZ2V0RmxhdE5vZGVzKFxuICAgICAgKHRoaXMubW9kYWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FicC1tb2RhbC1ib2R5JykgYXMgSFRNTEVsZW1lbnQpLmNoaWxkTm9kZXMsXG4gICAgKTtcblxuICAgIGlmIChoYXNOZ0RpcnR5KG5vZGVzKSkge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uKSByZXR1cm47XG5cbiAgICAgIHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgICAud2FybignQWJwQWNjb3VudDo6QXJlWW91U3VyZVlvdVdhbnRUb0NhbmNlbEVkaXRpbmdXYXJuaW5nTWVzc2FnZScsICdBYnBBY2NvdW50OjpBcmVZb3VTdXJlJylcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICAgIHRpbWVyKEFOSU1BVElPTl9USU1FT1VUKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW5Db25maXJtYXRpb24gPSBmYWxzZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRGbGF0Tm9kZXMobm9kZXM6IE5vZGVMaXN0KTogSFRNTEVsZW1lbnRbXSB7XG4gIHJldHVybiBBcnJheS5mcm9tKG5vZGVzKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi4odmFsLmNoaWxkTm9kZXMgJiYgdmFsLmNoaWxkTm9kZXMubGVuZ3RoID8gZ2V0RmxhdE5vZGVzKHZhbC5jaGlsZE5vZGVzKSA6IFt2YWxdKV0sXG4gICAgW10sXG4gICk7XG59XG5cbmZ1bmN0aW9uIGhhc05nRGlydHkobm9kZXM6IEhUTUxFbGVtZW50W10pIHtcbiAgcmV0dXJuIG5vZGVzLmZpbmRJbmRleChub2RlID0+IChub2RlLmNsYXNzTmFtZSB8fCAnJykuaW5kZXhPZignbmctZGlydHknKSA+IC0xKSA+IC0xO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js index d12438e974..b35aea0715 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js @@ -28,6 +28,10 @@ export default ` top: 18px; } +.navbar .dropdown-menu { + min-width: 200px; +} + .modal { background-color: rgba(0, 0, 0, .6); } @@ -42,11 +46,11 @@ export default ` /* { const { payload: err = (/** @type {?} */ ({})) } = res; /** @type {?} */ - const body = ((/** @type {?} */ (err))).error.error; + const body = snq((/** + * @return {?} + */ + () => ((/** @type {?} */ (err))).error.error), DEFAULTS.defaultError.message); if (err.headers.get('_AbpErrorFormat')) { /** @type {?} */ const confirmation$ = this.showError(null, null, body); @@ -88,14 +92,14 @@ export class ErrorHandler { case 500: this.createErrorComponent({ title: '500', - details: 'Sorry, an error has occured.', + details: 'AbpAccount::InternalServerErrorMessage', }); break; case 0: if (((/** @type {?} */ (err))).statusText === 'Unknown Error') { this.createErrorComponent({ title: 'Unknown Error', - details: 'Sorry, an error has occured.', + details: 'AbpAccount::InternalServerErrorMessage', }); } break; @@ -211,4 +215,4 @@ if (false) { */ ErrorHandler.prototype.injector; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O01BRWpFLFFBQVEsR0FBRztJQUNmLFlBQVksRUFBRTtRQUNaLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUVELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSw0QkFBNEI7UUFDckMsT0FBTyxFQUFFLDJFQUEyRTtLQUNyRjtJQUVELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSx5QkFBeUI7UUFDbEMsT0FBTyxFQUFFLGdEQUFnRDtLQUMxRDtJQUVELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsT0FBTyxFQUFFLHVEQUF1RDtLQUNqRTtDQUNGO0FBR0QsTUFBTSxPQUFPLFlBQVk7Ozs7Ozs7Ozs7SUFDdkIsWUFDVSxPQUFnQixFQUNoQixLQUFZLEVBQ1osbUJBQXdDLEVBQ3hDLE1BQXNCLEVBQ3RCLEtBQStCLEVBQy9CLGVBQWlDLEVBQ2pDLFFBQWtCO1FBTmxCLFlBQU8s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QUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBQSxZQUFZLENBQUMsUUFBUSxFQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDekQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OztZQXZHRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O1lBNUJ6QixPQUFPO1lBQXNCLEtBQUs7WUFJbEMsbUJBQW1CO1lBWjFCLGNBQWM7WUFDZCx3QkFBd0I7WUFJeEIsZ0JBQWdCO1lBRGhCLFFBQVE7Ozs7Ozs7O0lBbUNOLCtCQUF3Qjs7Ozs7SUFDeEIsNkJBQW9COzs7OztJQUNwQiwyQ0FBZ0Q7Ozs7O0lBQ2hELDhCQUE4Qjs7Ozs7SUFDOUIsNkJBQXVDOzs7OztJQUN2Qyx1Q0FBeUM7Ozs7O0lBQ3pDLGdDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSwgUm91dGVyU3RhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0ZXInO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcblxuY29uc3QgREVGQVVMVFMgPSB7XG4gIGRlZmF1bHRFcnJvcjoge1xuICAgIG1lc3NhZ2U6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQhJyxcbiAgICBkZXRhaWxzOiAnRXJyb3IgZGV0YWlsIG5vdCBzZW50IGJ5IHNlcnZlci4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMToge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRoZW50aWNhdGVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBzaG91bGQgYmUgYXV0aGVudGljYXRlZCAoc2lnbiBpbikgaW4gb3JkZXIgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMzoge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRob3JpemVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwNDoge1xuICAgIG1lc3NhZ2U6ICdSZXNvdXJjZSBub3QgZm91bmQhJyxcbiAgICBkZXRhaWxzOiAnVGhlIHJlc291cmNlIHJlcXVlc3RlZCBjb3VsZCBub3QgZm91bmQgb24gdGhlIHNlcnZlci4nLFxuICB9LFxufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGNmUmVzOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIGFjdGlvbnMucGlwZShvZkFjdGlvblN1Y2Nlc3NmdWwoUmVzdE9jY3VyRXJyb3IpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IHsgcGF5bG9hZDogZXJyID0ge30gYXMgSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkgfSA9IHJlcztcbiAgICAgIGNvbnN0IGJvZHkgPSAoZXJyIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5lcnJvci5lcnJvcjtcblxuICAgICAgaWYgKGVyci5oZWFkZXJzLmdldCgnX0FicEVycm9yRm9ybWF0JykpIHtcbiAgICAgICAgY29uc3QgY29uZmlybWF0aW9uJCA9IHRoaXMuc2hvd0Vycm9yKG51bGwsIG51bGwsIGJvZHkpO1xuXG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICBjb25maXJtYXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbigpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xuICAgICAgICAgIGNhc2UgNDAxOlxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoREVGQVVMVFMuZGVmYXVsdEVycm9yNDAxLmRldGFpbHMsIERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMS5tZXNzYWdlKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogREVGQVVMVFMuZGVmYXVsdEVycm9yNDAzLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIGRldGFpbHM6IERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMy5kZXRhaWxzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwNDpcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwNC5kZXRhaWxzLCBERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDQubWVzc2FnZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDUwMDpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogJzUwMCcsXG4gICAgICAgICAgICAgIGRldGFpbHM6ICdTb3JyeSwgYW4gZXJyb3IgaGFzIG9jY3VyZWQuJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgaWYgKChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1c1RleHQgPT09ICdVbmtub3duIEVycm9yJykge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50KHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1Vua25vd24gRXJyb3InLFxuICAgICAgICAgICAgICAgIGRldGFpbHM6ICdTb3JyeSwgYW4gZXJyb3IgaGFzIG9jY3VyZWQuJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoREVGQVVMVFMuZGVmYXVsdEVycm9yLmRldGFpbHMsIERFRkFVTFRTLmRlZmF1bHRFcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dFcnJvcihtZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgYm9keT86IGFueSk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICBpZiAoYm9keSkge1xuICAgICAgaWYgKGJvZHkuZGV0YWlscykge1xuICAgICAgICBtZXNzYWdlID0gYm9keS5kZXRhaWxzO1xuICAgICAgICB0aXRsZSA9IGJvZHkubWVzc2FnZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2UgPSBib2R5Lm1lc3NhZ2UgfHwgREVGQVVMVFMuZGVmYXVsdEVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSwge1xuICAgICAgaGlkZUNhbmNlbEJ0bjogdHJ1ZSxcbiAgICAgIHllc0NvcHk6ICdPSycsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9Mb2dpbigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IE5hdmlnYXRlKFsnL2FjY291bnQvbG9naW4nXSwgbnVsbCwge1xuICAgICAgICBzdGF0ZTogeyByZWRpcmVjdFVybDogdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSkuc3RhdGUudXJsIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlRXJyb3JDb21wb25lbnQoaW5zdGFuY2U6IFBhcnRpYWw8RXJyb3JDb21wb25lbnQ+KSB7XG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICBjb25zdCBob3N0ID0gcmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoJ2FwcC1yb290JywgdHJ1ZSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNmUmVzLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEVycm9yQ29tcG9uZW50KS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb21wb25lbnRSZWYuaW5zdGFuY2UpIHtcbiAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2UuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IGluc3RhbmNlW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGhvc3QsIChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSk7XG5cbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZWxlbWVudFJlZiA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbjtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaG9zdCA9IGhvc3Q7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDOzs7OztNQUVoQixRQUFRLEdBQUc7SUFDZixZQUFZLEVBQUU7UUFDWixPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE9BQU8sRUFBRSwyRUFBMkU7S0FDckY7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLE9BQU8sRUFBRSxnREFBZ0Q7S0FDMUQ7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLE9BQU8sRUFBRSx1REFBdUQ7S0FDakU7Q0FDRjtBQUdELE1BQU0sT0FBTyxZQUFZOzs7Ozs7Ozs7O0lBQ3ZCLFlBQ1UsT0FBZ0IsRUFDaEIsS0FBWSxFQUNaLG1CQUF3QyxFQUN4QyxNQUFzQixFQUN0QixLQUErQixFQUMv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LFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBQSxZQUFZLENBQUMsUUFBUSxFQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDekQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OztZQXZHRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O1lBN0J6QixPQUFPO1lBQXNCLEtBQUs7WUFJbEMsbUJBQW1CO1lBWjFCLGNBQWM7WUFDZCx3QkFBd0I7WUFJeEIsZ0JBQWdCO1lBRGhCLFFBQVE7Ozs7Ozs7O0lBb0NOLCtCQUF3Qjs7Ozs7SUFDeEIsNkJBQW9COzs7OztJQUNwQiwyQ0FBZ0Q7Ozs7O0lBQ2hELDhCQUE4Qjs7Ozs7SUFDOUIsNkJBQXVDOzs7OztJQUN2Qyx1Q0FBeUM7Ozs7O0lBQ3pDLGdDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSwgUm91dGVyU3RhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0ZXInO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgREVGQVVMVFMgPSB7XG4gIGRlZmF1bHRFcnJvcjoge1xuICAgIG1lc3NhZ2U6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQhJyxcbiAgICBkZXRhaWxzOiAnRXJyb3IgZGV0YWlsIG5vdCBzZW50IGJ5IHNlcnZlci4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMToge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRoZW50aWNhdGVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBzaG91bGQgYmUgYXV0aGVudGljYXRlZCAoc2lnbiBpbikgaW4gb3JkZXIgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMzoge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRob3JpemVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwNDoge1xuICAgIG1lc3NhZ2U6ICdSZXNvdXJjZSBub3QgZm91bmQhJyxcbiAgICBkZXRhaWxzOiAnVGhlIHJlc291cmNlIHJlcXVlc3RlZCBjb3VsZCBub3QgZm91bmQgb24gdGhlIHNlcnZlci4nLFxuICB9LFxufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGNmUmVzOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIGFjdGlvbnMucGlwZShvZkFjdGlvblN1Y2Nlc3NmdWwoUmVzdE9jY3VyRXJyb3IpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IHsgcGF5bG9hZDogZXJyID0ge30gYXMgSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkgfSA9IHJlcztcbiAgICAgIGNvbnN0IGJvZHkgPSBzbnEoKCkgPT4gKGVyciBhcyBIdHRwRXJyb3JSZXNwb25zZSkuZXJyb3IuZXJyb3IsIERFRkFVTFRTLmRlZmF1bHRFcnJvci5tZXNzYWdlKTtcblxuICAgICAgaWYgKGVyci5oZWFkZXJzLmdldCgnX0FicEVycm9yRm9ybWF0JykpIHtcbiAgICAgICAgY29uc3QgY29uZmlybWF0aW9uJCA9IHRoaXMuc2hvd0Vycm9yKG51bGwsIG51bGwsIGJvZHkpO1xuXG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICBjb25maXJtYXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbigpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xuICAgICAgICAgIGNhc2UgNDAxOlxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoREVGQVVMVFMuZGVmYXVsdEVycm9yNDAxLmRldGFpbHMsIERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMS5tZXNzYWdlKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogREVGQVVMVFMuZGVmYXVsdEVycm9yNDAzLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIGRldGFpbHM6IERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMy5kZXRhaWxzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwNDpcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwNC5kZXRhaWxzLCBERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDQubWVzc2FnZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDUwMDpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogJzUwMCcsXG4gICAgICAgICAgICAgIGRldGFpbHM6ICdBYnBBY2NvdW50OjpJbnRlcm5hbFNlcnZlckVycm9yTWVzc2FnZScsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIGlmICgoZXJyIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5zdGF0dXNUZXh0ID09PSAnVW5rbm93biBFcnJvcicpIHtcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdVbmtub3duIEVycm9yJyxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiAnQWJwQWNjb3VudDo6SW50ZXJuYWxTZXJ2ZXJFcnJvck1lc3NhZ2UnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihERUZBVUxUUy5kZWZhdWx0RXJyb3IuZGV0YWlscywgREVGQVVMVFMuZGVmYXVsdEVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0Vycm9yKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCBib2R5PzogYW55KTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIGlmIChib2R5KSB7XG4gICAgICBpZiAoYm9keS5kZXRhaWxzKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBib2R5LmRldGFpbHM7XG4gICAgICAgIHRpdGxlID0gYm9keS5tZXNzYWdlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZSA9IGJvZHkubWVzc2FnZSB8fCBERUZBVUxUUy5kZWZhdWx0RXJyb3IubWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlLCB7XG4gICAgICBoaWRlQ2FuY2VsQnRuOiB0cnVlLFxuICAgICAgeWVzQ29weTogJ09LJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0xvZ2luKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvYWNjb3VudC9sb2dpbiddLCBudWxsLCB7XG4gICAgICAgIHN0YXRlOiB7IHJlZGlyZWN0VXJsOiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKS5zdGF0ZS51cmwgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVFcnJvckNvbXBvbmVudChpbnN0YW5jZTogUGFydGlhbDxFcnJvckNvbXBvbmVudD4pIHtcbiAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICAgIGNvbnN0IGhvc3QgPSByZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCgnYXBwLXJvb3QnLCB0cnVlKTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY2ZSZXMucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRXJyb3JDb21wb25lbnQpLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbXBvbmVudFJlZi5pbnN0YW5jZSkge1xuICAgICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gaW5zdGFuY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoaG9zdCwgKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdKTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZW5kZXJlciA9IHJlbmRlcmVyO1xuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5lbGVtZW50UmVmID0gY29tcG9uZW50UmVmLmxvY2F0aW9uO1xuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5ob3N0ID0gaG9zdDtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/services/confirmation.service.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/services/confirmation.service.js index d2a6377965..f1bf4c4044 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/services/confirmation.service.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/services/confirmation.service.js @@ -3,10 +3,10 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; -import { AbstractToasterClass } from '../abstracts/toaster'; +import { AbstractToaster } from '../abstracts/toaster'; import * as i0 from "@angular/core"; import * as i1 from "primeng/components/common/messageservice"; -export class ConfirmationService extends AbstractToasterClass { +export class ConfirmationService extends AbstractToaster { constructor() { super(...arguments); this.key = 'abpConfirmation'; @@ -18,15 +18,9 @@ ConfirmationService.decorators = [ ]; /** @nocollapse */ ConfirmationService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(i0.ɵɵinject(i1.MessageService)); }, token: ConfirmationService, providedIn: "root" }); if (false) { - /** - * @type {?} - * @protected - */ + /** @type {?} */ ConfirmationService.prototype.key; - /** - * @type {?} - * @protected - */ + /** @type {?} */ ConfirmationService.prototype.sticky; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSTVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxvQkFBMEM7SUFEbkY7O1FBRVksUUFBRyxHQUFXLGlCQUFpQixDQUFDO1FBRWhDLFdBQU0sR0FBWSxJQUFJLENBQUM7S0FDbEM7OztZQUxBLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7Ozs7O0lBRWhDLGtDQUEwQzs7Ozs7SUFFMUMscUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RUb2FzdGVyQ2xhc3MgfSBmcm9tICcuLi9hYnN0cmFjdHMvdG9hc3Rlcic7XG5pbXBvcnQgeyBDb25maXJtYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29uZmlybWF0aW9uJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25TZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RUb2FzdGVyQ2xhc3M8Q29uZmlybWF0aW9uLk9wdGlvbnM+IHtcbiAgcHJvdGVjdGVkIGtleTogc3RyaW5nID0gJ2FicENvbmZpcm1hdGlvbic7XG5cbiAgcHJvdGVjdGVkIHN0aWNreTogYm9vbGVhbiA9IHRydWU7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUl2RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBcUM7SUFEOUU7O1FBRUUsUUFBRyxHQUFXLGlCQUFpQixDQUFDO1FBRWhDLFdBQU0sR0FBWSxJQUFJLENBQUM7S0FDeEI7OztZQUxBLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7O0lBRWhDLGtDQUFnQzs7SUFFaEMscUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RUb2FzdGVyIH0gZnJvbSAnLi4vYWJzdHJhY3RzL3RvYXN0ZXInO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VG9hc3RlcjxDb25maXJtYXRpb24uT3B0aW9ucz4ge1xuICBrZXk6IHN0cmluZyA9ICdhYnBDb25maXJtYXRpb24nO1xuXG4gIHN0aWNreTogYm9vbGVhbiA9IHRydWU7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/services/toaster.service.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/services/toaster.service.js index 9e7b2e3a0a..16adfcc183 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/services/toaster.service.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/services/toaster.service.js @@ -3,10 +3,10 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; -import { AbstractToasterClass } from '../abstracts/toaster'; +import { AbstractToaster } from '../abstracts/toaster'; import * as i0 from "@angular/core"; import * as i1 from "primeng/components/common/messageservice"; -export class ToasterService extends AbstractToasterClass { +export class ToasterService extends AbstractToaster { /** * @param {?} messages * @return {?} @@ -23,4 +23,4 @@ ToasterService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ ToasterService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(i0.ɵɵinject(i1.MessageService)); }, token: ToasterService, providedIn: "root" }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFJNUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBb0I7Ozs7O0lBQ3RELE1BQU0sQ0FBQyxRQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsaUJBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUssT0FBTyxFQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7OztZQUpGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFRvYXN0ZXJDbGFzcyB9IGZyb20gJy4uL2Fic3RyYWN0cy90b2FzdGVyJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RUb2FzdGVyQ2xhc3Mge1xuICBhZGRBbGwobWVzc2FnZXM6IE1lc3NhZ2VbXSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkQWxsKG1lc3NhZ2VzLm1hcChtZXNzYWdlID0+ICh7IGtleTogdGhpcy5rZXksIC4uLm1lc3NhZ2UgfSkpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTs7Ozs7SUFDakQsTUFBTSxDQUFDLFFBQW1CO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSyxPQUFPLEVBQUcsRUFBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7O1lBSkYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0VG9hc3RlciB9IGZyb20gJy4uL2Fic3RyYWN0cy90b2FzdGVyJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RUb2FzdGVyIHtcbiAgYWRkQWxsKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZEFsbChtZXNzYWdlcy5tYXAobWVzc2FnZSA9PiAoeyBrZXk6IHRoaXMua2V5LCAuLi5tZXNzYWdlIH0pKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js index 579c2e19c9..d267f21f2e 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js @@ -17,6 +17,8 @@ import { ModalComponent } from './components/modal/modal.component'; import { ToastComponent } from './components/toast/toast.component'; import styles from './contants/styles'; import { ErrorHandler } from './handlers/error.handler'; +import { ButtonComponent } from './components/button/button.component'; +import { ValidationErrorComponent } from './components/errors/validation-error.component'; /** * @param {?} injector * @return {?} @@ -60,11 +62,29 @@ ThemeSharedModule.decorators = [ NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', + blueprints: { + email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`, + max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`, + maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`, + min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + required: `AbpAccount::ThisFieldIsRequired.`, + passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`, + }, + errorTemplate: ValidationErrorComponent, }), ], - declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent], - exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], - entryComponents: [ErrorComponent], + declarations: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + ErrorComponent, + LoaderBarComponent, + ValidationErrorComponent, + ], + exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], + entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEQsTUFBTSxVQUFVLFlBQVksQ0FBQyxRQUFrQjs7VUFDdkMsRUFBRTs7O0lBQUc7O2NBQ0gsZUFBZSxHQUFvQixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUV0RSxPQUFPLFFBQVEsQ0FDYixlQUFlLENBQUMsSUFBSSxDQUNsQixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sWUFBWSxDQUNiLENBQUMsbURBQW1ELENBQ3RELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQWVELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFDNUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7b0JBQzlCLFVBQVUsRUFBRSxZQUFZO2lCQUN6QjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTthQUN0RDtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUEzQkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxVQUFVO29CQUNWLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7d0JBQzVCLGNBQWMsRUFBRSxhQUFhO3FCQUM5QixDQUFDO2lCQUNIO2dCQUNELFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2dCQUN6RyxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztnQkFDcEcsZUFBZSxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgTGF6eUxvYWRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vY29udGFudHMvc3R5bGVzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRTY3JpcHQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgbGF6eUxvYWRTZXJ2aWNlOiBMYXp5TG9hZFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTGF6eUxvYWRTZXJ2aWNlKTtcblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGxhenlMb2FkU2VydmljZS5sb2FkKFxuICAgICAgICBudWxsLFxuICAgICAgICAnc3R5bGUnLFxuICAgICAgICBzdHlsZXMsXG4gICAgICAgICdoZWFkJyxcbiAgICAgICAgJ2FmdGVyYmVnaW4nLFxuICAgICAgKSAvKiBsYXp5TG9hZFNlcnZpY2UubG9hZChudWxsLCAnc2NyaXB0Jywgc2NyaXB0cykgKi8sXG4gICAgKS5waXBlKHRha2UoMSkpO1xuICB9O1xuXG4gIHJldHVybiBmbjtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvcmVNb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgTmdiTW9kYWxNb2R1bGUsXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgdGFyZ2V0U2VsZWN0b3I6ICcuZm9ybS1ncm91cCcsXG4gICAgfSksXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0NvbmZpcm1hdGlvbkNvbXBvbmVudCwgVG9hc3RDb21wb25lbnQsIE1vZGFsQ29tcG9uZW50LCBFcnJvckNvbXBvbmVudCwgTG9hZGVyQmFyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW05nYk1vZGFsTW9kdWxlLCBDb25maXJtYXRpb25Db21wb25lbnQsIFRvYXN0Q29tcG9uZW50LCBNb2RhbENvbXBvbmVudCwgTG9hZGVyQmFyQ29tcG9uZW50XSxcbiAgZW50cnlDb21wb25lbnRzOiBbRXJyb3JDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNoYXJlZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVGhlbWVTaGFyZWRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3IsIEVycm9ySGFuZGxlcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogYXBwZW5kU2NyaXB0LFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1lc3NhZ2VTZXJ2aWNlLCB1c2VDbGFzczogTWVzc2FnZVNlcnZpY2UgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7O0FBRTFGLE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBa0I7O1VBQ3ZDLEVBQUU7OztJQUFHOztjQUNILGVBQWUsR0FBb0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFFdEUsT0FBTyxRQUFRLENBQ2IsZUFBZSxDQUFDLElBQUksQ0FDbEIsSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksQ0FDYixDQUFDLG1EQUFtRCxDQUN0RCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFpQ0QsTUFBTSxPQUFPLGlCQUFpQjs7OztJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsS0FBSyxFQUFFLElBQUk7b0JBQ1gsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztvQkFDOUIsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2dCQUNELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO2FBQ3REO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQTdDRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsV0FBVztvQkFDWCxjQUFjO29CQUNkLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzt3QkFDNUIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLFVBQVUsRUFBRTs0QkFDVixLQUFLLEVBQUUsK0NBQStDOzRCQUN0RCxHQUFHLEVBQUUsc0VBQXNFOzRCQUMzRSxTQUFTLEVBQUUsaUZBQWlGOzRCQUM1RixHQUFHLEVBQUUsc0dBQXNHOzRCQUMzRyxTQUFTLEVBQUUsc0dBQXNHOzRCQUNqSCxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxnQkFBZ0IsRUFBRSxrREFBa0Q7eUJBQ3JFO3dCQUNELGFBQWEsRUFBRSx3QkFBd0I7cUJBQ3hDLENBQUM7aUJBQ0g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2dCQUNySCxlQUFlLEVBQUUsQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7YUFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBMYXp5TG9hZFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYk1vZGFsTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9jb250YW50cy9zdHlsZXMnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy9lcnJvci5oYW5kbGVyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3JzL3ZhbGlkYXRpb24tZXJyb3IuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFNjcmlwdChpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3QgZm4gPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBsYXp5TG9hZFNlcnZpY2U6IExhenlMb2FkU2VydmljZSA9IGluamVjdG9yLmdldChMYXp5TG9hZFNlcnZpY2UpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgbGF6eUxvYWRTZXJ2aWNlLmxvYWQoXG4gICAgICAgIG51bGwsXG4gICAgICAgICdzdHlsZScsXG4gICAgICAgIHN0eWxlcyxcbiAgICAgICAgJ2hlYWQnLFxuICAgICAgICAnYWZ0ZXJiZWdpbicsXG4gICAgICApIC8qIGxhenlMb2FkU2VydmljZS5sb2FkKG51bGwsICdzY3JpcHQnLCBzY3JpcHRzKSAqLyxcbiAgICApLnBpcGUodGFrZSgxKSk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ2JNb2RhbE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICB0YXJnZXRTZWxlY3RvcjogJy5mb3JtLWdyb3VwJyxcbiAgICAgIGJsdWVwcmludHM6IHtcbiAgICAgICAgZW1haWw6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRJc05vdEFWYWxpZEVtYWlsQWRkcmVzcy5gLFxuICAgICAgICBtYXg6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nV2l0aEFNYXhpbXVtTGVuZ3RoT2Z7MX1be3sgbWF4IH19XWAsXG4gICAgICAgIG1heGxlbmd0aDogYEFicEFjY291bnQ6OlRoaXNGaWVsZE11c3RCZUFTdHJpbmdXaXRoQU1heGltdW1MZW5ndGhPZnsxfVt7eyByZXF1aXJlZExlbmd0aCB9fV1gLFxuICAgICAgICBtaW46IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nV2l0aEFNaW5pbXVtTGVuZ3RoT2Z7MX1BbmRBTWF4aW11bUxlbmd0aE9mezB9W3t7IG1pbiB9fSx7eyBtYXggfX1dYCxcbiAgICAgICAgbWlubGVuZ3RoOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkTXVzdEJlQVN0cmluZ1dpdGhBTWluaW11bUxlbmd0aE9mezF9QW5kQU1heGltdW1MZW5ndGhPZnswfVt7eyBtaW4gfX0se3sgbWF4IH19XWAsXG4gICAgICAgIHJlcXVpcmVkOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkSXNSZXF1aXJlZC5gLFxuICAgICAgICBwYXNzd29yZE1pc21hdGNoOiBgQWJwSWRlbnRpdHk6OklkZW50aXR5LlBhc3N3b3JkQ29uZmlybWF0aW9uRmFpbGVkYCxcbiAgICAgIH0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQsXG4gICAgfSksXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Db21wb25lbnQsXG4gICAgVG9hc3RDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JDb21wb25lbnQsXG4gICAgTG9hZGVyQmFyQ29tcG9uZW50LFxuICAgIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW05nYk1vZGFsTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIENvbmZpcm1hdGlvbkNvbXBvbmVudCwgVG9hc3RDb21wb25lbnQsIE1vZGFsQ29tcG9uZW50LCBMb2FkZXJCYXJDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtFcnJvckNvbXBvbmVudCwgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yLCBFcnJvckhhbmRsZXJdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGFwcGVuZFNjcmlwdCxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNZXNzYWdlU2VydmljZSwgdXNlQ2xhc3M6IE1lc3NhZ2VTZXJ2aWNlIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/public-api.js b/npm/ng-packs/dist/theme-shared/esm2015/public-api.js index 76b93dad5b..63a1b51e26 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/public-api.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/public-api.js @@ -6,7 +6,8 @@ * Public API Surface of theme-shared */ export { appendScript, ThemeSharedModule } from './lib/theme-shared.module'; -export { ConfirmationComponent, ToastComponent, ModalComponent } from './lib/components'; +export { slideFromBottom } from './lib/animations'; +export { ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent } from './lib/components'; export { Toaster } from './lib/models'; export { ConfirmationService, ToasterService } from './lib/services'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsZ0RBQWMsMkJBQTJCLENBQUM7QUFDMUMsc0VBQWMsa0JBQWtCLENBQUM7QUFDakMsd0JBQWMsY0FBYyxDQUFDO0FBQzdCLG9EQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1zaGFyZWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS1zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsZ0RBQWMsMkJBQTJCLENBQUM7QUFDMUMsZ0NBQWMsa0JBQWtCLENBQUM7QUFDakMsMkdBQWMsa0JBQWtCLENBQUM7QUFDakMsd0JBQWMsY0FBYyxDQUFDO0FBQzdCLG9EQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1zaGFyZWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS1zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js index e355417f47..cbcb2c5c65 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js @@ -5,13 +5,15 @@ /** * Generated bundle index. Do not edit. */ -export { appendScript, ThemeSharedModule, ConfirmationComponent, ToastComponent, ModalComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; -export { AbstractToasterClass as ɵc } from './lib/abstracts/toaster'; -export { ConfirmationComponent as ɵa } from './lib/components/confirmation/confirmation.component'; -export { ErrorComponent as ɵf } from './lib/components/errors/error.component'; -export { LoaderBarComponent as ɵg } from './lib/components/loader-bar/loader-bar.component'; -export { ModalComponent as ɵe } from './lib/components/modal/modal.component'; -export { ToastComponent as ɵd } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵh } from './lib/handlers/error.handler'; -export { ConfirmationService as ɵb } from './lib/services/confirmation.service'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUpBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0Fic3RyYWN0VG9hc3RlckNsYXNzIGFzIMm1Y30gZnJvbSAnLi9saWIvYWJzdHJhY3RzL3RvYXN0ZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2FkZXJCYXJDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RhbENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB7VG9hc3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Vycm9ySGFuZGxlciBhcyDJtWh9IGZyb20gJy4vbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnOyJdfQ== \ No newline at end of file +export { appendScript, ThemeSharedModule, slideFromBottom, ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; +export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; +export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; +export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; +export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; +export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; +export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdFRvYXN0ZXIgYXMgybVlfSBmcm9tICcuL2xpYi9hYnN0cmFjdHMvdG9hc3Rlcic7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtUb2FzdENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JIYW5kbGVyIGFzIMm1an0gZnJvbSAnLi9saWIvaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5leHBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js b/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js index f6543f8d5e..0f9543327f 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js @@ -10,8 +10,8 @@ import { Subject } from 'rxjs'; var /** * @template T */ -AbstractToasterClass = /** @class */ (function () { - function AbstractToasterClass(messageService) { +AbstractToaster = /** @class */ (function () { + function AbstractToaster(messageService) { this.messageService = messageService; this.key = 'abpToast'; this.sticky = false; @@ -22,7 +22,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.info = /** + AbstractToaster.prototype.info = /** * @param {?} message * @param {?} title * @param {?=} options @@ -37,7 +37,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.success = /** + AbstractToaster.prototype.success = /** * @param {?} message * @param {?} title * @param {?=} options @@ -52,7 +52,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.warn = /** + AbstractToaster.prototype.warn = /** * @param {?} message * @param {?} title * @param {?=} options @@ -67,7 +67,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.error = /** + AbstractToaster.prototype.error = /** * @param {?} message * @param {?} title * @param {?=} options @@ -84,7 +84,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.show = /** + AbstractToaster.prototype.show = /** * @protected * @param {?} message * @param {?} title @@ -102,7 +102,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} status * @return {?} */ - AbstractToasterClass.prototype.clear = /** + AbstractToaster.prototype.clear = /** * @param {?=} status * @return {?} */ @@ -111,32 +111,23 @@ AbstractToasterClass = /** @class */ (function () { this.status$.next(status || "dismiss" /* dismiss */); this.status$.complete(); }; - return AbstractToasterClass; + return AbstractToaster; }()); /** * @template T */ -export { AbstractToasterClass }; +export { AbstractToaster }; if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; /** * @type {?} * @protected */ - AbstractToasterClass.prototype.status$; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.key; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.sticky; - /** - * @type {?} - * @protected - */ - AbstractToasterClass.prototype.messageService; + AbstractToaster.prototype.messageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUczQzs7OztJQU9FLDhCQUFzQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsUUFBRyxHQUFXLFVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQVksS0FBSyxDQUFDO0lBRXFCLENBQUM7Ozs7Ozs7SUFDeEQsbUNBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsc0NBQU87Ozs7OztJQUFQLFVBQVEsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7O0lBRUQsbUNBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsb0NBQUs7Ozs7OztJQUFMLFVBQU0sT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyxtQ0FBSTs7Ozs7Ozs7SUFBZCxVQUFlLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBMEIsRUFBRSxPQUFXO1FBQ3BGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQ3JCLFFBQVEsVUFBQSxFQUNSLE1BQU0sRUFBRSxPQUFPLEVBQ2YsT0FBTyxFQUFFLEtBQUssSUFDWCxPQUFPLElBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQ1YsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQ3RGLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELG9DQUFLOzs7O0lBQUwsVUFBTSxNQUF1QjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSwyQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNILDJCQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQzs7Ozs7Ozs7OztJQTNDQyx1Q0FBMkM7Ozs7O0lBRTNDLG1DQUFtQzs7Ozs7SUFFbkMsc0NBQWtDOzs7OztJQUV0Qiw4Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VG9hc3RlckNsYXNzPFQgPSBUb2FzdGVyLk9wdGlvbnM+IHtcbiAgcHJvdGVjdGVkIHN0YXR1cyQ6IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+O1xuXG4gIHByb3RlY3RlZCBrZXk6IHN0cmluZyA9ICdhYnBUb2FzdCc7XG5cbiAgcHJvdGVjdGVkIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIG9wdGlvbnMpO1xuICB9XG5cbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdzdWNjZXNzJywgb3B0aW9ucyk7XG4gIH1cblxuICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm4nLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHNldmVyaXR5OiBUb2FzdGVyLlNldmVyaXR5LCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcblxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5LFxuICAgICAgZGV0YWlsOiBtZXNzYWdlLFxuICAgICAgc3VtbWFyeTogdGl0bGUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgIC4uLih0eXBlb2YgKG9wdGlvbnMgfHwgKHt9IGFzIGFueSkpLnN0aWNreSA9PT0gJ3VuZGVmaW5lZCcgJiYgeyBzdGlja3k6IHRoaXMuc3RpY2t5IH0pLFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFRvYXN0ZXIuU3RhdHVzPigpO1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyQ7XG4gIH1cblxuICBjbGVhcihzdGF0dXM/OiBUb2FzdGVyLlN0YXR1cykge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIodGhpcy5rZXkpO1xuICAgIHRoaXMuc3RhdHVzJC5uZXh0KHN0YXR1cyB8fCBUb2FzdGVyLlN0YXR1cy5kaXNtaXNzKTtcbiAgICB0aGlzLnN0YXR1cyQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUczQzs7OztJQU9FLHlCQUFzQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKcEQsUUFBRyxHQUFXLFVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQVksS0FBSyxDQUFDO0lBRStCLENBQUM7Ozs7Ozs7SUFDeEQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsaUNBQU87Ozs7OztJQUFQLFVBQVEsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7O0lBRUQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsK0JBQUs7Ozs7OztJQUFMLFVBQU0sT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyw4QkFBSTs7Ozs7Ozs7SUFBZCxVQUFlLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBMEIsRUFBRSxPQUFXO1FBQ3BGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQ3JCLFFBQVEsVUFBQSxFQUNSLE1BQU0sRUFBRSxPQUFPLEVBQ2YsT0FBTyxFQUFFLEtBQUssSUFDWCxPQUFPLElBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQ1YsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQ3RGLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELCtCQUFLOzs7O0lBQUwsVUFBTSxNQUF1QjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSwyQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQzs7Ozs7OztJQTNDQyxrQ0FBaUM7O0lBRWpDLDhCQUF5Qjs7SUFFekIsaUNBQXdCOzs7OztJQUVaLHlDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RUb2FzdGVyPFQgPSBUb2FzdGVyLk9wdGlvbnM+IHtcbiAgc3RhdHVzJDogU3ViamVjdDxUb2FzdGVyLlN0YXR1cz47XG5cbiAga2V5OiBzdHJpbmcgPSAnYWJwVG9hc3QnO1xuXG4gIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIG9wdGlvbnMpO1xuICB9XG5cbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdzdWNjZXNzJywgb3B0aW9ucyk7XG4gIH1cblxuICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm4nLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHNldmVyaXR5OiBUb2FzdGVyLlNldmVyaXR5LCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcblxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5LFxuICAgICAgZGV0YWlsOiBtZXNzYWdlLFxuICAgICAgc3VtbWFyeTogdGl0bGUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgIC4uLih0eXBlb2YgKG9wdGlvbnMgfHwgKHt9IGFzIGFueSkpLnN0aWNreSA9PT0gJ3VuZGVmaW5lZCcgJiYgeyBzdGlja3k6IHRoaXMuc3RpY2t5IH0pLFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFRvYXN0ZXIuU3RhdHVzPigpO1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyQ7XG4gIH1cblxuICBjbGVhcihzdGF0dXM/OiBUb2FzdGVyLlN0YXR1cykge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIodGhpcy5rZXkpO1xuICAgIHRoaXMuc3RhdHVzJC5uZXh0KHN0YXR1cyB8fCBUb2FzdGVyLlN0YXR1cy5kaXNtaXNzKTtcbiAgICB0aGlzLnN0YXR1cyQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js new file mode 100644 index 0000000000..6945f98905 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { slideFromBottom } from './slide.animation'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9uJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js new file mode 100644 index 0000000000..d9b3a4f31c --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export var slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9zbGlkZS5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFTLE1BQU0scUJBQXFCLENBQUM7O0FBQ3hGLE1BQU0sS0FBTyxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3hELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1RCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgcXVlcnkgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmV4cG9ydCBjb25zdCBzbGlkZUZyb21Cb3R0b20gPSB0cmlnZ2VyKCdyb3V0ZUFuaW1hdGlvbnMnLCBbXG4gIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcyMHB4Jywgb3BhY2l0eTogJzAnIH0pKSxcbiAgc3RhdGUoJyonLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzBweCcsIG9wYWNpdHk6ICcxJyB9KSksXG4gIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMScsICdtYXJnaW4tdG9wJzogJzBweCcgfSkpXSksXG5dKTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js new file mode 100644 index 0000000000..1b95b0d0c3 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js @@ -0,0 +1,118 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { StartLoader, StopLoader } from '@abp/ng.core'; +import { Component, Input } from '@angular/core'; +import { Actions, ofActionSuccessful } from '@ngxs/store'; +import { filter } from 'rxjs/operators'; +var ButtonComponent = /** @class */ (function () { + function ButtonComponent(actions) { + this.actions = actions; + this.buttonClass = 'btn btn-primary'; + this.buttonType = 'button'; + this.loading = false; + this.disabled = false; + } + Object.defineProperty(ButtonComponent.prototype, "icon", { + get: /** + * @return {?} + */ + function () { + return "" + (this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + ButtonComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (this.requestType || this.requestURLContainSearchValue) { + this.actions + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var condition = true; + if (_this.requestType) { + if (!Array.isArray(_this.requestType)) + _this.requestType = [_this.requestType]; + condition = + condition && + _this.requestType.findIndex((/** + * @param {?} type + * @return {?} + */ + function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; + } + if (condition && _this.requestURLContainSearchValue) { + condition = + condition && + event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; + } + return condition; + }))) + .subscribe((/** + * @return {?} + */ + function () { + setTimeout((/** + * @return {?} + */ + function () { + _this.loading = !_this.loading; + }), 0); + })); + } + }; + ButtonComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-button', + template: "\n \n " + }] } + ]; + /** @nocollapse */ + ButtonComponent.ctorParameters = function () { return [ + { type: Actions } + ]; }; + ButtonComponent.propDecorators = { + buttonClass: [{ type: Input }], + buttonType: [{ type: Input }], + iconClass: [{ type: Input }], + loading: [{ type: Input }], + disabled: [{ type: Input }], + requestType: [{ type: Input }], + requestURLContainSearchValue: [{ type: Input }] + }; + return ButtonComponent; +}()); +export { ButtonComponent }; +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; + /** @type {?} */ + ButtonComponent.prototype.requestType; + /** @type {?} */ + ButtonComponent.prototype.requestURLContainSearchValue; + /** + * @type {?} + * @private + */ + ButtonComponent.prototype.actions; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDO0lBa0NFLHlCQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQztJQUp4QyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOzs7O0lBSUQsa0NBQVE7OztJQUFSO1FBQUEsaUJBOEJDO1FBN0JDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU87aUJBQ1QsSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTTs7OztZQUFDLFVBQUMsS0FBK0I7O29CQUNqQyxTQUFTLEdBQUcsSUFBSTtnQkFDcEIsSUFBSSxLQUFJLENBQUMsV0FBVyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDO3dCQUFFLEtBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBRTVFLFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7NEJBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQXpELENBQXlELEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdEc7Z0JBRUQsSUFBSSxTQUFTLElBQUksS0FBSSxDQUFDLDRCQUE0QixFQUFFO29CQUNsRCxTQUFTO3dCQUNQLFNBQVM7NEJBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNqRztnQkFFRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLEVBQUMsQ0FDSDtpQkFDQSxTQUFTOzs7WUFBQztnQkFDVCxVQUFVOzs7Z0JBQUM7b0JBQ1QsS0FBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUNSLENBQUMsRUFBQyxDQUFDO1NBQ047SUFDSCxDQUFDOztnQkFsRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs7Z0JBVlEsT0FBTzs7OzhCQVliLEtBQUs7NkJBR0wsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSzs4QkFHTCxLQUFLOytDQUdMLEtBQUs7O0lBd0NSLHNCQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0EzRFksZUFBZTs7O0lBQzFCLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/error.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/error.component.js index 1f2f22c95e..bf8bc88c00 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/error.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/error.component.js @@ -20,7 +20,7 @@ var ErrorComponent = /** @class */ (function () { ErrorComponent.decorators = [ { type: Component, args: [{ selector: 'abp-error', - template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n ", + template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ", styles: [".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"] }] } ]; @@ -39,4 +39,4 @@ if (false) { /** @type {?} */ ErrorComponent.prototype.host; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lcnJvcnMvZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVqRTtJQUFBO1FBNkJFLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFaEIsWUFBTyxHQUFHLDhCQUE4QixDQUFDO0lBVzNDLENBQUM7Ozs7SUFIQyxnQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7Z0JBekNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLDZ2QkF1QlQ7O2lCQUVGOztJQWVELHFCQUFDO0NBQUEsQUExQ0QsSUEwQ0M7U0FkWSxjQUFjOzs7SUFDekIsK0JBQWdCOztJQUVoQixpQ0FBeUM7O0lBRXpDLGtDQUFvQjs7SUFFcEIsb0NBQXVCOztJQUV2Qiw4QkFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1lcnJvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gICAgICA8YnV0dG9uIGlkPVwiYWJwLWNsb3NlLWJ1dHRvbiBtci0yXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiZGVzdHJveSgpXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci10ZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPGgxPlxuICAgICAgICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgIHt7IGRldGFpbHMgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGEgcm91dGVyTGluaz1cIi9cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tbWQgbXQtMlwiXG4gICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1ob21lXCI+PC9zcGFuPiBUYWtlIG1lIGhvbWVcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWydlcnJvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckNvbXBvbmVudCB7XG4gIHRpdGxlID0gJ09vcHMhJztcblxuICBkZXRhaWxzID0gJ1NvcnJ5LCBhbiBlcnJvciBoYXMgb2NjdXJlZC4nO1xuXG4gIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBob3N0OiBhbnk7XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuaG9zdCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lcnJvcnMvZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVqRTtJQUFBO1FBNkJFLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFaEIsWUFBTyxHQUFHLDhCQUE4QixDQUFDO0lBVzNDLENBQUM7Ozs7SUFIQyxnQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7Z0JBekNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLGcxQkF1QlQ7O2lCQUVGOztJQWVELHFCQUFDO0NBQUEsQUExQ0QsSUEwQ0M7U0FkWSxjQUFjOzs7SUFDekIsK0JBQWdCOztJQUVoQixpQ0FBeUM7O0lBRXpDLGtDQUFvQjs7SUFFcEIsb0NBQXVCOztJQUV2Qiw4QkFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1lcnJvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gICAgICA8YnV0dG9uIGlkPVwiYWJwLWNsb3NlLWJ1dHRvbiBtci0yXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiZGVzdHJveSgpXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci10ZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPGgxPlxuICAgICAgICAgICAgICB7eyB0aXRsZSB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgIHt7IGRldGFpbHMgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cImRlc3Ryb3koKVwiIHJvdXRlckxpbms9XCIvXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLW1kIG10LTJcIlxuICAgICAgICAgICAgICAgID48c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24taG9tZVwiPjwvc3Bhbj4ge3sgJzo6TWVudTpIb21lJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJ2Vycm9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IHtcbiAgdGl0bGUgPSAnT29wcyEnO1xuXG4gIGRldGFpbHMgPSAnU29ycnksIGFuIGVycm9yIGhhcyBvY2N1cmVkLic7XG5cbiAgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGhvc3Q6IGFueTtcblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5ob3N0LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js new file mode 100644 index 0000000000..93a2a89d7d --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js @@ -0,0 +1,47 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core'; +var ValidationErrorComponent = /** @class */ (function (_super) { + tslib_1.__extends(ValidationErrorComponent, _super); + function ValidationErrorComponent() { + return _super !== null && _super.apply(this, arguments) || this; + } + Object.defineProperty(ValidationErrorComponent.prototype, "abpErrors", { + get: /** + * @return {?} + */ + function () { + return this.validationErrors.map((/** + * @param {?} error + * @return {?} + */ + function (error) { + if (!error.message) + return error; + /** @type {?} */ + var index = error.message.indexOf('['); + if (index > -1) { + return tslib_1.__assign({}, error, { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') }); + } + return error; + })); + }, + enumerable: true, + configurable: true + }); + ValidationErrorComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-validation-error', + template: "\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ", + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None + }] } + ]; + return ValidationErrorComponent; +}(ErrorComponent)); +export { ValidationErrorComponent }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFjLHdCQUF3QixJQUFJLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVGO0lBVThDLG9EQUFjO0lBVjVEOztJQTRCQSxDQUFDO0lBakJDLHNCQUFJLCtDQUFTOzs7O1FBQWI7WUFDRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxLQUFLO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87b0JBQUUsT0FBTyxLQUFLLENBQUM7O29CQUUzQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUV4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDZCw0QkFDSyxLQUFLLElBQ1IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDdEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQ3RGO2lCQUNIO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDOzs7T0FBQTs7Z0JBM0JGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0xBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7SUFtQkQsK0JBQUM7Q0FBQSxBQTVCRCxDQVU4QyxjQUFjLEdBa0IzRDtTQWxCWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiwgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGFzIEVycm9yQ29tcG9uZW50IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXZhbGlkYXRpb24tZXJyb3InLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGFicEVycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICB7eyBlcnJvci5tZXNzYWdlIHwgYWJwTG9jYWxpemF0aW9uOiBlcnJvci5pbnRlcnBvbGl0ZVBhcmFtcyB9fVxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGV4dGVuZHMgRXJyb3JDb21wb25lbnQge1xuICBnZXQgYWJwRXJyb3JzKCk6IFZhbGlkYXRpb24uRXJyb3JbXSAmIHsgaW50ZXJwb2xpdGVQYXJhbXM/OiBzdHJpbmdbXSB9IHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uRXJyb3JzLm1hcChlcnJvciA9PiB7XG4gICAgICBpZiAoIWVycm9yLm1lc3NhZ2UpIHJldHVybiBlcnJvcjtcblxuICAgICAgY29uc3QgaW5kZXggPSBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ1snKTtcblxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5lcnJvcixcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICBpbnRlcnBvbGl0ZVBhcmFtczogZXJyb3IubWVzc2FnZS5zbGljZShpbmRleCArIDEsIGVycm9yLm1lc3NhZ2UubGVuZ3RoIC0gMSkuc3BsaXQoJywnKSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js index c5ead0704c..ef830217e2 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js @@ -2,7 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { ButtonComponent } from './button/button.component'; export { ConfirmationComponent } from './confirmation/confirmation.component'; -export { ToastComponent } from './toast/toast.component'; +export { LoaderBarComponent } from './loader-bar/loader-bar.component'; export { ModalComponent } from './modal/modal.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file +export { ToastComponent } from './toast/toast.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js index 04f5563f60..952b71a527 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js @@ -2,12 +2,12 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; +import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { takeUntilDestroy } from '@ngx-validate/core'; import { Actions, ofActionSuccessful } from '@ngxs/store'; -import { LoaderStart, LoaderStop } from '@abp/ng.core'; import { filter } from 'rxjs/operators'; -import { Router, NavigationStart, NavigationEnd } from '@angular/router'; -import { takeUntilDestroy } from '@ngx-validate/core'; var LoaderBarComponent = /** @class */ (function () { function LoaderBarComponent(actions, router) { var _this = this; @@ -23,13 +23,13 @@ var LoaderBarComponent = /** @class */ (function () { function (action) { return action.payload.url.indexOf('openid-configuration') < 0; }); this.progressLevel = 0; actions - .pipe(ofActionSuccessful(LoaderStart, LoaderStop), filter(this.filter), takeUntilDestroy(this)) + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter(this.filter), takeUntilDestroy(this)) .subscribe((/** * @param {?} action * @return {?} */ function (action) { - if (action instanceof LoaderStart) + if (action instanceof StartLoader) _this.startLoading(); else _this.stopLoading(); @@ -150,4 +150,4 @@ if (false) { */ LoaderBarComponent.prototype.router; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXREO0lBMEJFLDRCQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBNUQsaUJBcUJDO1FBckJtQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWY1RCxtQkFBYyxHQUFXLGdCQUFnQixDQUFDO1FBRzFDLGtCQUFhLEdBQVcsY0FBYyxDQUFDO1FBR3ZDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsV0FBTTs7OztRQUFHLFVBQUMsTUFBZ0MsSUFBSyxPQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBdEQsQ0FBc0QsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsTUFBTTtZQUNmLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsS0FBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFsRSxDQUFrRSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDZCxJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVgsY0FBZSxDQUFDOzs7O0lBRWhCLHlDQUFZOzs7SUFBWjtRQUFBLGlCQWVDO1FBZEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O1lBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQztZQUMzQixJQUFJLEtBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFO2dCQUMzQixLQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxHQUFFLEdBQUcsQ0FBQztRQUVQLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFBQSxpQkFRQztRQVBDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztnQkE1RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxtTUFJVDs7aUJBRUY7Ozs7Z0JBZFEsT0FBTztnQkFHUCxNQUFNOzs7aUNBYVosS0FBSztnQ0FHTCxLQUFLOzRCQUdMLEtBQUs7eUJBR0wsS0FBSzs7SUEwRFIseUJBQUM7Q0FBQSxBQTdFRCxJQTZFQztTQXBFWSxrQkFBa0I7OztJQUM3Qiw0Q0FDMEM7O0lBRTFDLDJDQUN1Qzs7SUFFdkMsdUNBQzJCOztJQUUzQixvQ0FDc0c7O0lBRXRHLDJDQUEwQjs7SUFFMUIsc0NBQWM7Ozs7O0lBRUYscUNBQXdCOzs7OztJQUFFLG9DQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMb2FkZXJTdGFydCwgTG9hZGVyU3RvcCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25TdGFydCwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRlci1iYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgaWQ9XCJhYnAtbG9hZGVyLWJhclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgW2NsYXNzLmlzLWxvYWRpbmddPVwiaXNMb2FkaW5nXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cInByb2dyZXNzQ2xhc3NcIiBbc3R5bGUud2lkdGgudnddPVwicHJvZ3Jlc3NMZXZlbFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXItYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnYWJwLWxvYWRlci1iYXInO1xuXG4gIEBJbnB1dCgpXG4gIHByb2dyZXNzQ2xhc3M6IHN0cmluZyA9ICdhYnAtcHJvZ3Jlc3MnO1xuXG4gIEBJbnB1dCgpXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlciA9IChhY3Rpb246IExvYWRlclN0YXJ0IHwgTG9hZGVyU3RvcCkgPT4gYWN0aW9uLnBheWxvYWQudXJsLmluZGV4T2YoJ29wZW5pZC1jb25maWd1cmF0aW9uJykgPCAwO1xuXG4gIHByb2dyZXNzTGV2ZWw6IG51bWJlciA9IDA7XG5cbiAgaW50ZXJ2YWw6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBhY3Rpb25zXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZBY3Rpb25TdWNjZXNzZnVsKExvYWRlclN0YXJ0LCBMb2FkZXJTdG9wKSxcbiAgICAgICAgZmlsdGVyKHRoaXMuZmlsdGVyKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIExvYWRlclN0YXJ0KSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuXG4gICAgcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkgdGhpcy5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBzdGFydExvYWRpbmcoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDc1KSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSBNYXRoLnJhbmRvbSgpICogMTA7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDkwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDEwMCkge1xuICAgICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC4xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMzAwKTtcblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBpbnRlcnZhbDtcbiAgfVxuXG4gIHN0b3BMb2FkaW5nKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMTAwO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDA7XG4gICAgfSwgODAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDO0lBMEJFLDRCQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBNUQsaUJBcUJDO1FBckJtQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWY1RCxtQkFBYyxHQUFXLGdCQUFnQixDQUFDO1FBRzFDLGtCQUFhLEdBQVcsY0FBYyxDQUFDO1FBR3ZDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsV0FBTTs7OztRQUFHLFVBQUMsTUFBZ0MsSUFBSyxPQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBdEQsQ0FBc0QsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsTUFBTTtZQUNmLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsS0FBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFsRSxDQUFrRSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDZCxJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVgsY0FBZSxDQUFDOzs7O0lBRWhCLHlDQUFZOzs7SUFBWjtRQUFBLGlCQWVDO1FBZEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O1lBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQztZQUMzQixJQUFJLEtBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFO2dCQUMzQixLQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxHQUFFLEdBQUcsQ0FBQztRQUVQLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFBQSxpQkFRQztRQVBDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztnQkE1RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxtTUFJVDs7aUJBRUY7Ozs7Z0JBWFEsT0FBTztnQkFGeUIsTUFBTTs7O2lDQWU1QyxLQUFLO2dDQUdMLEtBQUs7NEJBR0wsS0FBSzt5QkFHTCxLQUFLOztJQTBEUix5QkFBQztDQUFBLEFBN0VELElBNkVDO1NBcEVZLGtCQUFrQjs7O0lBQzdCLDRDQUMwQzs7SUFFMUMsMkNBQ3VDOztJQUV2Qyx1Q0FDMkI7O0lBRTNCLG9DQUNzRzs7SUFFdEcsMkNBQTBCOztJQUUxQixzQ0FBYzs7Ozs7SUFFRixxQ0FBd0I7Ozs7O0lBQUUsb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRlci1iYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgaWQ9XCJhYnAtbG9hZGVyLWJhclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgW2NsYXNzLmlzLWxvYWRpbmddPVwiaXNMb2FkaW5nXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cInByb2dyZXNzQ2xhc3NcIiBbc3R5bGUud2lkdGgudnddPVwicHJvZ3Jlc3NMZXZlbFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXItYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnYWJwLWxvYWRlci1iYXInO1xuXG4gIEBJbnB1dCgpXG4gIHByb2dyZXNzQ2xhc3M6IHN0cmluZyA9ICdhYnAtcHJvZ3Jlc3MnO1xuXG4gIEBJbnB1dCgpXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlciA9IChhY3Rpb246IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4gYWN0aW9uLnBheWxvYWQudXJsLmluZGV4T2YoJ29wZW5pZC1jb25maWd1cmF0aW9uJykgPCAwO1xuXG4gIHByb2dyZXNzTGV2ZWw6IG51bWJlciA9IDA7XG5cbiAgaW50ZXJ2YWw6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBhY3Rpb25zXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZBY3Rpb25TdWNjZXNzZnVsKFN0YXJ0TG9hZGVyLCBTdG9wTG9hZGVyKSxcbiAgICAgICAgZmlsdGVyKHRoaXMuZmlsdGVyKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIFN0YXJ0TG9hZGVyKSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuXG4gICAgcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkgdGhpcy5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBzdGFydExvYWRpbmcoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDc1KSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSBNYXRoLnJhbmRvbSgpICogMTA7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDkwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDEwMCkge1xuICAgICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC4xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMzAwKTtcblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBpbnRlcnZhbDtcbiAgfVxuXG4gIHN0b3BMb2FkaW5nKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMTAwO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDA7XG4gICAgfSwgODAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/modal/modal.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/modal/modal.component.js index d10da3d441..9317e0858b 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/modal/modal.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/modal/modal.component.js @@ -3,21 +3,27 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, } from '@angular/core'; +import { Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; import { fromEvent, Subject, timer } from 'rxjs'; -import { debounceTime, filter, take, takeUntil } from 'rxjs/operators'; +import { filter, take, takeUntil, debounceTime } from 'rxjs/operators'; import { ConfirmationService } from '../../services/confirmation.service'; +import { ButtonComponent } from '../button/button.component'; +/** @type {?} */ +var ANIMATION_TIMEOUT = 200; var ModalComponent = /** @class */ (function () { function ModalComponent(renderer, confirmationService) { this.renderer = renderer; this.confirmationService = confirmationService; - this.centered = true; + this.centered = false; this.modalClass = ''; this.size = 'lg'; this.visibleChange = new EventEmitter(); + this.init = new EventEmitter(); this._visible = false; - this.closable = false; + this._busy = false; + this.showModal = false; this.isOpenConfirmation = false; + this.closable = false; this.destroy$ = new Subject(); } Object.defineProperty(ModalComponent.prototype, "visible", { @@ -33,11 +39,18 @@ var ModalComponent = /** @class */ (function () { */ function (value) { var _this = this; + if (typeof value !== 'boolean') + return; if (!this.modalContent) { - setTimeout((/** - * @return {?} - */ - function () { return (_this.visible = value); }), 0); + if (value) { + setTimeout((/** + * @return {?} + */ + function () { + _this.showModal = value; + _this.visible = value; + }), 0); + } return; } if (value) { @@ -52,10 +65,29 @@ var ModalComponent = /** @class */ (function () { */ function () { _this.setVisible(value); - _this.renderer.removeClass(_this.modalContent.nativeElement, 'fade-out-top'); _this.ngOnDestroy(); - }), 350); + }), ANIMATION_TIMEOUT - 10); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ModalComponent.prototype, "busy", { + get: /** + * @return {?} + */ + function () { + return this._busy; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) { + this.abpSubmit.loading = value; } + this._busy = value; }, enumerable: true, configurable: true @@ -81,8 +113,9 @@ var ModalComponent = /** @class */ (function () { var _this = this; this._visible = value; this.visibleChange.emit(value); + this.showModal = value; value - ? timer(500) + ? timer(ANIMATION_TIMEOUT + 100) .pipe(take(1)) .subscribe((/** * @param {?} _ @@ -99,31 +132,12 @@ var ModalComponent = /** @class */ (function () { */ function () { var _this = this; - fromEvent(document, 'click') - .pipe(debounceTime(350), takeUntil(this.destroy$), filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - return event && - _this.closable && - _this.modalContent && - !_this.isOpenConfirmation && - !_this.modalContent.nativeElement.contains(event.target); - }))) - .subscribe((/** - * @param {?} _ - * @return {?} - */ - function (_) { - _this.close(); - })); fromEvent(document, 'keyup') - .pipe(takeUntil(this.destroy$), filter((/** + .pipe(takeUntil(this.destroy$), debounceTime(150), filter((/** * @param {?} key * @return {?} */ - function (key) { return key && key.code === 'Escape' && _this.closable; })), debounceTime(350)) + function (key) { return key && key.code === 'Escape' && _this.closable; }))) .subscribe((/** * @param {?} _ * @return {?} @@ -131,17 +145,23 @@ var ModalComponent = /** @class */ (function () { function (_) { _this.close(); })); - if (!this.abpClose) - return; - fromEvent(this.abpClose.nativeElement, 'click') - .pipe(takeUntil(this.destroy$), filter((/** + setTimeout((/** * @return {?} */ - function () { return !!(_this.closable && _this.modalContent); })), debounceTime(350)) - .subscribe((/** - * @return {?} - */ - function () { return _this.close(); })); + function () { + if (!_this.abpClose) + return; + fromEvent(_this.abpClose.nativeElement, 'click') + .pipe(takeUntil(_this.destroy$), filter((/** + * @return {?} + */ + function () { return !!(_this.closable && _this.modalContent); }))) + .subscribe((/** + * @return {?} + */ + function () { return _this.close(); })); + }), 0); + this.init.emit(); }; /** * @return {?} @@ -151,6 +171,8 @@ var ModalComponent = /** @class */ (function () { */ function () { var _this = this; + if (!this.closable || this.busy) + return; /** @type {?} */ var nodes = getFlatNodes(((/** @type {?} */ (this.modalContent.nativeElement.querySelector('#abp-modal-body')))).childNodes); if (hasNgDirty(nodes)) { @@ -164,7 +186,7 @@ var ModalComponent = /** @class */ (function () { * @return {?} */ function (status) { - timer(400).subscribe((/** + timer(ANIMATION_TIMEOUT).subscribe((/** * @return {?} */ function () { @@ -182,7 +204,7 @@ var ModalComponent = /** @class */ (function () { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'abp-modal', - template: "\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n \n\n \n\n" + template: "\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n" }] } ]; /** @nocollapse */ @@ -192,15 +214,21 @@ var ModalComponent = /** @class */ (function () { ]; }; ModalComponent.propDecorators = { visible: [{ type: Input }], + busy: [{ type: Input }], centered: [{ type: Input }], modalClass: [{ type: Input }], size: [{ type: Input }], + height: [{ type: Input }], + minHeight: [{ type: Input }], visibleChange: [{ type: Output }], + init: [{ type: Output }], abpHeader: [{ type: ContentChild, args: ['abpHeader', { static: false },] }], abpBody: [{ type: ContentChild, args: ['abpBody', { static: false },] }], abpFooter: [{ type: ContentChild, args: ['abpFooter', { static: false },] }], abpClose: [{ type: ContentChild, args: ['abpClose', { static: false, read: ElementRef },] }], - modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }] + abpSubmit: [{ type: ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }], + modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], + abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; return ModalComponent; }()); @@ -213,8 +241,14 @@ if (false) { /** @type {?} */ ModalComponent.prototype.size; /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ ModalComponent.prototype.visibleChange; /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ ModalComponent.prototype.abpHeader; /** @type {?} */ ModalComponent.prototype.abpBody; @@ -223,14 +257,22 @@ if (false) { /** @type {?} */ ModalComponent.prototype.abpClose; /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ ModalComponent.prototype.modalContent; /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ ModalComponent.prototype._visible; /** @type {?} */ - ModalComponent.prototype.closable; + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; /** @type {?} */ ModalComponent.prototype.isOpenConfirmation; /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ ModalComponent.prototype.destroy$; /** * @type {?} @@ -253,7 +295,7 @@ function getFlatNodes(nodes) { * @param {?} val * @return {?} */ - function (acc, val) { return tslib_1.__spread(acc, (val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])); }), []); + function (acc, val) { return tslib_1.__spread(acc, (val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])); }), []); } /** * @param {?} nodes @@ -266,4 +308,4 @@ function hasNgDirty(nodes) { */ function (node) { return (node.className || '').indexOf('ng-dirty') > -1; })) > -1; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUsxRTtJQXVERSx3QkFBb0IsUUFBbUIsRUFBVSxtQkFBd0M7UUFBckUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUExQmhGLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixTQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXRCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVl0RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTZELENBQUM7SUFsRDdGLHNCQUNJLG1DQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFDRCxVQUFZLEtBQWM7WUFBMUIsaUJBa0JDO1lBakJDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixVQUFVOzs7Z0JBQUMsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBdEIsQ0FBc0IsR0FBRSxDQUFDLENBQUMsQ0FBQztnQkFDNUMsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN4RSxVQUFVOzs7Z0JBQUM7b0JBQ1QsS0FBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsS0FBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQzNFLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1Q7UUFDSCxDQUFDOzs7T0FuQkE7Ozs7SUFpREQsb0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELG1DQUFVOzs7O0lBQVYsVUFBVyxLQUFjO1FBQXpCLGlCQVFDO1FBUEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsS0FBSztZQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUzs7OztZQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxLQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUF0QixDQUFzQixFQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OztJQUVELCtCQUFNOzs7SUFBTjtRQUFBLGlCQXFDQztRQXBDQyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQzthQUN6QixJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNOzs7O1FBQ0osVUFBQyxLQUFpQjtZQUNoQixPQUFBLEtBQUs7Z0JBQ0wsS0FBSSxDQUFDLFFBQVE7Z0JBQ2IsS0FBSSxDQUFDLFlBQVk7Z0JBQ2pCLENBQUMsS0FBSSxDQUFDLGtCQUFrQjtnQkFDeEIsQ0FBQyxLQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUp2RCxDQUl1RCxFQUMxRCxDQUNGO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNWLEtBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBQyxDQUFDO1FBRUwsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7YUFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU07Ozs7UUFBQyxVQUFDLEdBQWtCLElBQUssT0FBQSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksS0FBSSxDQUFDLFFBQVEsRUFBN0MsQ0FBNkMsRUFBQyxFQUM3RSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQ2xCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNWLEtBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUzQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQzVDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNOzs7UUFBQyxjQUFNLE9BQUEsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFFBQVEsSUFBSSxLQUFJLENBQUMsWUFBWSxDQUFDLEVBQXRDLENBQXNDLEVBQUMsRUFDcEQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUNsQjthQUNBLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsS0FBSyxFQUFFLEVBQVosQ0FBWSxFQUFDLENBQUM7SUFDbkMsQ0FBQzs7OztJQUVELDhCQUFLOzs7SUFBTDtRQUFBLGlCQXVCQzs7WUF0Qk8sS0FBSyxHQUFHLFlBQVksQ0FDeEIsQ0FBQyxtQkFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBZSxDQUFDLENBQUMsVUFBVSxDQUM3RjtRQUVELElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxPQUFPO1lBRXBDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQjtpQkFDckIsSUFBSSxDQUFDLDREQUE0RCxFQUFFLHdCQUF3QixDQUFDO2lCQUM1RixTQUFTOzs7O1lBQUMsVUFBQyxNQUFzQjtnQkFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVM7OztnQkFBQztvQkFDbkIsS0FBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztnQkFDbEMsQ0FBQyxFQUFDLENBQUM7Z0JBRUgsSUFBSSxNQUFNLDRCQUEyQixFQUFFO29CQUNyQyxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztpQkFDdEI7WUFDSCxDQUFDLEVBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7O2dCQXJJRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLHltQ0FBcUM7aUJBQ3RDOzs7O2dCQWRDLFNBQVM7Z0JBTUYsbUJBQW1COzs7MEJBVXpCLEtBQUs7MkJBd0JMLEtBQUs7NkJBRUwsS0FBSzt1QkFFTCxLQUFLO2dDQUVMLE1BQU07NEJBRU4sWUFBWSxTQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBRTNDLFlBQVksU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUV6QyxZQUFZLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTsyQkFFM0MsWUFBWSxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTsrQkFFNUQsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUF5RmpELHFCQUFDO0NBQUEsQUF0SUQsSUFzSUM7U0FsSVksY0FBYzs7O0lBeUJ6QixrQ0FBa0M7O0lBRWxDLG9DQUFpQzs7SUFFakMsOEJBQWdDOztJQUVoQyx1Q0FBc0Q7O0lBRXRELG1DQUEwRTs7SUFFMUUsaUNBQXNFOztJQUV0RSxtQ0FBMEU7O0lBRTFFLGtDQUF5Rjs7SUFFekYsc0NBQTBFOztJQUUxRSxrQ0FBMEI7O0lBRTFCLGtDQUEwQjs7SUFFMUIsNENBQW9DOztJQUVwQyxrQ0FBK0I7Ozs7O0lBRW5CLGtDQUEyQjs7Ozs7SUFBRSw2Q0FBZ0Q7Ozs7OztBQWlGM0YsU0FBUyxZQUFZLENBQUMsS0FBZTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTs7Ozs7SUFDN0IsVUFBQyxHQUFHLEVBQUUsR0FBRyxJQUFLLHdCQUFJLEdBQUcsRUFBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTFGLENBQTJGLEdBQ3pHLEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQzs7Ozs7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFvQjtJQUN0QyxPQUFPLEtBQUssQ0FBQyxTQUFTOzs7O0lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUEvQyxDQUErQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uLy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IHR5cGUgTW9kYWxTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5tb2RhbENvbnRlbnQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMudmlzaWJsZSA9IHZhbHVlKSwgMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNldFZpc2libGUodmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zYWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm1vZGFsQ29udGVudC5uYXRpdmVFbGVtZW50LCAnZmFkZS1vdXQtdG9wJyk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm1vZGFsQ29udGVudC5uYXRpdmVFbGVtZW50LCAnZmFkZS1vdXQtdG9wJyk7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgIH0sIDM1MCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgY2VudGVyZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIG1vZGFsQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIHNpemU6IE1vZGFsU2l6ZSA9ICdsZyc7XG5cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwSGVhZGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEhlYWRlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdhYnBCb2R5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEJvZHk6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwRm9vdGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEZvb3RlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdhYnBDbG9zZScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBhYnBDbG9zZTogRWxlbWVudFJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2FicE1vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBtb2RhbENvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgX3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjbG9zYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzT3BlbkNvbmZpcm1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIHNldFZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIHZhbHVlXG4gICAgICA/IHRpbWVyKDUwMClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoXyA9PiAodGhpcy5jbG9zYWJsZSA9IHRydWUpKVxuICAgICAgOiAodGhpcy5jbG9zYWJsZSA9IGZhbHNlKTtcbiAgfVxuXG4gIGxpc3RlbigpIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDM1MCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKFxuICAgICAgICAgIChldmVudDogTW91c2VFdmVudCkgPT5cbiAgICAgICAgICAgIGV2ZW50ICYmXG4gICAgICAgICAgICB0aGlzLmNsb3NhYmxlICYmXG4gICAgICAgICAgICB0aGlzLm1vZGFsQ29udGVudCAmJlxuICAgICAgICAgICAgIXRoaXMuaXNPcGVuQ29uZmlybWF0aW9uICYmXG4gICAgICAgICAgICAhdGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG5cbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKGtleTogS2V5Ym9hcmRFdmVudCkgPT4ga2V5ICYmIGtleS5jb2RlID09PSAnRXNjYXBlJyAmJiB0aGlzLmNsb3NhYmxlKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDM1MCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9KTtcblxuICAgIGlmICghdGhpcy5hYnBDbG9zZSkgcmV0dXJuO1xuXG4gICAgZnJvbUV2ZW50KHRoaXMuYWJwQ2xvc2UubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiAhISh0aGlzLmNsb3NhYmxlICYmIHRoaXMubW9kYWxDb250ZW50KSksXG4gICAgICAgIGRlYm91bmNlVGltZSgzNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBnZXRGbGF0Tm9kZXMoXG4gICAgICAodGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjYWJwLW1vZGFsLWJvZHknKSBhcyBIVE1MRWxlbWVudCkuY2hpbGROb2RlcyxcbiAgICApO1xuXG4gICAgaWYgKGhhc05nRGlydHkobm9kZXMpKSB7XG4gICAgICBpZiAodGhpcy5pc09wZW5Db25maXJtYXRpb24pIHJldHVybjtcblxuICAgICAgdGhpcy5pc09wZW5Db25maXJtYXRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAgIC53YXJuKCdBYnBBY2NvdW50OjpBcmVZb3VTdXJlWW91V2FudFRvQ2FuY2VsRWRpdGluZ1dhcm5pbmdNZXNzYWdlJywgJ0FicEFjY291bnQ6OkFyZVlvdVN1cmUnKVxuICAgICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgICAgdGltZXIoNDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW5Db25maXJtYXRpb24gPSBmYWxzZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRGbGF0Tm9kZXMobm9kZXM6IE5vZGVMaXN0KTogSFRNTEVsZW1lbnRbXSB7XG4gIHJldHVybiBBcnJheS5mcm9tKG5vZGVzKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi4odmFsLmNoaWxkTm9kZXMgJiYgdmFsLmNoaWxkTm9kZXMubGVuZ3RoID8gQXJyYXkuZnJvbSh2YWwuY2hpbGROb2RlcykgOiBbdmFsXSldLFxuICAgIFtdLFxuICApO1xufVxuXG5mdW5jdGlvbiBoYXNOZ0RpcnR5KG5vZGVzOiBIVE1MRWxlbWVudFtdKSB7XG4gIHJldHVybiBub2Rlcy5maW5kSW5kZXgobm9kZSA9PiAobm9kZS5jbGFzc05hbWUgfHwgJycpLmluZGV4T2YoJ25nLWRpcnR5JykgPiAtMSkgPiAtMTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztJQUl2RCxpQkFBaUIsR0FBRyxHQUFHO0FBRTdCO0lBdUZFLHdCQUFvQixRQUFtQixFQUFVLG1CQUF3QztRQUFyRSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXhDaEYsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXhCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFNdEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBZ0IxQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFcEMs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QUFtQzs7SUFFbkMsb0NBQWlDOztJQUVqQyw4QkFBZ0M7O0lBRWhDLGdDQUF3Qjs7SUFFeEIsbUNBQTJCOztJQUUzQix1Q0FBc0Q7O0lBRXRELDhCQUEwQzs7SUFFMUMsbUNBQTBFOztJQUUxRSxpQ0FBc0U7O0lBRXRFLG1DQUEwRTs7SUFFMUUsa0NBQXlGOztJQUV6RixtQ0FBb0c7O0lBRXBHLHNDQUEwRTs7SUFFMUUsb0NBQXVDOztJQUV2QyxrQ0FBMEI7O0lBRTFCLCtCQUF1Qjs7SUFFdkIsbUNBQTJCOztJQUUzQiw0Q0FBb0M7O0lBRXBDLGtDQUEwQjs7SUFFMUIsa0NBQStCOzs7OztJQUVuQixrQ0FBMkI7Ozs7O0lBQUUsNkNBQWdEOzs7Ozs7QUFzRTNGLFNBQVMsWUFBWSxDQUFDLEtBQWU7SUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU07Ozs7O0lBQzdCLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyx3QkFBSSxHQUFHLEVBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTVGLENBQTZGLEdBQzNHLEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQzs7Ozs7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFvQjtJQUN0QyxPQUFPLEtBQUssQ0FBQyxTQUFTOzs7O0lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUEvQyxDQUErQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBNb2RhbFNpemUgPSAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuXG5jb25zdCBBTklNQVRJT05fVElNRU9VVCA9IDIwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLm1vZGFsQ29udGVudCkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XG4gICAgICAgIH0sIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZXRWaXNpYmxlKHZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2FibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5tb2RhbENvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2ZhZGUtb3V0LXRvcCcpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmlzaWJsZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgIH0sIEFOSU1BVElPTl9USU1FT1VUIC0gMTApO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBidXN5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5O1xuICB9XG4gIHNldCBidXN5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYWJwU3VibWl0ICYmIHRoaXMuYWJwU3VibWl0IGluc3RhbmNlb2YgQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmFicFN1Ym1pdC5sb2FkaW5nID0gdmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5fYnVzeSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgY2VudGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBtb2RhbENsYXNzOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbGcnO1xuXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIG1pbkhlaWdodDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKSBpbml0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQm9keScsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEZvb3RlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBGb290ZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZCgnYWJwQ2xvc2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgYWJwQ2xvc2U6IEVsZW1lbnRSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEJ1dHRvbkNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBCdXR0b25Db21wb25lbnQgfSkgYWJwU3VibWl0OiBCdXR0b25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnYWJwTW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIG1vZGFsQ29udGVudDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkcmVuKCdhYnAtYnV0dG9uJykgYWJwQnV0dG9ucztcblxuICBfdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIF9idXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgc2hvd01vZGFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNPcGVuQ29uZmlybWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY2xvc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBzZXRWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLnNob3dNb2RhbCA9IHZhbHVlO1xuXG4gICAgdmFsdWVcbiAgICAgID8gdGltZXIoQU5JTUFUSU9OX1RJTUVPVVQgKyAxMDApXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4gKHRoaXMuY2xvc2FibGUgPSB0cnVlKSlcbiAgICAgIDogKHRoaXMuY2xvc2FibGUgPSBmYWxzZSk7XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5dXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuY2xvc2FibGUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5hYnBDbG9zZSkgcmV0dXJuO1xuICAgICAgZnJvbUV2ZW50KHRoaXMuYWJwQ2xvc2UubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgIGZpbHRlcigoKSA9PiAhISh0aGlzLmNsb3NhYmxlICYmIHRoaXMubW9kYWxDb250ZW50KSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH0sIDApO1xuXG4gICAgdGhpcy5pbml0LmVtaXQoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5jbG9zYWJsZSB8fCB0aGlzLmJ1c3kpIHJldHVybjtcblxuICAgIGNvbnN0IG5vZGVzID0gZ2V0RmxhdE5vZGVzKFxuICAgICAgKHRoaXMubW9kYWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FicC1tb2RhbC1ib2R5JykgYXMgSFRNTEVsZW1lbnQpLmNoaWxkTm9kZXMsXG4gICAgKTtcblxuICAgIGlmIChoYXNOZ0RpcnR5KG5vZGVzKSkge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uKSByZXR1cm47XG5cbiAgICAgIHRoaXMuaXNPcGVuQ29uZmlybWF0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgICAud2FybignQWJwQWNjb3VudDo6QXJlWW91U3VyZVlvdVdhbnRUb0NhbmNlbEVkaXRpbmdXYXJuaW5nTWVzc2FnZScsICdBYnBBY2NvdW50OjpBcmVZb3VTdXJlJylcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICAgIHRpbWVyKEFOSU1BVElPTl9USU1FT1VUKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW5Db25maXJtYXRpb24gPSBmYWxzZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRGbGF0Tm9kZXMobm9kZXM6IE5vZGVMaXN0KTogSFRNTEVsZW1lbnRbXSB7XG4gIHJldHVybiBBcnJheS5mcm9tKG5vZGVzKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi4odmFsLmNoaWxkTm9kZXMgJiYgdmFsLmNoaWxkTm9kZXMubGVuZ3RoID8gZ2V0RmxhdE5vZGVzKHZhbC5jaGlsZE5vZGVzKSA6IFt2YWxdKV0sXG4gICAgW10sXG4gICk7XG59XG5cbmZ1bmN0aW9uIGhhc05nRGlydHkobm9kZXM6IEhUTUxFbGVtZW50W10pIHtcbiAgcmV0dXJuIG5vZGVzLmZpbmRJbmRleChub2RlID0+IChub2RlLmNsYXNzTmFtZSB8fCAnJykuaW5kZXhPZignbmctZGlydHknKSA+IC0xKSA+IC0xO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js index c8edd69cb7..26738f32b8 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export default "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/*

    - {{ title }} + {{ title | abpLocalization }}

    - {{ details }} + {{ details | abpLocalization }}
    @@ -234,13 +236,13 @@ class LoaderBarComponent { (action) => action.payload.url.indexOf('openid-configuration') < 0); this.progressLevel = 0; actions - .pipe(ofActionSuccessful(LoaderStart, LoaderStop), filter(this.filter), takeUntilDestroy(this)) + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter(this.filter), takeUntilDestroy(this)) .subscribe((/** * @param {?} action * @return {?} */ action => { - if (action instanceof LoaderStart) + if (action instanceof StartLoader) this.startLoading(); else this.stopLoading(); @@ -333,6 +335,98 @@ LoaderBarComponent.propDecorators = { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +class ButtonComponent { + /** + * @param {?} actions + */ + constructor(actions) { + this.actions = actions; + this.buttonClass = 'btn btn-primary'; + this.buttonType = 'button'; + this.loading = false; + this.disabled = false; + } + /** + * @return {?} + */ + get icon() { + return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; + } + /** + * @return {?} + */ + ngOnInit() { + if (this.requestType || this.requestURLContainSearchValue) { + this.actions + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** + * @param {?} event + * @return {?} + */ + (event) => { + /** @type {?} */ + let condition = true; + if (this.requestType) { + if (!Array.isArray(this.requestType)) + this.requestType = [this.requestType]; + condition = + condition && + this.requestType.findIndex((/** + * @param {?} type + * @return {?} + */ + type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; + } + if (condition && this.requestURLContainSearchValue) { + condition = + condition && + event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; + } + return condition; + }))) + .subscribe((/** + * @return {?} + */ + () => { + setTimeout((/** + * @return {?} + */ + () => { + this.loading = !this.loading; + }), 0); + })); + } + } +} +ButtonComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-button', + template: ` + + ` + }] } +]; +/** @nocollapse */ +ButtonComponent.ctorParameters = () => [ + { type: Actions } +]; +ButtonComponent.propDecorators = { + buttonClass: [{ type: Input }], + buttonType: [{ type: Input }], + iconClass: [{ type: Input }], + loading: [{ type: Input }], + disabled: [{ type: Input }], + requestType: [{ type: Input }], + requestURLContainSearchValue: [{ type: Input }] +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +const ANIMATION_TIMEOUT = 200; class ModalComponent { /** * @param {?} renderer @@ -341,13 +435,16 @@ class ModalComponent { constructor(renderer, confirmationService) { this.renderer = renderer; this.confirmationService = confirmationService; - this.centered = true; + this.centered = false; this.modalClass = ''; this.size = 'lg'; this.visibleChange = new EventEmitter(); + this.init = new EventEmitter(); this._visible = false; - this.closable = false; + this._busy = false; + this.showModal = false; this.isOpenConfirmation = false; + this.closable = false; this.destroy$ = new Subject(); } /** @@ -361,11 +458,18 @@ class ModalComponent { * @return {?} */ set visible(value) { + if (typeof value !== 'boolean') + return; if (!this.modalContent) { - setTimeout((/** - * @return {?} - */ - () => (this.visible = value)), 0); + if (value) { + setTimeout((/** + * @return {?} + */ + () => { + this.showModal = value; + this.visible = value; + }), 0); + } return; } if (value) { @@ -380,11 +484,26 @@ class ModalComponent { */ () => { this.setVisible(value); - this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top'); this.ngOnDestroy(); - }), 350); + }), ANIMATION_TIMEOUT - 10); } } + /** + * @return {?} + */ + get busy() { + return this._busy; + } + /** + * @param {?} value + * @return {?} + */ + set busy(value) { + if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) { + this.abpSubmit.loading = value; + } + this._busy = value; + } /** * @return {?} */ @@ -398,8 +517,9 @@ class ModalComponent { setVisible(value) { this._visible = value; this.visibleChange.emit(value); + this.showModal = value; value - ? timer(500) + ? timer(ANIMATION_TIMEOUT + 100) .pipe(take(1)) .subscribe((/** * @param {?} _ @@ -412,29 +532,12 @@ class ModalComponent { * @return {?} */ listen() { - fromEvent(document, 'click') - .pipe(debounceTime(350), takeUntil(this.destroy$), filter((/** - * @param {?} event - * @return {?} - */ - (event) => event && - this.closable && - this.modalContent && - !this.isOpenConfirmation && - !this.modalContent.nativeElement.contains(event.target)))) - .subscribe((/** - * @param {?} _ - * @return {?} - */ - _ => { - this.close(); - })); fromEvent(document, 'keyup') - .pipe(takeUntil(this.destroy$), filter((/** + .pipe(takeUntil(this.destroy$), debounceTime(150), filter((/** * @param {?} key * @return {?} */ - (key) => key && key.code === 'Escape' && this.closable)), debounceTime(350)) + (key) => key && key.code === 'Escape' && this.closable))) .subscribe((/** * @param {?} _ * @return {?} @@ -442,22 +545,30 @@ class ModalComponent { _ => { this.close(); })); - if (!this.abpClose) - return; - fromEvent(this.abpClose.nativeElement, 'click') - .pipe(takeUntil(this.destroy$), filter((/** - * @return {?} - */ - () => !!(this.closable && this.modalContent))), debounceTime(350)) - .subscribe((/** + setTimeout((/** * @return {?} */ - () => this.close())); + () => { + if (!this.abpClose) + return; + fromEvent(this.abpClose.nativeElement, 'click') + .pipe(takeUntil(this.destroy$), filter((/** + * @return {?} + */ + () => !!(this.closable && this.modalContent)))) + .subscribe((/** + * @return {?} + */ + () => this.close())); + }), 0); + this.init.emit(); } /** * @return {?} */ close() { + if (!this.closable || this.busy) + return; /** @type {?} */ const nodes = getFlatNodes(((/** @type {?} */ (this.modalContent.nativeElement.querySelector('#abp-modal-body')))).childNodes); if (hasNgDirty(nodes)) { @@ -471,7 +582,7 @@ class ModalComponent { * @return {?} */ (status) => { - timer(400).subscribe((/** + timer(ANIMATION_TIMEOUT).subscribe((/** * @return {?} */ () => { @@ -490,7 +601,7 @@ class ModalComponent { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'abp-modal', - template: "\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n \n\n \n\n" + template: "\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n" }] } ]; /** @nocollapse */ @@ -500,15 +611,21 @@ ModalComponent.ctorParameters = () => [ ]; ModalComponent.propDecorators = { visible: [{ type: Input }], + busy: [{ type: Input }], centered: [{ type: Input }], modalClass: [{ type: Input }], size: [{ type: Input }], + height: [{ type: Input }], + minHeight: [{ type: Input }], visibleChange: [{ type: Output }], + init: [{ type: Output }], abpHeader: [{ type: ContentChild, args: ['abpHeader', { static: false },] }], abpBody: [{ type: ContentChild, args: ['abpBody', { static: false },] }], abpFooter: [{ type: ContentChild, args: ['abpFooter', { static: false },] }], abpClose: [{ type: ContentChild, args: ['abpClose', { static: false, read: ElementRef },] }], - modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }] + abpSubmit: [{ type: ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }], + modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], + abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; /** * @param {?} nodes @@ -520,7 +637,7 @@ function getFlatNodes(nodes) { * @param {?} val * @return {?} */ - (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])]), []); + (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])]), []); } /** * @param {?} nodes @@ -595,6 +712,10 @@ var styles = ` top: 18px; } +.navbar .dropdown-menu { + min-width: 200px; +} + .modal { background-color: rgba(0, 0, 0, .6); } @@ -609,11 +730,11 @@ var styles = ` /* { const { payload: err = (/** @type {?} */ ({})) } = res; /** @type {?} */ - const body = ((/** @type {?} */ (err))).error.error; + const body = snq((/** + * @return {?} + */ + () => ((/** @type {?} */ (err))).error.error), DEFAULTS.defaultError.message); if (err.headers.get('_AbpErrorFormat')) { /** @type {?} */ const confirmation$ = this.showError(null, null, body); @@ -721,14 +845,14 @@ class ErrorHandler { case 500: this.createErrorComponent({ title: '500', - details: 'Sorry, an error has occured.', + details: 'AbpAccount::InternalServerErrorMessage', }); break; case 0: if (((/** @type {?} */ (err))).statusText === 'Unknown Error') { this.createErrorComponent({ title: 'Unknown Error', - details: 'Sorry, an error has occured.', + details: 'AbpAccount::InternalServerErrorMessage', }); } break; @@ -808,6 +932,44 @@ ErrorHandler.ctorParameters = () => [ ]; /** @nocollapse */ ErrorHandler.ngInjectableDef = ɵɵdefineInjectable({ factory: function ErrorHandler_Factory() { return new ErrorHandler(ɵɵinject(Actions), ɵɵinject(Store), ɵɵinject(ConfirmationService), ɵɵinject(ApplicationRef), ɵɵinject(ComponentFactoryResolver), ɵɵinject(RendererFactory2), ɵɵinject(INJECTOR)); }, token: ErrorHandler, providedIn: "root" }); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ValidationErrorComponent extends ValidationErrorComponent$1 { + /** + * @return {?} + */ + get abpErrors() { + return this.validationErrors.map((/** + * @param {?} error + * @return {?} + */ + error => { + if (!error.message) + return error; + /** @type {?} */ + const index = error.message.indexOf('['); + if (index > -1) { + return Object.assign({}, error, { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') }); + } + return error; + })); + } +} +ValidationErrorComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-validation-error', + template: ` +
    + {{ error.message | abpLocalization: error.interpoliteParams }} +
    + `, + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None + }] } +]; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -855,14 +1017,43 @@ ThemeSharedModule.decorators = [ NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', + blueprints: { + email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`, + max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`, + maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`, + min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + required: `AbpAccount::ThisFieldIsRequired.`, + passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`, + }, + errorTemplate: ValidationErrorComponent, }), ], - declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent], - exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], - entryComponents: [ErrorComponent], + declarations: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + ErrorComponent, + LoaderBarComponent, + ValidationErrorComponent, + ], + exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], + entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +const slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -893,7 +1084,7 @@ var Toaster; * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -class ToasterService extends AbstractToasterClass { +class ToasterService extends AbstractToaster { /** * @param {?} messages * @return {?} @@ -911,5 +1102,5 @@ ToasterService.decorators = [ ]; /** @nocollapse */ ToasterService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(ɵɵinject(MessageService)); }, token: ToasterService, providedIn: "root" }); -export { ConfirmationComponent, ConfirmationService, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, ConfirmationComponent as ɵa, ConfirmationService as ɵb, AbstractToasterClass as ɵc, ToastComponent as ɵd, ModalComponent as ɵe, ErrorComponent as ɵf, LoaderBarComponent as ɵg, ErrorHandler as ɵh }; +export { ButtonComponent, ConfirmationComponent, ConfirmationService, LoaderBarComponent, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, slideFromBottom, ValidationErrorComponent as ɵa, ButtonComponent as ɵb, ConfirmationComponent as ɵc, ConfirmationService as ɵd, AbstractToaster as ɵe, ToastComponent as ɵf, ModalComponent as ɵg, ErrorComponent as ɵh, LoaderBarComponent as ɵi, ErrorHandler as ɵj }; //# sourceMappingURL=abp-ng.theme.shared.js.map diff --git a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map index ab72e64cd9..dc1f0d2e75 100644 --- a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToasterClass {\n protected status$: Subject;\n\n protected key: string = 'abpToast';\n\n protected sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToasterClass {\n protected key: string = 'abpConfirmation';\n\n protected sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { LoaderStart, LoaderStop } from '@abp/ng.core';\nimport { filter } from 'rxjs/operators';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: LoaderStart | LoaderStop) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(LoaderStart, LoaderStop),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof LoaderStart) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { debounceTime, filter, take, takeUntil } from 'rxjs/operators';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (!this.modalContent) {\n setTimeout(() => (this.visible = value), 0);\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top');\n this.ngOnDestroy();\n }, 350);\n }\n }\n\n @Input() centered: boolean = true;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Output() visibleChange = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n _visible: boolean = false;\n\n closable: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n value\n ? timer(500)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'click')\n .pipe(\n debounceTime(350),\n takeUntil(this.destroy$),\n filter(\n (event: MouseEvent) =>\n event &&\n this.closable &&\n this.modalContent &&\n !this.isOpenConfirmation &&\n !this.modalContent.nativeElement.contains(event.target),\n ),\n )\n .subscribe(_ => {\n this.close();\n });\n\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n debounceTime(350),\n )\n .subscribe(_ => {\n this.close();\n });\n\n if (!this.abpClose) return;\n\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n debounceTime(350),\n )\n .subscribe(() => this.close());\n }\n\n close() {\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(400).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = (err as HttpErrorResponse).error.error;\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'Sorry, an error has occured.',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'Sorry, an error has occured.',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n }),\n ],\n declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent],\n exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToasterClass {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js index d9c4d2a777..c356307871 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js @@ -1,15 +1,17 @@ -import { LoaderStart, LoaderStop, RestOccurError, CoreModule, LazyLoadService } from '@abp/ng.core'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, Renderer2, Output, ContentChild, ElementRef, ViewChild, EventEmitter, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, NgModule, APP_INITIALIZER } from '@angular/core'; +import { StartLoader, StopLoader, RestOccurError, CoreModule, LazyLoadService } from '@abp/ng.core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, Renderer2, Output, ContentChild, ElementRef, ViewChild, ViewChildren, EventEmitter, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, ChangeDetectionStrategy, ViewEncapsulation, NgModule, APP_INITIALIZER } from '@angular/core'; import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { takeUntilDestroy, NgxValidateCoreModule } from '@ngx-validate/core'; +import { takeUntilDestroy, ValidationErrorComponent as ValidationErrorComponent$1, NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; import { ToastModule } from 'primeng/toast'; import { Subject, timer, fromEvent, forkJoin } from 'rxjs'; -import { filter, take, debounceTime, takeUntil } from 'rxjs/operators'; +import { filter, take, takeUntil, debounceTime } from 'rxjs/operators'; import { __assign, __extends, __spread } from 'tslib'; -import { Actions, ofActionSuccessful, Store } from '@ngxs/store'; import { Router, NavigationStart, NavigationEnd } from '@angular/router'; +import { Actions, ofActionSuccessful, Store } from '@ngxs/store'; import { Navigate, RouterState } from '@ngxs/router-plugin'; +import snq from 'snq'; +import { trigger, state, style, transition, animate } from '@angular/animations'; /** * @fileoverview added by tsickle @@ -21,8 +23,8 @@ import { Navigate, RouterState } from '@ngxs/router-plugin'; var /** * @template T */ -AbstractToasterClass = /** @class */ (function () { - function AbstractToasterClass(messageService) { +AbstractToaster = /** @class */ (function () { + function AbstractToaster(messageService) { this.messageService = messageService; this.key = 'abpToast'; this.sticky = false; @@ -33,7 +35,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.info = /** + AbstractToaster.prototype.info = /** * @param {?} message * @param {?} title * @param {?=} options @@ -48,7 +50,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.success = /** + AbstractToaster.prototype.success = /** * @param {?} message * @param {?} title * @param {?=} options @@ -63,7 +65,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.warn = /** + AbstractToaster.prototype.warn = /** * @param {?} message * @param {?} title * @param {?=} options @@ -78,7 +80,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.error = /** + AbstractToaster.prototype.error = /** * @param {?} message * @param {?} title * @param {?=} options @@ -95,7 +97,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} options * @return {?} */ - AbstractToasterClass.prototype.show = /** + AbstractToaster.prototype.show = /** * @protected * @param {?} message * @param {?} title @@ -113,7 +115,7 @@ AbstractToasterClass = /** @class */ (function () { * @param {?=} status * @return {?} */ - AbstractToasterClass.prototype.clear = /** + AbstractToaster.prototype.clear = /** * @param {?=} status * @return {?} */ @@ -122,7 +124,7 @@ AbstractToasterClass = /** @class */ (function () { this.status$.next(status || "dismiss" /* dismiss */); this.status$.complete(); }; - return AbstractToasterClass; + return AbstractToaster; }()); /** @@ -142,7 +144,7 @@ var ConfirmationService = /** @class */ (function (_super) { ]; /** @nocollapse */ ConfirmationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(ɵɵinject(MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; -}(AbstractToasterClass)); +}(AbstractToaster)); /** * @fileoverview added by tsickle @@ -200,7 +202,7 @@ var ErrorComponent = /** @class */ (function () { ErrorComponent.decorators = [ { type: Component, args: [{ selector: 'abp-error', - template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n ", + template: "\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ", styles: [".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"] }] } ]; @@ -226,13 +228,13 @@ var LoaderBarComponent = /** @class */ (function () { function (action) { return action.payload.url.indexOf('openid-configuration') < 0; }); this.progressLevel = 0; actions - .pipe(ofActionSuccessful(LoaderStart, LoaderStop), filter(this.filter), takeUntilDestroy(this)) + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter(this.filter), takeUntilDestroy(this)) .subscribe((/** * @param {?} action * @return {?} */ function (action) { - if (action instanceof LoaderStart) + if (action instanceof StartLoader) _this.startLoading(); else _this.stopLoading(); @@ -333,17 +335,114 @@ var LoaderBarComponent = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +var ButtonComponent = /** @class */ (function () { + function ButtonComponent(actions) { + this.actions = actions; + this.buttonClass = 'btn btn-primary'; + this.buttonType = 'button'; + this.loading = false; + this.disabled = false; + } + Object.defineProperty(ButtonComponent.prototype, "icon", { + get: /** + * @return {?} + */ + function () { + return "" + (this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + ButtonComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (this.requestType || this.requestURLContainSearchValue) { + this.actions + .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var condition = true; + if (_this.requestType) { + if (!Array.isArray(_this.requestType)) + _this.requestType = [_this.requestType]; + condition = + condition && + _this.requestType.findIndex((/** + * @param {?} type + * @return {?} + */ + function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; + } + if (condition && _this.requestURLContainSearchValue) { + condition = + condition && + event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; + } + return condition; + }))) + .subscribe((/** + * @return {?} + */ + function () { + setTimeout((/** + * @return {?} + */ + function () { + _this.loading = !_this.loading; + }), 0); + })); + } + }; + ButtonComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-button', + template: "\n \n " + }] } + ]; + /** @nocollapse */ + ButtonComponent.ctorParameters = function () { return [ + { type: Actions } + ]; }; + ButtonComponent.propDecorators = { + buttonClass: [{ type: Input }], + buttonType: [{ type: Input }], + iconClass: [{ type: Input }], + loading: [{ type: Input }], + disabled: [{ type: Input }], + requestType: [{ type: Input }], + requestURLContainSearchValue: [{ type: Input }] + }; + return ButtonComponent; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +var ANIMATION_TIMEOUT = 200; var ModalComponent = /** @class */ (function () { function ModalComponent(renderer, confirmationService) { this.renderer = renderer; this.confirmationService = confirmationService; - this.centered = true; + this.centered = false; this.modalClass = ''; this.size = 'lg'; this.visibleChange = new EventEmitter(); + this.init = new EventEmitter(); this._visible = false; - this.closable = false; + this._busy = false; + this.showModal = false; this.isOpenConfirmation = false; + this.closable = false; this.destroy$ = new Subject(); } Object.defineProperty(ModalComponent.prototype, "visible", { @@ -359,11 +458,18 @@ var ModalComponent = /** @class */ (function () { */ function (value) { var _this = this; + if (typeof value !== 'boolean') + return; if (!this.modalContent) { - setTimeout((/** - * @return {?} - */ - function () { return (_this.visible = value); }), 0); + if (value) { + setTimeout((/** + * @return {?} + */ + function () { + _this.showModal = value; + _this.visible = value; + }), 0); + } return; } if (value) { @@ -378,10 +484,29 @@ var ModalComponent = /** @class */ (function () { */ function () { _this.setVisible(value); - _this.renderer.removeClass(_this.modalContent.nativeElement, 'fade-out-top'); _this.ngOnDestroy(); - }), 350); + }), ANIMATION_TIMEOUT - 10); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ModalComponent.prototype, "busy", { + get: /** + * @return {?} + */ + function () { + return this._busy; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) { + this.abpSubmit.loading = value; } + this._busy = value; }, enumerable: true, configurable: true @@ -407,8 +532,9 @@ var ModalComponent = /** @class */ (function () { var _this = this; this._visible = value; this.visibleChange.emit(value); + this.showModal = value; value - ? timer(500) + ? timer(ANIMATION_TIMEOUT + 100) .pipe(take(1)) .subscribe((/** * @param {?} _ @@ -425,31 +551,12 @@ var ModalComponent = /** @class */ (function () { */ function () { var _this = this; - fromEvent(document, 'click') - .pipe(debounceTime(350), takeUntil(this.destroy$), filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - return event && - _this.closable && - _this.modalContent && - !_this.isOpenConfirmation && - !_this.modalContent.nativeElement.contains(event.target); - }))) - .subscribe((/** - * @param {?} _ - * @return {?} - */ - function (_) { - _this.close(); - })); fromEvent(document, 'keyup') - .pipe(takeUntil(this.destroy$), filter((/** + .pipe(takeUntil(this.destroy$), debounceTime(150), filter((/** * @param {?} key * @return {?} */ - function (key) { return key && key.code === 'Escape' && _this.closable; })), debounceTime(350)) + function (key) { return key && key.code === 'Escape' && _this.closable; }))) .subscribe((/** * @param {?} _ * @return {?} @@ -457,17 +564,23 @@ var ModalComponent = /** @class */ (function () { function (_) { _this.close(); })); - if (!this.abpClose) - return; - fromEvent(this.abpClose.nativeElement, 'click') - .pipe(takeUntil(this.destroy$), filter((/** - * @return {?} - */ - function () { return !!(_this.closable && _this.modalContent); })), debounceTime(350)) - .subscribe((/** + setTimeout((/** * @return {?} */ - function () { return _this.close(); })); + function () { + if (!_this.abpClose) + return; + fromEvent(_this.abpClose.nativeElement, 'click') + .pipe(takeUntil(_this.destroy$), filter((/** + * @return {?} + */ + function () { return !!(_this.closable && _this.modalContent); }))) + .subscribe((/** + * @return {?} + */ + function () { return _this.close(); })); + }), 0); + this.init.emit(); }; /** * @return {?} @@ -477,6 +590,8 @@ var ModalComponent = /** @class */ (function () { */ function () { var _this = this; + if (!this.closable || this.busy) + return; /** @type {?} */ var nodes = getFlatNodes(((/** @type {?} */ (this.modalContent.nativeElement.querySelector('#abp-modal-body')))).childNodes); if (hasNgDirty(nodes)) { @@ -490,7 +605,7 @@ var ModalComponent = /** @class */ (function () { * @return {?} */ function (status) { - timer(400).subscribe((/** + timer(ANIMATION_TIMEOUT).subscribe((/** * @return {?} */ function () { @@ -508,7 +623,7 @@ var ModalComponent = /** @class */ (function () { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'abp-modal', - template: "\n \n
    \n
    \n \n\n \n
    \n
    \n \n\n
    \n \n
    \n
    \n
    \n \n\n \n\n" + template: "\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n" }] } ]; /** @nocollapse */ @@ -518,15 +633,21 @@ var ModalComponent = /** @class */ (function () { ]; }; ModalComponent.propDecorators = { visible: [{ type: Input }], + busy: [{ type: Input }], centered: [{ type: Input }], modalClass: [{ type: Input }], size: [{ type: Input }], + height: [{ type: Input }], + minHeight: [{ type: Input }], visibleChange: [{ type: Output }], + init: [{ type: Output }], abpHeader: [{ type: ContentChild, args: ['abpHeader', { static: false },] }], abpBody: [{ type: ContentChild, args: ['abpBody', { static: false },] }], abpFooter: [{ type: ContentChild, args: ['abpFooter', { static: false },] }], abpClose: [{ type: ContentChild, args: ['abpClose', { static: false, read: ElementRef },] }], - modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }] + abpSubmit: [{ type: ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }], + modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], + abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; return ModalComponent; }()); @@ -540,7 +661,7 @@ function getFlatNodes(nodes) { * @param {?} val * @return {?} */ - function (acc, val) { return __spread(acc, (val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])); }), []); + function (acc, val) { return __spread(acc, (val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])); }), []); } /** * @param {?} nodes @@ -574,7 +695,7 @@ var ToastComponent = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1) { + return __assign({}, error, { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') }); + } + return error; + })); + }, + enumerable: true, + configurable: true + }); + ValidationErrorComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-validation-error', + template: "\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ", + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None + }] } + ]; + return ValidationErrorComponent; +}(ValidationErrorComponent$1)); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -805,16 +972,45 @@ var ThemeSharedModule = /** @class */ (function () { NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', + blueprints: { + email: "AbpAccount::ThisFieldIsNotAValidEmailAddress.", + max: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]", + maxlength: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]", + min: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", + minlength: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", + required: "AbpAccount::ThisFieldIsRequired.", + passwordMismatch: "AbpIdentity::Identity.PasswordConfirmationFailed", + }, + errorTemplate: ValidationErrorComponent, }), ], - declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent], - exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], - entryComponents: [ErrorComponent], + declarations: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + ErrorComponent, + LoaderBarComponent, + ValidationErrorComponent, + ], + exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], + entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; return ThemeSharedModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +var slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -871,7 +1067,7 @@ var ToasterService = /** @class */ (function (_super) { ]; /** @nocollapse */ ToasterService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(ɵɵinject(MessageService)); }, token: ToasterService, providedIn: "root" }); return ToasterService; -}(AbstractToasterClass)); +}(AbstractToaster)); -export { ConfirmationComponent, ConfirmationService, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, ConfirmationComponent as ɵa, ConfirmationService as ɵb, AbstractToasterClass as ɵc, ToastComponent as ɵd, ModalComponent as ɵe, ErrorComponent as ɵf, LoaderBarComponent as ɵg, ErrorHandler as ɵh }; +export { ButtonComponent, ConfirmationComponent, ConfirmationService, LoaderBarComponent, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, slideFromBottom, ValidationErrorComponent as ɵa, ButtonComponent as ɵb, ConfirmationComponent as ɵc, ConfirmationService as ɵd, AbstractToaster as ɵe, ToastComponent as ɵf, ModalComponent as ɵg, ErrorComponent as ɵh, LoaderBarComponent as ɵi, ErrorHandler as ɵj }; //# sourceMappingURL=abp-ng.theme.shared.js.map diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map index c5891b7691..ebbea60ec5 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToasterClass {\n protected status$: Subject;\n\n protected key: string = 'abpToast';\n\n protected sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToasterClass {\n protected key: string = 'abpConfirmation';\n\n protected sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title }}\n

    \n
    \n {{ details }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { LoaderStart, LoaderStop } from '@abp/ng.core';\nimport { filter } from 'rxjs/operators';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: LoaderStart | LoaderStop) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(LoaderStart, LoaderStop),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof LoaderStart) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { debounceTime, filter, take, takeUntil } from 'rxjs/operators';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (!this.modalContent) {\n setTimeout(() => (this.visible = value), 0);\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.renderer.removeClass(this.modalContent.nativeElement, 'fade-out-top');\n this.ngOnDestroy();\n }, 350);\n }\n }\n\n @Input() centered: boolean = true;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Output() visibleChange = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n _visible: boolean = false;\n\n closable: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n value\n ? timer(500)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'click')\n .pipe(\n debounceTime(350),\n takeUntil(this.destroy$),\n filter(\n (event: MouseEvent) =>\n event &&\n this.closable &&\n this.modalContent &&\n !this.isOpenConfirmation &&\n !this.modalContent.nativeElement.contains(event.target),\n ),\n )\n .subscribe(_ => {\n this.close();\n });\n\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n debounceTime(350),\n )\n .subscribe(_ => {\n this.close();\n });\n\n if (!this.abpClose) return;\n\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n debounceTime(350),\n )\n .subscribe(() => this.close());\n }\n\n close() {\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(400).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? Array.from(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = (err as HttpErrorResponse).error.error;\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'Sorry, an error has occured.',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'Sorry, an error has occured.',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n }),\n ],\n declarations: [ConfirmationComponent, ToastComponent, ModalComponent, ErrorComponent, LoaderBarComponent],\n exports: [NgbModalModule, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToasterClass } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToasterClass {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/lib/abstracts/toaster.d.ts b/npm/ng-packs/dist/theme-shared/lib/abstracts/toaster.d.ts index 5d42fc0d29..76decacc50 100644 --- a/npm/ng-packs/dist/theme-shared/lib/abstracts/toaster.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/abstracts/toaster.d.ts @@ -1,11 +1,11 @@ import { MessageService } from 'primeng/components/common/messageservice'; import { Observable, Subject } from 'rxjs'; import { Toaster } from '../models/toaster'; -export declare class AbstractToasterClass { +export declare class AbstractToaster { protected messageService: MessageService; - protected status$: Subject; - protected key: string; - protected sticky: boolean; + status$: Subject; + key: string; + sticky: boolean; constructor(messageService: MessageService); info(message: string, title: string, options?: T): Observable; success(message: string, title: string, options?: T): Observable; diff --git a/npm/ng-packs/dist/theme-shared/lib/animations/index.d.ts b/npm/ng-packs/dist/theme-shared/lib/animations/index.d.ts new file mode 100644 index 0000000000..6fd1d939c4 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/lib/animations/index.d.ts @@ -0,0 +1 @@ +export * from './slide.animation'; diff --git a/npm/ng-packs/dist/theme-shared/lib/animations/slide.animation.d.ts b/npm/ng-packs/dist/theme-shared/lib/animations/slide.animation.d.ts new file mode 100644 index 0000000000..e971aa54c7 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/lib/animations/slide.animation.d.ts @@ -0,0 +1 @@ +export declare const slideFromBottom: import("@angular/animations").AnimationTriggerMetadata; diff --git a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts new file mode 100644 index 0000000000..a3ece15409 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts @@ -0,0 +1,15 @@ +import { OnInit } from '@angular/core'; +import { Actions } from '@ngxs/store'; +export declare class ButtonComponent implements OnInit { + private actions; + buttonClass: string; + buttonType: string; + iconClass: string; + loading: boolean; + disabled: boolean; + requestType: string | string[]; + requestURLContainSearchValue: string; + readonly icon: string; + constructor(actions: Actions); + ngOnInit(): void; +} diff --git a/npm/ng-packs/dist/theme-shared/lib/components/errors/validation-error.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/errors/validation-error.component.d.ts new file mode 100644 index 0000000000..449c0a3ece --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/lib/components/errors/validation-error.component.d.ts @@ -0,0 +1,6 @@ +import { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core'; +export declare class ValidationErrorComponent extends ErrorComponent { + readonly abpErrors: Validation.Error[] & { + interpoliteParams?: string[]; + }; +} diff --git a/npm/ng-packs/dist/theme-shared/lib/components/index.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/index.d.ts index d288f2dafa..2e559f366f 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/index.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/index.d.ts @@ -1,3 +1,5 @@ +export * from './button/button.component'; export * from './confirmation/confirmation.component'; -export * from './toast/toast.component'; +export * from './loader-bar/loader-bar.component'; export * from './modal/modal.component'; +export * from './toast/toast.component'; diff --git a/npm/ng-packs/dist/theme-shared/lib/components/loader-bar/loader-bar.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/loader-bar/loader-bar.component.d.ts index 8a34ebaca1..bb1da7bff0 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/loader-bar/loader-bar.component.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/loader-bar/loader-bar.component.d.ts @@ -1,14 +1,14 @@ +import { StartLoader, StopLoader } from '@abp/ng.core'; import { OnDestroy } from '@angular/core'; -import { Actions } from '@ngxs/store'; -import { LoaderStart, LoaderStop } from '@abp/ng.core'; import { Router } from '@angular/router'; +import { Actions } from '@ngxs/store'; export declare class LoaderBarComponent implements OnDestroy { private actions; private router; containerClass: string; progressClass: string; isLoading: boolean; - filter: (action: LoaderStart | LoaderStop) => boolean; + filter: (action: StartLoader | StopLoader) => boolean; progressLevel: number; interval: any; constructor(actions: Actions, router: Router); diff --git a/npm/ng-packs/dist/theme-shared/lib/components/modal/modal.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/modal/modal.component.d.ts index 7a50dbb3f3..4d4be2e131 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/modal/modal.component.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/modal/modal.component.d.ts @@ -1,23 +1,32 @@ import { ElementRef, EventEmitter, OnDestroy, Renderer2, TemplateRef } from '@angular/core'; import { Subject } from 'rxjs'; import { ConfirmationService } from '../../services/confirmation.service'; +import { ButtonComponent } from '../button/button.component'; export declare type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; export declare class ModalComponent implements OnDestroy { private renderer; private confirmationService; visible: boolean; + busy: boolean; centered: boolean; modalClass: string; size: ModalSize; + height: number; + minHeight: number; visibleChange: EventEmitter; + init: EventEmitter; abpHeader: TemplateRef; abpBody: TemplateRef; abpFooter: TemplateRef; abpClose: ElementRef; + abpSubmit: ButtonComponent; modalContent: ElementRef; + abpButtons: any; _visible: boolean; - closable: boolean; + _busy: boolean; + showModal: boolean; isOpenConfirmation: boolean; + closable: boolean; destroy$: Subject; constructor(renderer: Renderer2, confirmationService: ConfirmationService); ngOnDestroy(): void; diff --git a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts index 7437212283..cfc632a8cf 100644 --- a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts @@ -1,2 +1,2 @@ -declare const _default: "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* { - protected key: string; - protected sticky: boolean; +export declare class ConfirmationService extends AbstractToaster { + key: string; + sticky: boolean; } diff --git a/npm/ng-packs/dist/theme-shared/lib/services/toaster.service.d.ts b/npm/ng-packs/dist/theme-shared/lib/services/toaster.service.d.ts index 723687b1e1..92f49b4c02 100644 --- a/npm/ng-packs/dist/theme-shared/lib/services/toaster.service.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/services/toaster.service.d.ts @@ -1,5 +1,5 @@ -import { AbstractToasterClass } from '../abstracts/toaster'; +import { AbstractToaster } from '../abstracts/toaster'; import { Message } from 'primeng/components/common/message'; -export declare class ToasterService extends AbstractToasterClass { +export declare class ToasterService extends AbstractToaster { addAll(messages: Message[]): void; } diff --git a/npm/ng-packs/dist/theme-shared/package.json b/npm/ng-packs/dist/theme-shared/package.json index 404a9304fc..df90956b84 100644 --- a/npm/ng-packs/dist/theme-shared/package.json +++ b/npm/ng-packs/dist/theme-shared/package.json @@ -5,7 +5,7 @@ "@abp/ng.core": "^0.8.0", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", - "@ngx-validate/core": "^0.0.1", + "@ngx-validate/core": "^0.0.4", "bootstrap": "^4.3.1", "font-awesome": "^4.7.0", "ngx-perfect-scrollbar": "^8.0.0", diff --git a/npm/ng-packs/dist/theme-shared/public-api.d.ts b/npm/ng-packs/dist/theme-shared/public-api.d.ts index b118bb87b6..07f2ca23bc 100644 --- a/npm/ng-packs/dist/theme-shared/public-api.d.ts +++ b/npm/ng-packs/dist/theme-shared/public-api.d.ts @@ -1,4 +1,5 @@ export * from './lib/theme-shared.module'; +export * from './lib/animations'; export * from './lib/components'; export * from './lib/models'; export * from './lib/services'; From 586536f621c9dbd91acb528e55f9f0a3acc50e29 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 14:52:25 +0300 Subject: [PATCH 029/149] Build ng packages --- npm/ng-packs/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index f33114331b..ff1201a332 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -4,9 +4,9 @@ "symlink": "symlink" }, "devDependencies": { - "@abp/ng.core": "^0.7.6", - "@abp/ng.permission-management": "^0.7.6", - "@abp/ng.theme.shared": "^0.7.6", + "@abp/ng.core": "^0.8.0", + "@abp/ng.permission-management": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.0", "@angular-devkit/build-angular": "~0.801.2", "@angular-devkit/build-ng-packagr": "~0.801.2", "@angular/animations": "~8.1.2", From c7bb18cd2da2d26f2b82ec1bd876762c05b5f8d6 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 14:53:02 +0300 Subject: [PATCH 030/149] feature(scripts): add commit commands to build.js --- npm/ng-packs/angular.json | 114 +++++++++++++--------------------- npm/ng-packs/scripts/build.js | 5 +- 2 files changed, 48 insertions(+), 71 deletions(-) diff --git a/npm/ng-packs/angular.json b/npm/ng-packs/angular.json index 09c07777df..cee77b25bd 100644 --- a/npm/ng-packs/angular.json +++ b/npm/ng-packs/angular.json @@ -27,17 +27,13 @@ "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { - "tsConfig": [ - "packages/core/tsconfig.lib.json", - "packages/core/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] + "tsConfig": ["packages/core/tsconfig.lib.json", "packages/core/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] } } } }, + "theme-shared": { "projectType": "library", "root": "packages/theme-shared", @@ -62,13 +58,39 @@ "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { - "tsConfig": [ - "packages/theme-shared/tsconfig.lib.json", - "packages/theme-shared/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] + "tsConfig": ["packages/theme-shared/tsconfig.lib.json", "packages/theme-shared/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] + } + } + } + }, + + "theme-basic": { + "projectType": "library", + "root": "packages/theme-basic", + "sourceRoot": "packages/theme-basic/src", + "prefix": "abp", + "architect": { + "build": { + "builder": "@angular-devkit/build-ng-packagr:build", + "options": { + "tsConfig": "packages/theme-basic/tsconfig.lib.json", + "project": "packages/theme-basic/ng-package.json" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "packages/theme-basic/src/test.ts", + "tsConfig": "packages/theme-basic/tsconfig.spec.json", + "karmaConfig": "packages/theme-basic/karma.conf.js" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": ["packages/theme-basic/tsconfig.lib.json", "packages/theme-basic/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] } } } @@ -97,13 +119,8 @@ "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { - "tsConfig": [ - "packages/account/tsconfig.lib.json", - "packages/account/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] + "tsConfig": ["packages/account/tsconfig.lib.json", "packages/account/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] } } } @@ -136,9 +153,7 @@ "packages/permission-management/tsconfig.lib.json", "packages/permission-management/tsconfig.spec.json" ], - "exclude": [ - "**/node_modules/**" - ] + "exclude": ["**/node_modules/**"] } } } @@ -167,48 +182,8 @@ "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { - "tsConfig": [ - "packages/identity/tsconfig.lib.json", - "packages/identity/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } - } - } - }, - "theme-basic": { - "projectType": "library", - "root": "packages/theme-basic", - "sourceRoot": "packages/theme-basic/src", - "prefix": "abp", - "architect": { - "build": { - "builder": "@angular-devkit/build-ng-packagr:build", - "options": { - "tsConfig": "packages/theme-basic/tsconfig.lib.json", - "project": "packages/theme-basic/ng-package.json" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "packages/theme-basic/src/test.ts", - "tsConfig": "packages/theme-basic/tsconfig.spec.json", - "karmaConfig": "packages/theme-basic/karma.conf.js" - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "packages/theme-basic/tsconfig.lib.json", - "packages/theme-basic/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] + "tsConfig": ["packages/identity/tsconfig.lib.json", "packages/identity/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] } } } @@ -241,12 +216,11 @@ "packages/tenant-management/tsconfig.lib.json", "packages/tenant-management/tsconfig.spec.json" ], - "exclude": [ - "**/node_modules/**" - ] + "exclude": ["**/node_modules/**"] } } } - }}, + } + }, "defaultProject": "core" } diff --git a/npm/ng-packs/scripts/build.js b/npm/ng-packs/scripts/build.js index ddd5de2663..05d7574ee0 100644 --- a/npm/ng-packs/scripts/build.js +++ b/npm/ng-packs/scripts/build.js @@ -30,11 +30,14 @@ import fse from 'fs-extra'; npmPackageNames.forEach(name => { // do not convert to async - execa.sync('yarn', ['symlink', 'copy', '--angular', '--packages', name, '--no-watch'], { + execa.sync('yarn', ['symlink', 'copy', '--angular', '--packages', name, '--no-watch', '--sync-build'], { stdout: 'inherit', cwd: '../', }); }); + await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' }); + await execa('git', ['commit', '-m', 'Build ng packages'], { stdout: 'inherit' }); + process.exit(0); })(); From 905baffdc6bdd39b27a17aa3a1d5faa60bfd357d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 14:53:36 +0300 Subject: [PATCH 031/149] Resolved #1498: Set IServiceProvider in ValidationContext. --- .../DataAnnotationObjectValidationContributor.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs index 5598fe7827..797721bea3 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; @@ -13,10 +14,14 @@ namespace Volo.Abp.Validation { public const int MaxRecursiveParameterValidationDepth = 8; + protected IServiceProvider ServiceProvider { get; } protected AbpValidationOptions Options { get; } - public DataAnnotationObjectValidationContributor(IOptions options) + public DataAnnotationObjectValidationContributor( + IOptions options, + IServiceProvider serviceProvider) { + ServiceProvider = serviceProvider; Options = options.Value; } @@ -90,7 +95,7 @@ namespace Volo.Abp.Validation if (validatingObject is IValidatableObject validatableObject) { errors.AddRange( - validatableObject.Validate(new ValidationContext(validatableObject)) + validatableObject.Validate(new ValidationContext(validatableObject, ServiceProvider, null)) ); } } @@ -103,7 +108,7 @@ namespace Volo.Abp.Validation return; } - var validationContext = new ValidationContext(validatingObject) + var validationContext = new ValidationContext(validatingObject, ServiceProvider, null) { DisplayName = property.DisplayName, MemberName = property.Name From cbc1e3b211794e98cda95e88f7ff2f24818bfad5 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 15 Aug 2019 15:00:07 +0300 Subject: [PATCH 032/149] feature(scripts): add git commands --- npm/ng-packs/scripts/build.js | 6 ++++++ npm/ng-packs/scripts/sync.js | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/npm/ng-packs/scripts/build.js b/npm/ng-packs/scripts/build.js index 05d7574ee0..57bf8a89e8 100644 --- a/npm/ng-packs/scripts/build.js +++ b/npm/ng-packs/scripts/build.js @@ -39,5 +39,11 @@ import fse from 'fs-extra'; await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' }); await execa('git', ['commit', '-m', 'Build ng packages'], { stdout: 'inherit' }); + try { + await execa('git', ['push', 'origin']); + } catch (error) { + console.error('An error occured while pushing the git files:\n' + error.stderr); + } + process.exit(0); })(); diff --git a/npm/ng-packs/scripts/sync.js b/npm/ng-packs/scripts/sync.js index a212995cb3..01e64923df 100644 --- a/npm/ng-packs/scripts/sync.js +++ b/npm/ng-packs/scripts/sync.js @@ -21,5 +21,14 @@ import fse from 'fs-extra'; await fse.writeJSON(srcPackagePath, { ...srcPackage, version }, { spaces: 2 }); }); + await execa('git', ['add', '../packages/*', '../package.json'], { stdout: 'inherit' }); + await execa('git', ['commit', '-m', 'Sync ng source packages versions'], { stdout: 'inherit' }); + + try { + await execa('git', ['push', 'origin']); + } catch (error) { + console.error('An error occured while pushing the git files:\n' + error.stderr); + } + process.exit(0); })(); From 516e3c6f8a644bb1f81be49293a04afe34d0654c Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:05:01 +0300 Subject: [PATCH 033/149] refactor(theme-basic): change-password --- .../change-password/change-password.component.html | 12 +++--------- .../change-password/change-password.component.ts | 9 +++++++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html b/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html index d1dc99b109..738a673945 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html @@ -1,9 +1,9 @@ - +

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    -
    +
    * {{ 'AbpIdentity::Cancel' | abpLocalization }} - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }} diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts index fe3d8da60d..6c372a4620 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts @@ -15,6 +15,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; +import { finalize } from 'rxjs/operators'; const { minLength, required } = Validators; @@ -43,6 +44,8 @@ export class ChangePasswordComponent implements OnInit, OnChanges { form: FormGroup; + modalBusy: boolean = false; + constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {} ngOnInit(): void { @@ -60,6 +63,7 @@ export class ChangePasswordComponent implements OnInit, OnChanges { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch( @@ -68,6 +72,11 @@ export class ChangePasswordComponent implements OnInit, OnChanges { newPassword: this.form.get('newPassword').value, }), ) + .pipe( + finalize(() => { + this.modalBusy = false; + }), + ) .subscribe({ next: () => { this.visible = false; From 266a6697811158e33cb23ec61d49d60b0ee77eef Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:05:15 +0300 Subject: [PATCH 034/149] refactor(theme-basic): profile --- .../lib/components/profile/profile.component.html | 12 +++--------- .../src/lib/components/profile/profile.component.ts | 4 ++++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html index 921d800649..3a122357c7 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html @@ -1,9 +1,9 @@ - +

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    - +
    * @@ -36,12 +36,6 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }} diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts index 6836ca8c28..f2e4683239 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts @@ -32,6 +32,8 @@ export class ProfileComponent implements OnChanges { form: FormGroup; + modalBusy: boolean = false; + constructor(private fb: FormBuilder, private store: Store) {} buildForm() { @@ -54,8 +56,10 @@ export class ProfileComponent implements OnChanges { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => { + this.modalBusy = false; this.visible = false; this.form.reset(); }); From d0ff7443fe1659e0624096f22aef97c5954459f0 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:05:33 +0300 Subject: [PATCH 035/149] refactor(tenant-management): tenants --- .../src/lib/components/tenants/tenants.component.html | 10 ++-------- .../src/lib/components/tenants/tenants.component.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html index 3f6ece30c3..9972e10220 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html @@ -90,7 +90,7 @@
    - +

    {{ selectedModalContent.title | abpLocalization }}

    @@ -103,13 +103,7 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }}
    diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index d2f9e271d6..64df09bc75 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -52,6 +52,8 @@ export class TenantsComponent { loading: boolean = false; + modalBusy: boolean = false; + get useSharedDatabase(): boolean { return this.defaultConnectionStringForm.get('useSharedDatabase').value; } @@ -144,11 +146,13 @@ export class TenantsComponent { } saveConnectionString() { + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) .pipe(take(1)) .subscribe(() => { + this.modalBusy = false; this.isModalVisible = false; }); } else { @@ -156,6 +160,7 @@ export class TenantsComponent { .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) .pipe(take(1)) .subscribe(() => { + this.modalBusy = false; this.isModalVisible = false; }); } @@ -163,6 +168,7 @@ export class TenantsComponent { saveTenant() { if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch( @@ -171,6 +177,7 @@ export class TenantsComponent { : new CreateTenant(this.tenantForm.value), ) .subscribe(() => { + this.modalBusy = false; this.isModalVisible = false; }); } @@ -183,6 +190,7 @@ export class TenantsComponent { .subscribe((status: Toaster.Status) => { if (status === Toaster.Status.confirm) { this.store.dispatch(new DeleteTenant(id)); + this.modalBusy = false; } }); } From 620750f223677c23b3df225e178e422fefd38900 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:05:58 +0300 Subject: [PATCH 036/149] refactor(permission-management): permission-management --- .../components/permission-management.component.html | 10 ++-------- .../lib/components/permission-management.component.ts | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html index bc93f0df19..86326b5984 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html @@ -1,4 +1,4 @@ - +

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    @@ -86,13 +86,7 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }}
    diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index ce5f967b00..7843958ae3 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -64,6 +64,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges { selectAllTab: boolean = false; + modalBusy: boolean = false; + trackByFn: TrackByFunction = (_, item) => item.name; get selectedGroupPermissions$(): Observable { @@ -175,6 +177,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { } onSubmit() { + this.modalBusy = true; const unchangedPermissions = getPermissions( this.store.selectSnapshot(PermissionManagementState.getPermissionGroups), ); @@ -195,9 +198,11 @@ export class PermissionManagementComponent implements OnInit, OnChanges { }), ) .subscribe(() => { + this.modalBusy = false; this.visible = false; }); } else { + this.modalBusy = false; this.visible = false; } } From f60b7744d8c575907635ade483535435c6377eaf Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:06:11 +0300 Subject: [PATCH 037/149] refactor(identity): users --- .../src/lib/components/users/users.component.html | 15 +++++---------- .../src/lib/components/users/users.component.ts | 4 ++++ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html index 9f52238aee..ea954c55be 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html +++ b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.html @@ -77,14 +77,14 @@ - +

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    - + @@ -183,14 +183,9 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ + 'AbpIdentity::Save' | abpLocalization + }}
    diff --git a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts index cfecf8a7af..29d8cf1de1 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts @@ -50,6 +50,8 @@ export class UsersComponent { loading: boolean = false; + modalBusy: boolean = false; + trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index; get roleGroups(): FormGroup[] { @@ -114,6 +116,7 @@ export class UsersComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; const { roleNames } = this.form.value; const mappedRoleNames = snq( @@ -135,6 +138,7 @@ export class UsersComponent { }), ) .subscribe(() => { + this.modalBusy = false; this.isModalVisible = false; }); } From a3fd13945f5565a5ad5e97a2abac70dc301ca694 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:06:21 +0300 Subject: [PATCH 038/149] refactor(identity): roles --- .../src/lib/components/roles/roles.component.html | 12 +++--------- .../src/lib/components/roles/roles.component.ts | 4 ++++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html index c6d1c70631..2acb2d3337 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html +++ b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html @@ -67,13 +67,13 @@ - +

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    - +
    * @@ -100,13 +100,7 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }} diff --git a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts index 6ee14134af..baf63432c9 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts @@ -36,6 +36,8 @@ export class RolesComponent { loading: boolean = false; + modalBusy: boolean = false; + @ViewChild('modalContent', { static: false }) modalContent: TemplateRef; @@ -79,6 +81,7 @@ export class RolesComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch( @@ -87,6 +90,7 @@ export class RolesComponent { : new CreateRole(this.form.value), ) .subscribe(() => { + this.modalBusy = false; this.isModalVisible = false; }); } From 74bdce2da26d5f14e457c2aa04d9c5ab391700a9 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:32:55 +0300 Subject: [PATCH 039/149] refactor(theme-shared): button component --- .../lib/components/button/button.component.ts | 47 ++----------------- 1 file changed, 3 insertions(+), 44 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts index 3340a02cb0..081273aff1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -1,7 +1,4 @@ -import { StartLoader, StopLoader } from '@abp/ng.core'; -import { Component, Input, OnInit } from '@angular/core'; -import { Actions, ofActionSuccessful } from '@ngxs/store'; -import { filter } from 'rxjs/operators'; +import { Component, Input } from '@angular/core'; @Component({ selector: 'abp-button', @@ -11,7 +8,7 @@ import { filter } from 'rxjs/operators'; `, }) -export class ButtonComponent implements OnInit { +export class ButtonComponent { @Input() buttonClass: string = 'btn btn-primary'; @@ -27,47 +24,9 @@ export class ButtonComponent implements OnInit { @Input() disabled: boolean = false; - @Input() - requestType: string | string[]; - - @Input() - requestURLContainSearchValue: string; - get icon(): string { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - constructor(private actions: Actions) {} - - ngOnInit(): void { - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe( - ofActionSuccessful(StartLoader, StopLoader), - filter((event: StartLoader | StopLoader) => { - let condition = true; - if (this.requestType) { - if (!Array.isArray(this.requestType)) this.requestType = [this.requestType]; - - condition = - condition && - this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1; - } - - if (condition && this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; - } - - return condition; - }), - ) - .subscribe(() => { - setTimeout(() => { - this.loading = !this.loading; - }, 0); - }); - } - } + constructor() {} } From eed7807b8d0b3a9462d85673ca648cc41a4ea5c0 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 15:33:51 +0300 Subject: [PATCH 040/149] fix(theme-shared): remove constructor function --- .../theme-shared/src/lib/components/button/button.component.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts index 081273aff1..3fdf506a1c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -27,6 +27,4 @@ export class ButtonComponent { get icon(): string { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - - constructor() {} } From d063480a7490359996c2875d597db9f2a1c6d6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 16:13:56 +0300 Subject: [PATCH 041/149] Create blog post for v0.19 release --- .../2019-08-16 v0_19_Release/Post.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md diff --git a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md new file mode 100644 index 0000000000..c915f508a5 --- /dev/null +++ b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md @@ -0,0 +1,47 @@ +# ABP v0.19 Release with Angular UI Option + +ABP v0.19 has been released with [~90 issues](https://github.com/abpframework/abp/milestone/17?closed=1) resolved and [600+ commits](https://github.com/abpframework/abp/compare/0.18.1...0.19.0) pushed. + +## New Features + +### Angular UI + +Finally, ABP has a **SPA UI** option with the latest [Angular](https://angular.io/) framework. Angular integration was not simply creating a startup template. + +* Created a base infrastructure to handle ABP's modularity, theming and some other features. This infrastructure has been deployed as [NPM packages](https://github.com/abpframework/abp/tree/dev/npm/ng-packs/packages). +* Created Angular UI packages for the modules like account, identity and tenant-management. +* Created a minimal startup template that authenticates using IdentityServer and uses the ASP.NET Core backend. This template uses the packages mentioned above. +* Worked on the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) and the [download page](https://abp.io/get-started) to be able to generate projects with the new UI option. +* Created a [tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Angular/Part-I) to jump start with the new UI option. + +We've created the template, document and infrastructure based on the latest Angular tools and trends: + +* Uses [PrimeNG](https://www.primefaces.org/primeng/) as the main UI component library. You can use your favorite library, no problem, but pre-built modules works with PrimeNG components for datagrid and some other components. +* Uses [NGXS](https://ngxs.gitbook.io/ngxs/) as the state management library. +* ... + +Angular was the first SPA UI option, but it is not the last. After v1.0 release, we will start to work on a second UI option. Not decided yet, but candidates are Blazor, React and Vue.js. Waiting your feedback. You can thumb up using the following issues: + +* [Blazor](https://github.com/abpframework/abp/issues/394) +* [Vue.js](https://github.com/abpframework/abp/issues/1168) +* [React](https://github.com/abpframework/abp/issues/1638) + +### Widget System + +[Widget system](https://docs.abp.io/en/abp/latest/AspNetCore/Widgets) allows to **define and reuse** widgets for ASP.NET Core MVC applications. Widgets may have their own script and style resources and dependencies to 3rd-party libraries which are managed by the ABP framework. + +### Others + +We've solved many bugs and worked on existing features based on the community feedback. See the [v0.19 milestone](https://github.com/abpframework/abp/milestone/17?closed=1) for all the closed issues. + +## Road Map + +We had decided to wait for **ASP.NET Core 3.0** final release. Microsoft has announced to released it at [.NET Conf](https://www.dotnetconf.net/), between 23-25 September. + +We have planned to finalize our work and move to ASP.NET Core 3.0 (with preview or RC) before its release. Once Microsoft releases it, we will immediately start to upgrade and test with the final release. + +So, you can expect ABP **v1.0** to be released in the **first half of the October**. We are very excited and working hard on it. + +You can follow the progress from [the GitHub milestones](https://github.com/abpframework/abp/milestones). + +We will not add major features until v1.0. \ No newline at end of file From 23aa91da5481556c92b48d562afe3736c66c16c6 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Thu, 15 Aug 2019 16:51:56 +0300 Subject: [PATCH 042/149] fix(permission-management): disabled checkboxes --- .../components/permission-management.component.html | 4 ++-- .../lib/components/permission-management.component.ts | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html index 86326b5984..62fc5f8e4a 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html @@ -26,7 +26,7 @@
    \n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,t,n){this.fb=e,this.accountService=t,this.toasterService=n,this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(t).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:u.ToasterService}]},e}();var x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],L=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.account.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map index 78c1bbc034..677331cae6 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"ulCA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YCzBxBQ,EAAAC,EAAAC,WAAAF,UAAsBG,GAAXF,EAAAC,WAAAE,UAAWH,EAAAC,WAAAC,UAE9BE,EAAA,WASE,SAAAA,EACUC,EACAC,EACAC,EACAC,EACuCC,GAJvCX,KAAAO,GAAAA,EACAP,KAAAQ,aAAAA,EACAR,KAAAS,MAAAA,EACAT,KAAAU,eAAAA,EACuCV,KAAAW,QAAAA,EAE/CX,KAAKQ,aAAaI,UAAUZ,KAAKS,MAAMI,eAAeC,EAAAA,YAAYC,OAAO,gBAAgBC,aACzFhB,KAAKQ,aAAaS,wBAElBjB,KAAKkB,KAAOlB,KAAKO,GAAGY,MAAM,CACxBC,SAAU,CAAC,GAAI,CAAChB,EAAUH,EAAU,OACpCoB,SAAU,CAAC,GAAI,CAACjB,EAAUH,EAAU,MACpCqB,SAAU,EAAC,KA+BjB,OA3BEhB,EAAAV,UAAA2B,SAAA,WAAA,IAAAC,EAAAxB,KACMA,KAAKkB,KAAKO,UACdzB,KAAKQ,aAAakB,WAAW1B,KAAKkB,KAAKS,MAAML,SAAWM,aAAeC,gBAEvE7B,KAAK8B,YAAa,EAClBC,EAAAA,KACE/B,KAAKQ,aAAawB,4BAA4BhC,KAAKkB,KAAKe,IAAI,YAAYN,MAAO3B,KAAKkB,KAAKe,IAAI,YAAYN,QAExGO,KACCC,EAAAA,UAAS,WAAO,OAAAX,EAAKf,MAAM2B,SAAS,IAAIC,EAAAA,uBACxCC,EAAAA,IAAG,eACKC,EAAcC,EAAG,WAAO,OAAAC,OAAOC,QAAQC,QAAOJ,cAAgBf,EAAKb,SAAW,IAAI4B,aAAe,IACvGf,EAAKf,MAAM2B,SAAS,IAAIQ,EAAAA,SAAS,CAACL,OAEpCM,EAAAA,WAAU,SAACC,GAOT,OANAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,qBAClBR,EAAG,WAAO,OAAAM,EAAIC,MAAMA,MAAME,SAAS,mCACrC,QACA,CAAEC,KAAM,MAEHC,EAAAA,WAAWL,KAEpBM,EAAAA,SAAQ,WAAO,OAAC5B,EAAKM,YAAa,KAEnCuB,kCAnDNC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,qwDAdOC,EAAAA,mBAGAC,EAAAA,oBADAC,EAAAA,aAIAC,EAAAA,+CAoBJC,EAAAA,UAAQ,CAAAC,KAAIC,EAAAA,OAAMT,KAAA,CAAC,wBAuCxBjD,EArDA,GCdA2D,EAAA,WASE,SAAAA,EAAoBC,GAAAlE,KAAAkE,KAAAA,SAEpBD,EAAArE,UAAAuE,WAAA,SAAWC,OACHC,EAA8B,CAClCC,OAAQ,MACRC,IAAK,sCAAsCH,GAG7C,OAAOpE,KAAKkE,KAAKG,QAAgCA,IAGnDJ,EAAArE,UAAA4E,SAAA,SAASC,OACDJ,EAAyC,CAC7CC,OAAQ,OACRC,IAAK,wBACLE,KAAIA,GAGN,OAAOzE,KAAKkE,KAAKG,QAA2CA,EAAS,CAAEK,UAAU,yBAtBpFC,EAAAA,WAAUpB,KAAA,CAAC,CACVqB,WAAY,oDAJLC,EAAAA,iJAFT,GCQQ5E,EAAAA,EAAAA,WAAAA,UAAsBG,GAAXC,EAAAA,WAAAA,UAAWD,EAAAA,WAAAA,UAAU0E,EAAA5E,EAAAC,WAAA2E,MAExCC,EAAA,WASE,SAAAA,EAAoBxE,EAAyByE,EAAwCtE,GAAjEV,KAAAO,GAAAA,EAAyBP,KAAAgF,eAAAA,EAAwChF,KAAAU,eAAAA,EACnFV,KAAKkB,KAAOlB,KAAKO,GAAGY,MAAM,CACxBC,SAAU,CAAC,GAAI,CAAChB,EAAUH,EAAU,OACpCoB,SAAU,CAAC,GAAI,CAACjB,EAAUH,EAAU,MACpC6E,MAAO,CAAC,GAAI,CAAC1E,EAAU0E,MAiC7B,OA7BEC,EAAAnF,UAAA2B,SAAA,WAAA,IAAAC,EAAAxB,KACE,IAAIA,KAAKkB,KAAKO,QAAd,CAEAzB,KAAK8B,YAAa,MAEZmD,EAAO,CACXC,SAAUlF,KAAKkB,KAAKe,IAAI,YAAYN,MACpCN,SAAUrB,KAAKkB,KAAKe,IAAI,YAAYN,MACpCwD,aAAcnF,KAAKkB,KAAKe,IAAI,SAASN,MACrCyD,QAAS,WAGXpF,KAAKgF,eACFR,SAASS,GACT/C,KACCmD,EAAAA,KAAK,GACLxC,EAAAA,WAAU,SAACC,GAOT,OANAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,qBAClBR,EAAG,WAAO,OAAAM,EAAIC,MAAMA,MAAME,SAAS,mCACrC,QACA,CAAEC,KAAM,MAEHC,EAAAA,WAAWL,KAEpBM,EAAAA,SAAQ,WAAO,OAAC5B,EAAKM,YAAa,KAEnCuB,kCA5CNC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAA,2/CAVOC,EAAAA,mBAKAO,SAPAJ,EAAAA,kBAwDTkB,EA9CA,GCJMO,EAAiB,CACrB,CAAEC,KAAM,GAAIC,UAAW,OAAQC,WAAY,SAC3C,CACEF,KAAM,GACNG,UAAWC,EAAAA,uBACXC,SAAU,CAAC,CAAEL,KAAM,QAASG,UAAWpF,GAAkB,CAAEiF,KAAM,WAAYG,UAAWX,MAI5Fc,EAAA,WAAA,SAAAA,KAImC,2BAJlCC,EAAAA,SAAQvC,KAAA,CAAC,CACRwC,QAAS,CAACC,EAAAA,aAAaC,SAASX,IAChCY,QAAS,CAACF,EAAAA,kBAEuBH,EAJnC,GCfAM,EAAA,WAcE,SAAAA,EAAoB1F,EAAsBC,EAAwCsE,GAA9DhF,KAAAS,MAAAA,EAAsBT,KAAAU,eAAAA,EAAwCV,KAAAgF,eAAAA,EAElFhF,KAAAoG,OAAM,GAmDR,OA7CED,EAAAvG,UAAAyG,SAAA,WACErG,KAAKoG,OAASpG,KAAKS,MAAMI,eAAeyF,EAAAA,aAAaC,YAAU,GAC/DvG,KAAKoE,WAAapE,KAAKoG,OAAOI,MAAQ,IAGxCL,EAAAvG,UAAA6G,SAAA,WACEzG,KAAK0G,gBAAiB,GAGxBP,EAAAvG,UAAA+G,KAAA,WAAA,IAAAnF,EAAAxB,KACMA,KAAKoG,OAAOI,KACdxG,KAAKgF,eACFb,WAAWnE,KAAKoG,OAAOI,MACvBtE,KACCmD,EAAAA,KAAK,GACLxC,EAAAA,WAAU,SAACC,GAKT,OAJAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,mBAAmB,8BACvC,gBAEKG,EAAAA,WAAWL,MAGrBO,UAAS,SAAEuD,OAAEC,EAAAD,EAAAC,QAASC,EAAAF,EAAAE,SACjBD,GACFrF,EAAK4E,OAAS,CACZW,GAAID,EACJN,KAAMhF,EAAK4E,OAAOI,MAEpBhF,EAAK4C,WAAa5C,EAAK4E,OAAOI,KAC9BhF,EAAKkF,gBAAiB,IAEtBlF,EAAKd,eAAeqC,MAAM,+CAAgD,eAAgB,CACxFiE,0BAA2B,CAACxF,EAAK4E,OAAOI,QAE1ChF,EAAK4E,OAAM,IAEb5E,EAAKf,MAAM2B,SAAS,IAAI6E,EAAAA,UAAUJ,EAAUrF,EAAK4E,OAAS,UAG9DpG,KAAKS,MAAM2B,SAAS,IAAI6E,EAAAA,UAAU,OAClCjH,KAAKoE,WAAa,KAClBpE,KAAK0G,gBAAiB,wBAvD3BpD,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,iBACVC,SAAA,8gDAROG,EAAAA,aAFAC,EAAAA,sBAMAI,KA4DTkC,EAnEA,GCGA,SAAgBe,EAAevG,GAC7B,OAAAzB,EAAA,CACEqD,YAAa,KACV5B,GAIP,IAAawG,EAAkB,IAAIC,EAAAA,eAAe,mBCVlDC,EAAA,WAaA,SAAAA,KAmBA,OAbSA,EAAAC,QAAP,SAAe3G,GACb,YADa,IAAAA,IAAAA,EAAA,IACN,CACL4G,SAAUF,EACVG,UAAW,CACT,CAAEC,QAASN,EAAiBO,SAAU/G,GACtC,CACE8G,QAAS,kBACTE,WAAYT,EACZU,KAAM,CAACT,2BAdhBrB,EAAAA,SAAQvC,KAAA,CAAC,CACRsE,aAAc,CAACvH,EAAgByE,EAAmBoB,GAClDJ,QAAS,CAAC+B,EAAAA,WAAYjC,EAAsBkC,EAAAA,kBAAmBC,EAAAA,YAAaC,EAAAA,kBAAmBC,EAAAA,uBAC/FhC,QAAS,OAgBXmB,EAhCA,wCCE2B,CACzB,CACEb,KAAM,UACNjB,KAAM,UACN4C,WAAW,EACXC,OAAM,cACNxC,SAAU,CAAC,CAAEL,KAAM,QAASiB,KAAM,QAAS6B,MAAO,GAAK,CAAE9C,KAAM,WAAYiB,KAAM,WAAY6B,MAAO","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js index 09b2b102e0..649b54a06b 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js @@ -1,7 +1,7 @@ import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { FormBuilder, Validators } from '@angular/forms'; +import { Validators, FormBuilder } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; @@ -97,6 +97,37 @@ LoginComponent.ctorParameters = () => [ { type: ToasterService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: ['ACCOUNT_OPTIONS',] }] } ]; +if (false) { + /** @type {?} */ + LoginComponent.prototype.form; + /** @type {?} */ + LoginComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.fb; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.store; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.options; +} /** * @fileoverview added by tsickle @@ -145,6 +176,13 @@ AccountService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -216,6 +254,27 @@ RegisterComponent.ctorParameters = () => [ { type: AccountService }, { type: ToasterService } ]; +if (false) { + /** @type {?} */ + RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -327,6 +386,29 @@ TenantBoxComponent.ctorParameters = () => [ { type: ToasterService }, { type: AccountService } ]; +if (false) { + /** @type {?} */ + TenantBoxComponent.prototype.tenant; + /** @type {?} */ + TenantBoxComponent.prototype.tenantName; + /** @type {?} */ + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.accountService; +} /** * @fileoverview added by tsickle @@ -373,6 +455,11 @@ AccountModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -388,5 +475,118 @@ const ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function Options() { } +if (false) { + /** @type {?|undefined} */ + Options.prototype.redirectUrl; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map index e7782aa16d..d0841e616b 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js index 26e1002571..1ee3bcc97a 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js @@ -1,4 +1,4 @@ -import { GetAppConfiguration, ConfigState, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; +import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; import { RouterModule } from '@angular/router'; import { Validators, FormBuilder } from '@angular/forms'; @@ -96,6 +96,37 @@ var LoginComponent = /** @class */ (function () { ]; }; return LoginComponent; }()); +if (false) { + /** @type {?} */ + LoginComponent.prototype.form; + /** @type {?} */ + LoginComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.fb; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.store; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + LoginComponent.prototype.options; +} /** * @fileoverview added by tsickle @@ -150,6 +181,13 @@ var AccountService = /** @class */ (function () { /** @nocollapse */ AccountService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(RestService)); }, token: AccountService, providedIn: "root" }); return AccountService; }()); +if (false) { + /** + * @type {?} + * @private + */ + AccountService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -221,6 +259,27 @@ var RegisterComponent = /** @class */ (function () { ]; }; return RegisterComponent; }()); +if (false) { + /** @type {?} */ + RegisterComponent.prototype.form; + /** @type {?} */ + RegisterComponent.prototype.inProgress; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -342,6 +401,29 @@ var TenantBoxComponent = /** @class */ (function () { ]; }; return TenantBoxComponent; }()); +if (false) { + /** @type {?} */ + TenantBoxComponent.prototype.tenant; + /** @type {?} */ + TenantBoxComponent.prototype.tenantName; + /** @type {?} */ + TenantBoxComponent.prototype.isModalVisible; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.store; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.toasterService; + /** + * @type {?} + * @private + */ + TenantBoxComponent.prototype.accountService; +} /** * @fileoverview added by tsickle @@ -396,6 +478,11 @@ var AccountModule = /** @class */ (function () { return AccountModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -411,5 +498,118 @@ var ACCOUNT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function Options() { } +if (false) { + /** @type {?|undefined} */ + Options.prototype.redirectUrl; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function RegisterRequest() { } +if (false) { + /** @type {?} */ + RegisterRequest.prototype.userName; + /** @type {?} */ + RegisterRequest.prototype.emailAddress; + /** @type {?} */ + RegisterRequest.prototype.password; + /** @type {?|undefined} */ + RegisterRequest.prototype.appName; +} +/** + * @record + */ +function RegisterResponse() { } +if (false) { + /** @type {?} */ + RegisterResponse.prototype.tenantId; + /** @type {?} */ + RegisterResponse.prototype.userName; + /** @type {?} */ + RegisterResponse.prototype.name; + /** @type {?} */ + RegisterResponse.prototype.surname; + /** @type {?} */ + RegisterResponse.prototype.email; + /** @type {?} */ + RegisterResponse.prototype.emailConfirmed; + /** @type {?} */ + RegisterResponse.prototype.phoneNumber; + /** @type {?} */ + RegisterResponse.prototype.phoneNumberConfirmed; + /** @type {?} */ + RegisterResponse.prototype.twoFactorEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnabled; + /** @type {?} */ + RegisterResponse.prototype.lockoutEnd; + /** @type {?} */ + RegisterResponse.prototype.concurrencyStamp; + /** @type {?} */ + RegisterResponse.prototype.isDeleted; + /** @type {?} */ + RegisterResponse.prototype.deleterId; + /** @type {?} */ + RegisterResponse.prototype.deletionTime; + /** @type {?} */ + RegisterResponse.prototype.lastModificationTime; + /** @type {?} */ + RegisterResponse.prototype.lastModifierId; + /** @type {?} */ + RegisterResponse.prototype.creationTime; + /** @type {?} */ + RegisterResponse.prototype.creatorId; + /** @type {?} */ + RegisterResponse.prototype.id; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +function TenantIdResponse() { } +if (false) { + /** @type {?} */ + TenantIdResponse.prototype.success; + /** @type {?} */ + TenantIdResponse.prototype.tenantId; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map index 4fc1912c40..02d35b5926 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"],"names":["maxLength","minLength","required"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,AAYQ,IAAA,gCAAS,EAAE,gCAAS,EAAE,8BAAQ;AAEtC;IASE,wBACU,EAAe,EACf,YAA0B,EAC1B,KAAY,EACZ,cAA8B,EACS,OAAgB;QAJvD,OAAE,GAAF,EAAE,CAAa;QACf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAO;QACZ,mBAAc,GAAd,cAAc,CAAgB;QACS,YAAO,GAAP,OAAO,CAAS;QAE/D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC;KACJ;;;;IAED,iCAAQ;;;IAAR;QAAA,iBA0BC;QAzBC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC,CAAC;QAEvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CACF,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAChH;aACE,IAAI,CACH,SAAS;;;QAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,GAAA,EAAC,EAC/D,GAAG;;;QAAC;;gBACI,WAAW,GAAG,GAAG;;;YAAC,cAAM,OAAA,MAAM,CAAC,OAAO,CAAC,KAAK,GAAA,EAAC,CAAC,WAAW,IAAI,CAAC,KAAI,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,IAAI,GAAG;YAC1G,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAClD,EAAC,EACF,UAAU;;;;QAAC,UAAA,GAAG;YACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,EAAC;gBACpC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,UAAU,GAAG,KAAK,IAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;gBApDF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,qxDAAqC;iBACtC;;;;gBAfQ,WAAW;gBAGX,YAAY;gBADZ,KAAK;gBAIL,cAAc;gDAoBlB,QAAQ,YAAI,MAAM,SAAC,iBAAiB;;IAuCzC,qBAAC;CArDD;;;;;;ACdA;IASE,wBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,mCAAU;;;;IAAV,UAAW,UAAkB;;YACrB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,wCAAsC,UAAY;SACxD;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;KAC3D;;;;;IAED,iCAAQ;;;;IAAR,UAAS,IAAqB;;YACtB,OAAO,GAAkC;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,uBAAuB;YAC5B,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1F;;gBAvBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;yBAFpB;CAKA;;;;;;ACLA,AAQQ,IAAAA,kCAAS,EAAEC,kCAAS,EAAEC,gCAAQ,EAAE,wBAAK;AAE7C;IASE,2BAAoB,EAAe,EAAU,cAA8B,EAAU,cAA8B;QAA/F,OAAE,GAAF,EAAE,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QACjH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACA,UAAQ,EAAEF,WAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAEF,WAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,KAAK,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAE,KAAK,CAAC,CAAC;SAC/B,CAAC,CAAC;KACJ;;;;IAED,oCAAQ;;;IAAR;QAAA,iBA4BC;QA3BC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;YAEjB,OAAO,sBAAG;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK;YAC1C,OAAO,EAAE,SAAS;SACnB,EAAmB;QAEpB,IAAI,CAAC,cAAc;aAChB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;QAAC,UAAA,GAAG;YACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,EAAC;gBACpC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,UAAU,GAAG,KAAK,IAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;gBA7CF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,ugDAAwC;iBACzC;;;;gBAXQ,WAAW;gBAKX,cAAc;gBAPd,cAAc;;IAwDvB,wBAAC;CA9CD;;;;;;ACVA;IAMM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;IACpD;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;KAC7G;CACF;AAED;IAAA;KAIoC;;gBAJnC,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;;IACkC,2BAAC;CAJpC;;;;;;ACfA;IAcE,4BAAoB,KAAY,EAAU,cAA8B,EAAU,cAA8B;QAA5F,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAEhH,WAAM,sBAAG,EAAE,EAAiB,CAAC;KAFuF;;;;IAQpH,qCAAQ;;;IAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,wBAAK,EAAE,GAAkB,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;KAC1C;;;;IAED,qCAAQ;;;IAAR;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;IAED,iCAAI;;;IAAJ;QAAA,iBAmCC;QAlCC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,cAAc;iBAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC5B,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;YAAC,UAAA,GAAG;gBACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,GAAE,4BAA4B,CAAC,EACpE,cAAc,CACf,CAAC;gBACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;aACxB,EAAC,CACH;iBACA,SAAS;;;;YAAC,UAAC,EAAqB;oBAAnB,oBAAO,EAAE,sBAAQ;gBAC7B,IAAI,OAAO,EAAE;oBACX,KAAI,CAAC,MAAM,GAAG;wBACZ,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,KAAI,CAAC,MAAM,CAAC,IAAI;qBACvB,CAAC;oBACF,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACnC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBAAM;oBACL,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8CAA8C,EAAE,cAAc,EAAE;wBACxF,yBAAyB,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC9C,CAAC,CAAC;oBACH,KAAI,CAAC,MAAM,sBAAG,EAAE,EAAiB,CAAC;iBACnC;gBACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;aAClE,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;;gBAzDF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,0gDAA0C;iBAC3C;;;;gBATQ,KAAK;gBAFL,cAAc;gBAMd,cAAc;;IA4DvB,yBAAC;CA1DD;;;;;;;;;;ACNA,SAAgB,cAAc,CAAC,OAAgB;IAC7C,kBACE,WAAW,EAAE,GAAG,IACb,OAAO,EACV;CACH;;AAED,IAAa,eAAe,GAAG,IAAI,cAAc,CAAC,iBAAiB,CAAC;;;;;;ACVpE;IAaA;KAmBC;;;;;IAbQ,qBAAO;;;;IAAd,UAAe,OAAuB;QAAvB,wBAAA,EAAA,6BAAU,EAAE,EAAW;QACpC,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC/C;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF;SACF,CAAC;KACH;;gBAlBF,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;oBACrE,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;oBACrH,OAAO,EAAE,EAAE;iBACZ;;IAeD,oBAAC;CAnBD;;;;;;;ACXA,IAAa,cAAc,sBAAG;IAC5B;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,IAAI;QACf,MAAM;QACN,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACzG;CACF,EAAmB;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts b/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts index e1248cb387..ca9146b0bc 100644 --- a/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts +++ b/npm/ng-packs/dist/account/lib/tokens/options.token.d.ts @@ -3,4 +3,4 @@ import { Options } from '../models/options'; export declare function optionsFactory(options: Options): { redirectUrl: string; }; -export declare const ACCOUNT_OPTIONS: InjectionToken<{}>; +export declare const ACCOUNT_OPTIONS: InjectionToken; diff --git a/npm/ng-packs/dist/core/abp-ng.core.metadata.json b/npm/ng-packs/dist/core/abp-ng.core.metadata.json index d4615f5526..ce8fc47ef7 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.metadata.json +++ b/npm/ng-packs/dist/core/abp-ng.core.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"witdh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js index 252b53180d..5fe2c79b69 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js @@ -20,6 +20,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -51,10 +65,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -76,6 +146,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -90,12 +215,24 @@ PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); + if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; + } var GetAppConfiguration = /** @class */ (function () { function GetAppConfiguration() { } GetAppConfiguration.type = '[Config] Get App Configuration'; return GetAppConfiguration; }()); + if (false) { + /** @type {?} */ + GetAppConfiguration.type; + } /** * @fileoverview added by tsickle @@ -108,6 +245,12 @@ StartLoader.type = '[Loader] Start'; return StartLoader; }()); + if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; + } var StopLoader = /** @class */ (function () { function StopLoader(payload) { this.payload = payload; @@ -115,6 +258,12 @@ StopLoader.type = '[Loader] Stop'; return StopLoader; }()); + if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; + } /** * @fileoverview added by tsickle @@ -126,6 +275,10 @@ GetProfile.type = '[Profile] Get'; return GetProfile; }()); + if (false) { + /** @type {?} */ + GetProfile.type; + } var UpdateProfile = /** @class */ (function () { function UpdateProfile(payload) { this.payload = payload; @@ -133,6 +286,12 @@ UpdateProfile.type = '[Profile] Update'; return UpdateProfile; }()); + if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; + } var ChangePassword = /** @class */ (function () { function ChangePassword(payload) { this.payload = payload; @@ -140,6 +299,12 @@ ChangePassword.type = '[Profile] Change Password'; return ChangePassword; }()); + if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; + } /** * @fileoverview added by tsickle @@ -152,6 +317,12 @@ RestOccurError.type = '[Rest] Error'; return RestOccurError; }()); + if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; + } /** * @fileoverview added by tsickle @@ -164,6 +335,12 @@ SetLanguage.type = '[Session] Set Language'; return SetLanguage; }()); + if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; + } var SetTenant = /** @class */ (function () { function SetTenant(payload) { this.payload = payload; @@ -171,6 +348,17 @@ SetTenant.type = '[Session] Set Tenant'; return SetTenant; }()); + if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -239,6 +427,18 @@ /** @nocollapse */ RestService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(store.Store)); }, token: RestService, providedIn: "root" }); return RestService; }()); + if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; + } /** * @fileoverview added by tsickle @@ -311,6 +511,13 @@ /** @nocollapse */ ProfileService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(core.ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); return ProfileService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -422,6 +629,13 @@ ], ProfileState); return ProfileState; }()); + if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; + } /** * @fileoverview added by tsickle @@ -457,6 +671,13 @@ /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(core.ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); return ApplicationConfigurationService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -988,6 +1209,18 @@ ], ConfigState); return ConfigState; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; + } /** * @param {?} routes * @param {?} name @@ -1027,6 +1260,11 @@ return organizeRoutes(routes); } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1107,6 +1345,11 @@ }); }); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1165,6 +1408,22 @@ ], DynamicLayoutComponent.prototype, "requirements$", void 0); return DynamicLayoutComponent; }()); + if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; + } /** * @param {?} segments * @param {?} routes @@ -1221,6 +1480,11 @@ return RouterOutletComponent; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1257,6 +1521,15 @@ }; return AutofocusDirective; }()); + if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; + } /** * @fileoverview added by tsickle @@ -1283,7 +1556,7 @@ * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1319,7 +1592,7 @@ { type: core.ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: core.Input, args: ['abpEllipsis',] }], + width: [{ type: core.Input, args: ['abpEllipsis',] }], title: [{ type: core.HostBinding, args: ['title',] }, { type: core.Input }], enabled: [{ type: core.Input, args: ['abpEllipsisEnabled',] }], class: [{ type: core.HostBinding, args: ['class.abp-ellipsis',] }], @@ -1327,6 +1600,24 @@ }; return EllipsisDirective; }()); + if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; + } /** * @fileoverview added by tsickle @@ -1384,6 +1675,25 @@ }; return PermissionDirective; }()); + if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; + } /** * @fileoverview added by tsickle @@ -1472,6 +1782,43 @@ }; return VisibilityDirective; }()); + if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @enum {string} */ + var eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', + }; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1514,6 +1861,18 @@ /** @nocollapse */ AuthGuard.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(core.ɵɵinject(angularOauth2Oidc.OAuthService), core.ɵɵinject(store.Store)); }, token: AuthGuard, providedIn: "root" }); return AuthGuard; }()); + if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; + } /** * @fileoverview added by tsickle @@ -1549,6 +1908,18 @@ /** @nocollapse */ PermissionGuard.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(core.ɵɵinject(store.Store)); }, token: PermissionGuard, providedIn: "root" }); return PermissionGuard; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1608,6 +1979,272 @@ ]; }; return ApiInterceptor; }()); + if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ApplicationConfiguration; + (function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } + })(ApplicationConfiguration || (ApplicationConfiguration = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ABP; + (function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } + })(ABP || (ABP = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Config; + (function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } + })(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1620,14 +2257,107 @@ */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(exports.Rest || (exports.Rest = {})); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Session; + (function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } + })(Session || (Session = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Profile; + (function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } + })(Profile || (Profile = {})); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1676,6 +2406,23 @@ ]; }; return ConfigPlugin; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; + } /** * @param {?=} routes * @param {?=} wrappers @@ -1777,6 +2524,11 @@ }))); })); } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1839,6 +2591,13 @@ /** @nocollapse */ ConfigService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(core.ɵɵinject(store.Store)); }, token: ConfigService, providedIn: "root" }); return ConfigService; }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; + } /** * @fileoverview added by tsickle @@ -1917,6 +2676,10 @@ /** @nocollapse */ LazyLoadService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); return LazyLoadService; }()); + if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; + } /** * @fileoverview added by tsickle @@ -1970,6 +2733,18 @@ /** @nocollapse */ LocalizationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(core.ɵɵinject(store.Store)); }, token: LocalizationService, providedIn: "root" }); return LocalizationService; }()); + if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1994,6 +2769,11 @@ /** @type {?} */ var CONFIG = new core.InjectionToken('CONFIG'); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2056,6 +2836,17 @@ ]; }; return LocalizationPipe; }()); + if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; + } /** * @fileoverview added by tsickle @@ -2102,6 +2893,22 @@ }; return InputEventDebounceDirective; }()); + if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; + } /** * @fileoverview added by tsickle @@ -2147,6 +2954,20 @@ }; return ClickEventStopPropagationDirective; }()); + if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; + } /** * @fileoverview added by tsickle diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map index bd1f848a72..601c478e2e 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js index f26638bdec..cd86ce8998 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("@ngxs/store"),require("rxjs"),require("@angular/common/http"),require("rxjs/operators"),require("snq"),require("angular-oauth2-oidc"),require("@ngxs/router-plugin"),require("@angular/common"),require("@angular/forms"),require("@ngxs/storage-plugin"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.core",["exports","@angular/core","@angular/router","@ngxs/store","rxjs","@angular/common/http","rxjs/operators","snq","angular-oauth2-oidc","@ngxs/router-plugin","@angular/common","@angular/forms","@ngxs/storage-plugin","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.core={}),e.ng.core,e.ng.router,e.store,e.rxjs,e.ng.common.http,e.rxjs.operators,e.snq,e.angularOauth2Oidc,e.routerPlugin,e.ng.common,e.ng.forms,e.storagePlugin,e.core$1)}(this,function(exports,core,router,store,rxjs,http,operators,snq,angularOauth2Oidc,routerPlugin,common,forms,storagePlugin,core$1){"use strict";snq=snq&&snq.hasOwnProperty("default")?snq.default:snq;var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var e=[],t=0;t1?(keys.forEach(function(e){var t=getPolicy(e);condition=condition.replace(e,t)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(e){for(var t=[],r=1;r>e/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(e){return function(){return e.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(e){return"function"==typeof e}var takeUntilDestroy=function(e,t){return void 0===t&&(t="ngOnDestroy"),function(r){var n=e[t];if(!1===isFunction(n))throw new Error(e.constructor.name+" is using untilDestroyed but doesn't implement "+t);return e.__takeUntilDestroy||(e.__takeUntilDestroy=new rxjs.Subject,e[t]=function(){isFunction(n)&&n.apply(this,arguments),e.__takeUntilDestroy.next(!0),e.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(e.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function e(e,t){var r=this;this.router=e,this.store=t,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(e){if(e instanceof router.NavigationEnd){var t=r.router.parseUrl(e.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(t,n.routes);r.layout=o.filter(function(e){return!!e}).find(function(e){return snq(function(){return e.type.toLowerCase().indexOf(i)},-1)>-1})}})}return e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],e.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],e.prototype,"requirements$",void 0),e}();function findLayout(e,t){var r="empty",n=t.reduce(function(e,t){return t.wrapper?__spread(e,t.children):__spread(e,[t])},[]).find(function(t){return t.path===e[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&e.length>1)){var o=n.children.find(function(t){return t.path===e[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function e(){}return e.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],e}(),AutofocusDirective=function(){function e(e){this.elRef=e,this.delay=0}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){return e.elRef.nativeElement.focus()},this.delay)},e.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef}]},e.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},e}(),EllipsisDirective=function(){function e(e,t){this.cdRef=e,this.elRef=t,this.enabled=!0}return Object.defineProperty(e.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.enabled?this.witdh||"160px":void 0},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;setTimeout(function(){var t=e.title;e.title=t||e.elRef.nativeElement.innerText,e.title!==t&&e.cdRef.detectChanges()},0)},e.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],e.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},e.propDecorators={witdh:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},e}(),PermissionDirective=function(){function e(e,t,r){this.elRef=e,this.renderer=t,this.store=r}return e.prototype.ngOnInit=function(){var e=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(t){t||e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement)})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},e.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},e}(),VisibilityDirective=function(){function e(e,t){this.elRef=e,this.renderer=t,this.completed$=new rxjs.Subject}return e.prototype.ngAfterViewInit=function(){var e=this,t=new MutationObserver(function(t){t.forEach(function(t){t.target&&(snq(function(){return Array.from(t.target.childNodes).filter(function(e){return e instanceof HTMLElement})},[]).length?setTimeout(function(){e.disconnect()},0):(e.renderer.removeChild(e.elRef.nativeElement.parentElement,e.elRef.nativeElement),e.disconnect()))})});t.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return t.disconnect()})},e.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},e.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],e.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},e.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},e}(),AuthGuard=function(){function e(e,t){this.oauthService=e,this.store=t}return e.prototype.canActivate=function(e,t){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:t.url}})),!1)},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),PermissionGuard=function(){function e(e){this.store=e}return e.prototype.canActivate=function(e){var t=e.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(t))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),ApiInterceptor=function(){function e(e,t){this.oAuthService=e,this.store=t}return e.prototype.intercept=function(e,t){var r=this;this.store.dispatch(new StartLoader(e));var n={},o=this.oAuthService.getAccessToken();!e.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!e.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!e.headers.has("__tenant")&&a&&(n.__tenant=a.id),t.handle(e.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(e))}))},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},e}(),Rest;Rest=exports.Rest||(exports.Rest={}),Rest.Config=function(){},Rest.Request=function(){};var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function e(e,t){this.options=e,this.router=t,this.initialized=!1}return e.prototype.handle=function(e,t,r){var n=store.actionMatcher(t);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),e=store.setValue(e,"ConfigState",__assign({},e.ConfigState&&__assign({},e.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(e,t)},e.decorators=[{type:core.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},e}();function transformRoutes(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);var r=e.filter(function(e){return snq(function(){return e.data.routes.find(function(t){return t.path===e.path})},!1)}).reduce(function(e,t){return __spread(e,t.data.routes)},[]);t=r.filter(function(e){return e.wrapper});var n=[];return e.filter(function(e){return(e.data||{}).routes&&(e.component||e.loadChildren)}).forEach(function(e){var t=r.find(function(t){return t.path.toLowerCase()===e.path.toLowerCase()&&snq(function(){return e.data.routes.length},!1)}),o=n.length;t&&n.push(t),n.length===o&&n.push({path:e.path,name:snq(function(){return e.data.routes.name},e.path),children:e.data.routes.children||[]})}),{routes:setUrls(n),wrappers:t}}function setUrls(e,t){return t?e.map(function(e){return __assign({},e,{url:t+"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,t+"/"+e.path)})}):e.map(function(e){return __assign({},e,{url:"/"+e.path},e.children&&e.children.length&&{children:setUrls(e.children,"/"+e.path)})})}var ConfigService=function(){function e(e){this.store=e}return e.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},e.prototype.getOne=function(e){return this.store.selectSnapshot(ConfigState.getOne(e))},e.prototype.getDeep=function(e){return this.store.selectSnapshot(ConfigState.getDeep(e))},e.prototype.getSetting=function(e){return this.store.selectSnapshot(ConfigState.getSetting(e))},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:store.Store}]},e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e(core.ɵɵinject(store.Store))},token:e,providedIn:"root"}),e}(),LazyLoadService=function(){function e(){this.loadedLibraries={}}return e.prototype.load=function(e,t,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),e||r){var a,s=e?e.slice(e.lastIndexOf("/")+1):uuid();return this.loadedLibraries[s]?this.loadedLibraries[s].asObservable():(this.loadedLibraries[s]=new rxjs.ReplaySubject,"script"===t?((a=document.createElement("script")).type="text/javascript",e&&(a.src=e),a.text=r):e?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",e&&(a.href=e)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[s].next(),i.loadedLibraries[s].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[s].asObservable())}},e.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),LocalizationService=function(){function e(e){this.store=e}return e.prototype.get=function(e){for(var t=[],r=1;r=0;c--)(o=t[c])&&(a=(i<3?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,n){e(r,n,t)}}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,n){return new(r||(r=Promise))(function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function c(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){t.done?o(t.value):new r(function(e){e(t.value)}).then(a,c)}u((n=n.apply(t,e||[])).next())})}function __generator(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function __read(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var t=[],e=0;e1||c(t,e)})})}function c(t,e){try{(r=o[t](e)).value instanceof __await?Promise.resolve(r.value.v).then(u,s):p(i[0][2],r)}catch(t){p(i[0][3],t)}var r}function u(t){c("next",t)}function s(t){c("throw",t)}function p(t,e){t(e),i.shift(),i.length&&c(i[0][0],i[0][1])}}function __asyncDelegator(t){var e,r;return e={},n("next"),n("throw",function(t){throw t}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:__await(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise(function(n,o){(function(t,e,r,n){Promise.resolve(n).then(function(e){t({value:e,done:r})},e)})(n,o,(e=t[r](e)).done,e.value)})}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}var PatchRouteByName=function(){function t(t,e){this.name=t,this.newValue=e}return t.type="[Config] Patch Route By Name",t}();var GetAppConfiguration=function(){function t(){}return t.type="[Config] Get App Configuration",t}();var StartLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Start",t}();var StopLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Stop",t}();var GetProfile=function(){function t(){}return t.type="[Profile] Get",t}();var UpdateProfile=function(){function t(t){this.payload=t}return t.type="[Profile] Update",t}();var ChangePassword=function(){function t(t){this.payload=t}return t.type="[Profile] Change Password",t}();var RestOccurError=function(){function t(t){this.payload=t}return t.type="[Rest] Error",t}();var SetLanguage=function(){function t(t){this.payload=t}return t.type="[Session] Set Language",t}();var SetTenant=function(){function t(t){this.payload=t}return t.type="[Session] Set Tenant",t}();var RestService=function(){function t(t,e){this.http=t,this.store=e}return t.prototype.handleError=function(t){return this.store.dispatch(new RestOccurError(t)),console.error(t),rxjs.NEVER},t.prototype.request=function(t,e,r){var n=this;void 0===e&&(e={});var o=e.observe,i=void 0===o?"body":o,a=e.throwErr,c=r||this.store.selectSnapshot(ConfigState.getApiUrl())+t.url,u=t.method,s=__rest(t,["method"]);return this.http.request(u,c,__assign({observe:i},s)).pipe("body"===i?operators.take(1):null,operators.catchError(function(t){return a?rxjs.throwError(t):n.handleError(t)}))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:http.HttpClient},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(http.HttpClient),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ProfileService=function(){function t(t){this.rest=t}return t.prototype.get=function(){return this.rest.request({method:"GET",url:"/api/identity/my-profile"})},t.prototype.update=function(t){var e={method:"PUT",url:"/api/identity/my-profile",body:t};return this.rest.request(e)},t.prototype.changePassword=function(t,e){void 0===e&&(e=!1);var r={method:"POST",url:"/api/identity/my-profile/change-password",body:t};return this.rest.request(r,{throwErr:e})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var ProfileState=function(){function t(t){this.profileService=t}return t.getProfile=function(t){return t.profile},t.prototype.profileGet=function(t){var e=t.patchState;return this.profileService.get().pipe(operators.tap(function(t){return e({profile:t})}))},t.prototype.profileUpdate=function(t,e){var r=t.patchState,n=e.payload;return this.profileService.update(n).pipe(operators.tap(function(t){return r({profile:t})}))},t.prototype.changePassword=function(t,e){var r=e.payload;return this.profileService.changePassword(r,!0)},__decorate([store.Action(GetProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],t.prototype,"profileGet",null),__decorate([store.Action(UpdateProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,UpdateProfile]),__metadata("design:returntype",void 0)],t.prototype,"profileUpdate",null),__decorate([store.Action(ChangePassword),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,ChangePassword]),__metadata("design:returntype",void 0)],t.prototype,"changePassword",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getProfile",null),t=__decorate([store.State({name:"ProfileState",defaults:{}}),__metadata("design:paramtypes",[ProfileService])],t)}();var ApplicationConfigurationService=function(){function t(t){this.rest=t}return t.prototype.getConfiguration=function(){return this.rest.request({method:"GET",url:"/api/abp/application-configuration"})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var SessionState=function(){function t(){}return t.getLanguage=function(t){return t.language},t.getTenant=function(t){return t.tenant},t.prototype.setLanguage=function(t,e){(0,t.patchState)({language:e.payload})},t.prototype.setTenantId=function(t,e){(0,t.patchState)({tenant:e.payload})},__decorate([store.Action(SetLanguage),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetLanguage]),__metadata("design:returntype",void 0)],t.prototype,"setLanguage",null),__decorate([store.Action(SetTenant),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetTenant]),__metadata("design:returntype",void 0)],t.prototype,"setTenantId",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",String)],t,"getLanguage",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getTenant",null),t=__decorate([store.State({name:"SessionState",defaults:{}}),__metadata("design:paramtypes",[])],t)}();function organizeRoutes(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=[]),void 0===n&&(n=null);var o=function(t){return t.children&&t.children.length&&(t.children=organizeRoutes(t.children,e,r,t.name)),!t.parentName||t.parentName===n||(r.push(t),!1)};if(n)return t.filter(o);var i=t.filter(o);return r.length?sortRoutes(setChildRoute(__spread(i,e),r)):i}function setChildRoute(t,e){return t.map(function(t){t.children&&t.children.length&&(t.children=setChildRoute(t.children,e));var r=e.filter(function(e){return e.parentName===t.name});return r&&r.length&&(t.children=__spread(t.children||[],r)),t})}function sortRoutes(t){return void 0===t&&(t=[]),t.length?t.sort(function(t,e){return t.order-e.order}).map(function(t){return t.children&&t.children.length&&(t.children=sortRoutes(t.children)),t}):[]}var ConfigState=function(){function ConfigState(t,e){this.appConfigurationService=t,this.store=e}var ConfigState_1;return ConfigState_1=ConfigState,ConfigState.getAll=function(t){return t},ConfigState.getApplicationInfo=function(t){return t.environment.application||{}},ConfigState.getOne=function(t){return store.createSelector([ConfigState_1],function(e){return e[t]})},ConfigState.getDeep=function(t){if("string"==typeof t&&(t=t.split(".")),!Array.isArray(t))throw new Error("The argument must be a dot string or an string array.");return store.createSelector([ConfigState_1],function(e){return t.reduce(function(t,e){if(t)return t[e]},e)})},ConfigState.getApiUrl=function(t){return store.createSelector([ConfigState_1],function(e){return e.environment.apis[t||"default"].url})},ConfigState.getSetting=function(t){return store.createSelector([ConfigState_1],function(e){return snq(function(){return e.setting.values[t]})})},ConfigState.getGrantedPolicy=function(condition){void 0===condition&&(condition="");var keys=condition.replace(/\(|\)|\!|\s/g,"").split(/\|\||&&/).filter(function(t){return t}),selector=store.createSelector([ConfigState_1],function(state){if(!keys.length)return!0;var getPolicy=function(t){return snq(function(){return state.auth.grantedPolicies[t]},!1)};return keys.length>1?(keys.forEach(function(t){var e=getPolicy(t);condition=condition.replace(t,e)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(t){for(var e=[],r=1;r>t/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(t){return function(){return t.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(t){return"function"==typeof t}var takeUntilDestroy=function(t,e){return void 0===e&&(e="ngOnDestroy"),function(r){var n=t[e];if(!1===isFunction(n))throw new Error(t.constructor.name+" is using untilDestroyed but doesn't implement "+e);return t.__takeUntilDestroy||(t.__takeUntilDestroy=new rxjs.Subject,t[e]=function(){isFunction(n)&&n.apply(this,arguments),t.__takeUntilDestroy.next(!0),t.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(t.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function t(t,e){var r=this;this.router=t,this.store=e,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(t){if(t instanceof router.NavigationEnd){var e=r.router.parseUrl(t.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(e,n.routes);r.layout=o.filter(function(t){return!!t}).find(function(t){return snq(function(){return t.type.toLowerCase().indexOf(i)},-1)>-1})}})}return t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],t.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],t.prototype,"requirements$",void 0),t}();function findLayout(t,e){var r="empty",n=e.reduce(function(t,e){return e.wrapper?__spread(t,e.children):__spread(t,[e])},[]).find(function(e){return e.path===t[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&t.length>1)){var o=n.children.find(function(e){return e.path===t[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function t(){}return t.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],t}(),AutofocusDirective=function(){function t(t){this.elRef=t,this.delay=0}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout(function(){return t.elRef.nativeElement.focus()},this.delay)},t.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef}]},t.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},t}();var EllipsisDirective=function(){function t(t,e){this.cdRef=t,this.elRef=e,this.enabled=!0}return Object.defineProperty(t.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.enabled?this.width||"170px":void 0},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;setTimeout(function(){var e=t.title;t.title=e||t.elRef.nativeElement.innerText,t.title!==e&&t.cdRef.detectChanges()},0)},t.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],t.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},t.propDecorators={width:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},t}();var PermissionDirective=function(){function t(t,e,r){this.elRef=t,this.renderer=e,this.store=r}return t.prototype.ngOnInit=function(){var t=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(e){e||t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement)})},t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},t.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},t}();var VisibilityDirective=function(){function t(t,e){this.elRef=t,this.renderer=e,this.completed$=new rxjs.Subject}return t.prototype.ngAfterViewInit=function(){var t=this,e=new MutationObserver(function(e){e.forEach(function(e){e.target&&(snq(function(){return Array.from(e.target.childNodes).filter(function(t){return t instanceof HTMLElement})},[]).length?setTimeout(function(){t.disconnect()},0):(t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement),t.disconnect()))})});e.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return e.disconnect()})},t.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},t.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},t.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},t}();var eLayoutType={account:"account",application:"application",empty:"empty"},AuthGuard=function(){function t(t,e){this.oauthService=t,this.store=e}return t.prototype.canActivate=function(t,e){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:e.url}})),!1)},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var PermissionGuard=function(){function t(t){this.store=t}return t.prototype.canActivate=function(t){var e=t.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(e))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ApiInterceptor=function(){function t(t,e){this.oAuthService=t,this.store=e}return t.prototype.intercept=function(t,e){var r=this;this.store.dispatch(new StartLoader(t));var n={},o=this.oAuthService.getAccessToken();!t.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!t.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!t.headers.has("__tenant")&&a&&(n.__tenant=a.id),e.handle(t.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(t))}))},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t}(),ApplicationConfiguration,ABP,Config,Session,Profile;(function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}function c(){}t.Response=e,t.Localization=r,t.LocalizationValue=function(){},t.Language=n,t.Auth=o,t.Policy=function(){},t.Setting=i,t.CurrentUser=a,t.Features=c})(ApplicationConfiguration||(ApplicationConfiguration={})),function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}t.Root=e,t.PagedItemsResponse=r,t.PageQueryParams=n,t.Route=o,t.FullRoute=i,t.BasicItem=a}(ABP||(ABP={})),function(t){function e(){}function r(){}function n(){}t.State=function(){},t.Environment=e,t.Application=r,t.Apis=function(){},t.Requirements=n}(Config||(Config={})),function(t){function e(){}function r(){}t.Config=e,t.Request=r}(exports.Rest||(exports.Rest={})),function(t){function e(){}t.State=e}(Session||(Session={})),function(t){function e(){}function r(){}function n(){}t.State=e,t.Response=r,t.ChangePasswordRequest=n}(Profile||(Profile={}));var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function t(t,e){this.options=t,this.router=e,this.initialized=!1}return t.prototype.handle=function(t,e,r){var n=store.actionMatcher(e);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),t=store.setValue(t,"ConfigState",__assign({},t.ConfigState&&__assign({},t.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(t,e)},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},t}();function transformRoutes(t,e){void 0===t&&(t=[]),void 0===e&&(e=[]);var r=t.filter(function(t){return snq(function(){return t.data.routes.find(function(e){return e.path===t.path})},!1)}).reduce(function(t,e){return __spread(t,e.data.routes)},[]);e=r.filter(function(t){return t.wrapper});var n=[];return t.filter(function(t){return(t.data||{}).routes&&(t.component||t.loadChildren)}).forEach(function(t){var e=r.find(function(e){return e.path.toLowerCase()===t.path.toLowerCase()&&snq(function(){return t.data.routes.length},!1)}),o=n.length;e&&n.push(e),n.length===o&&n.push({path:t.path,name:snq(function(){return t.data.routes.name},t.path),children:t.data.routes.children||[]})}),{routes:setUrls(n),wrappers:e}}function setUrls(t,e){return e?t.map(function(t){return __assign({},t,{url:e+"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,e+"/"+t.path)})}):t.map(function(t){return __assign({},t,{url:"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,"/"+t.path)})})}var ConfigService=function(){function t(t){this.store=t}return t.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},t.prototype.getOne=function(t){return this.store.selectSnapshot(ConfigState.getOne(t))},t.prototype.getDeep=function(t){return this.store.selectSnapshot(ConfigState.getDeep(t))},t.prototype.getSetting=function(t){return this.store.selectSnapshot(ConfigState.getSetting(t))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var LazyLoadService=function(){function t(){this.loadedLibraries={}}return t.prototype.load=function(t,e,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),t||r){var a,c=t?t.slice(t.lastIndexOf("/")+1):uuid();return this.loadedLibraries[c]?this.loadedLibraries[c].asObservable():(this.loadedLibraries[c]=new rxjs.ReplaySubject,"script"===e?((a=document.createElement("script")).type="text/javascript",t&&(a.src=t),a.text=r):t?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",t&&(a.href=t)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[c].next(),i.loadedLibraries[c].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[c].asObservable())}},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var LocalizationService=function(){function t(t){this.store=t}return t.prototype.get=function(t){for(var e=[],r=1;r= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__exportStar","m","exports","__values","o","__read","ar","error","__spread","concat","__spreadArrays","il","k","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","PatchRouteByName","name","newValue","type","GetAppConfiguration","StartLoader","payload","StopLoader","GetProfile","UpdateProfile","ChangePassword","RestOccurError","SetLanguage","SetTenant","RestService","http","store","handleError","err","dispatch","console","NEVER","request","config","api","_this","_a","observe","throwErr","url","selectSnapshot","ConfigState","getApiUrl","method","options","pipe","take","catchError","throwError","Injectable","args","providedIn","HttpClient","Store","ProfileService","rest","get","update","changePassword","ProfileState","profileService","getProfile","profile","profileGet","patchState","tap","profileUpdate","_b","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationConfigurationService","getConfiguration","SessionState","getLanguage","language","getTenant","tenant","setLanguage","setTenantId","organizeRoutes","routes","wrappers","parentNameArr","parentName","filter","route","children","filteredRoutes","sortRoutes","setChildRoute","map","foundedChildren","parent","sort","order","appConfigurationService","getAll","state","getApplicationInfo","environment","application","getOne","createSelector","ConfigState_1","getDeep","keys","split","isArray","Error","reduce","acc","val","apis","getSetting","snq","setting","values","getGrantedPolicy","condition","replace","selector","getPolicy","auth","grantedPolicies","forEach","eval","getCopy","interpolateParams","_i","localization","defaultResourceName","copy","params","param","addData","configuration","switchMap","of","patchRoute","getState","findIndex","patchRouteDeep","parentUrl","path","child","uuid","Math","random","toString","getInitialData","injector","toPromise","isFunction","takeUntilDestroy","componentInstance","destroyMethodName","source","originalDestroy","Subject","complete","takeUntil","DynamicLayoutComponent","router","events","subscribe","event","NavigationEnd","segments","parseUrl","root","primary","layouts","requirements","layout_1","findLayout","layout","l","find","toLowerCase","ngOnDestroy","Component","template","Router","Select","Observable","wrapper","RouterOutletComponent","AutofocusDirective","elRef","delay","ngAfterViewInit","setTimeout","nativeElement","focus","Directive","ElementRef","Input","EllipsisDirective","cdRef","enabled","width","undefined","ngAfterContentInit","title","innerText","detectChanges","ChangeDetectorRef","HostBinding","PermissionDirective","renderer","ngOnInit","select","isGranted","removeChild","parentElement","Optional","Renderer2","VisibilityDirective","completed$","observer","MutationObserver","mutations","mutation","from","childNodes","node","HTMLElement","disconnect","focusedElement","childList","account","empty","AuthGuard","oauthService","canActivate","hasValidAccessToken","Navigate","redirectUrl","OAuthService","PermissionGuard","resource","data","ApiInterceptor","oAuthService","intercept","headers","token","getAccessToken","has","lang","id","handle","clone","setHeaders","finalize","ApplicationConfiguration","ABP","Config","Session","Profile","Response","Localization","Language","Auth","Setting","CurrentUser","Features","Root","PagedItemsResponse","PageQueryParams","Route","FullRoute","BasicItem","Environment","Application","Requirements","Rest","Request","ChangePasswordRequest","NGXS_CONFIG_PLUGIN_OPTIONS","InjectionToken","ConfigPlugin","initialized","matches","actionMatcher","InitState","UpdateState","transformRoutes","setValue","Inject","abpRoutes","transformed","component","loadChildren","abpPackage","abp","setUrls","ConfigService","LazyLoadService","loadedLibraries","load","content","targetQuery","position","library","slice","lastIndexOf","asObservable","ReplaySubject","document","createElement","src","text","rel","href","textContent","onload","querySelector","insertAdjacentElement","LocalizationService","instant","environmentFactory","configFactory","ENVIRONMENT","CONFIG","LocalizationPipe","transform","distinctUntilChanged","Pipe","pure","InputEventDebounceDirective","el","debounce","debounceEvent","EventEmitter","fromEvent","debounceTime","emit","Output","ClickEventStopPropagationDirective","stopPropEvent","stopPropagation","CoreModule","forRoot","ngModule","providers","provide","NGXS_PLUGINS","useClass","multi","useValue","HTTP_INTERCEPTORS","APP_INITIALIZER","deps","Injector","useFactory","NgModule","imports","NgxsModule","forFeature","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","declarations","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js index 167f56f56e..c8f0e1201e 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js @@ -23,7 +23,7 @@ export class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; } /** * @return {?} @@ -53,7 +53,7 @@ EllipsisDirective.ctorParameters = () => [ { type: ElementRef } ]; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -61,7 +61,7 @@ EllipsisDirective.propDecorators = { }; if (false) { /** @type {?} */ - EllipsisDirective.prototype.witdh; + EllipsisDirective.prototype.width; /** @type {?} */ EllipsisDirective.prototype.title; /** @type {?} */ @@ -77,4 +77,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2l0ZGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aXRkaCB8fCAnMTYwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2lkdGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aWR0aCB8fCAnMTcwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js index 13a8d7d106..36ad767d9b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js @@ -1,9 +1,9 @@ -import * as tslib_1 from "tslib"; var ConfigState_1; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import * as tslib_1 from "tslib"; import { State, Selector, createSelector, Action, Store } from '@ngxs/store'; import { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions'; import { ApplicationConfigurationService } from '../services/application-configuration.service'; diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js index 974ff3259e..baf8f33d3a 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js @@ -24,7 +24,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -60,7 +60,7 @@ var EllipsisDirective = /** @class */ (function () { { type: ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -71,7 +71,7 @@ var EllipsisDirective = /** @class */ (function () { export { EllipsisDirective }; if (false) { /** @type {?} */ - EllipsisDirective.prototype.witdh; + EllipsisDirective.prototype.width; /** @type {?} */ EllipsisDirective.prototype.title; /** @type {?} */ @@ -87,4 +87,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpdGRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2l0ZGggfHwgJzE2MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpZHRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2lkdGggfHwgJzE3MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js index 7b1d3a94bf..4d35034c0b 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js @@ -28,9 +28,21 @@ class PatchRouteByName { } } PatchRouteByName.type = '[Config] Patch Route By Name'; +if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; +} class GetAppConfiguration { } GetAppConfiguration.type = '[Config] Get App Configuration'; +if (false) { + /** @type {?} */ + GetAppConfiguration.type; +} /** * @fileoverview added by tsickle @@ -45,6 +57,12 @@ class StartLoader { } } StartLoader.type = '[Loader] Start'; +if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; +} class StopLoader { /** * @param {?} payload @@ -54,6 +72,12 @@ class StopLoader { } } StopLoader.type = '[Loader] Stop'; +if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; +} /** * @fileoverview added by tsickle @@ -62,6 +86,10 @@ StopLoader.type = '[Loader] Stop'; class GetProfile { } GetProfile.type = '[Profile] Get'; +if (false) { + /** @type {?} */ + GetProfile.type; +} class UpdateProfile { /** * @param {?} payload @@ -71,6 +99,12 @@ class UpdateProfile { } } UpdateProfile.type = '[Profile] Update'; +if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; +} class ChangePassword { /** * @param {?} payload @@ -80,6 +114,12 @@ class ChangePassword { } } ChangePassword.type = '[Profile] Change Password'; +if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; +} /** * @fileoverview added by tsickle @@ -94,6 +134,12 @@ class RestOccurError { } } RestOccurError.type = '[Rest] Error'; +if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; +} /** * @fileoverview added by tsickle @@ -108,6 +154,12 @@ class SetLanguage { } } SetLanguage.type = '[Session] Set Language'; +if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; +} class SetTenant { /** * @param {?} payload @@ -117,6 +169,17 @@ class SetTenant { } } SetTenant.type = '[Session] Set Tenant'; +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -175,6 +238,18 @@ RestService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ RestService.ngInjectableDef = ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(ɵɵinject(HttpClient), ɵɵinject(Store)); }, token: RestService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; +} /** * @fileoverview added by tsickle @@ -236,6 +311,13 @@ ProfileService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ ProfileService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -322,6 +404,13 @@ ProfileState = __decorate([ }), __metadata("design:paramtypes", [ProfileService]) ], ProfileState); +if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; +} /** * @fileoverview added by tsickle @@ -356,6 +445,13 @@ ApplicationConfigurationService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -806,6 +902,18 @@ ConfigState = ConfigState_1 = __decorate([ }), __metadata("design:paramtypes", [ApplicationConfigurationService, Store]) ], ConfigState); +if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; +} /** * @param {?} routes * @param {?} name @@ -844,6 +952,11 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { return organizeRoutes(routes); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -921,6 +1034,11 @@ const takeUntilDestroy = (/** return source.pipe(takeUntil(componentInstance['__takeUntilDestroy'])); })); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -983,6 +1101,22 @@ __decorate([ Select(ConfigState.getOne('requirements')), __metadata("design:type", Observable) ], DynamicLayoutComponent.prototype, "requirements$", void 0); +if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; +} /** * @param {?} segments * @param {?} routes @@ -1038,6 +1172,11 @@ RouterOutletComponent.decorators = [ }] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1072,6 +1211,15 @@ AutofocusDirective.ctorParameters = () => [ AutofocusDirective.propDecorators = { delay: [{ type: Input, args: ['autofocus',] }] }; +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1097,7 +1245,7 @@ class EllipsisDirective { * @return {?} */ get maxWidth() { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; } /** * @return {?} @@ -1127,12 +1275,30 @@ EllipsisDirective.ctorParameters = () => [ { type: ElementRef } ]; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; +if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1187,6 +1353,25 @@ PermissionDirective.ctorParameters = () => [ PermissionDirective.propDecorators = { condition: [{ type: Input, args: ['abpPermission',] }] }; +if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; +} /** * @fileoverview added by tsickle @@ -1271,6 +1456,43 @@ VisibilityDirective.ctorParameters = () => [ VisibilityDirective.propDecorators = { focusedElement: [{ type: Input, args: ['abpVisibility',] }] }; +if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @enum {string} */ +const eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1311,6 +1533,18 @@ AuthGuard.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(OAuthService), ɵɵinject(Store)); }, token: AuthGuard, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; +} /** * @fileoverview added by tsickle @@ -1343,6 +1577,18 @@ PermissionGuard.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Store)); }, token: PermissionGuard, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1399,6 +1645,272 @@ ApiInterceptor.ctorParameters = () => [ { type: OAuthService }, { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ApplicationConfiguration; +(function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } +})(ApplicationConfiguration || (ApplicationConfiguration = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ABP; +(function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } +})(ABP || (ABP = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Config; +(function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } +})(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1411,14 +1923,107 @@ var Rest; */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(Rest || (Rest = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Session; +(function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } +})(Session || (Session = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Profile; +(function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } +})(Profile || (Profile = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1464,6 +2069,23 @@ ConfigPlugin.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [NGXS_CONFIG_PLUGIN_OPTIONS,] }] }, { type: Router } ]; +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} /** * @param {?=} routes * @param {?=} wrappers @@ -1563,6 +2185,11 @@ function setUrls(routes, parentUrl) { }))))); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1612,6 +2239,13 @@ ConfigService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ ConfigService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Store)); }, token: ConfigService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; +} /** * @fileoverview added by tsickle @@ -1677,6 +2311,10 @@ LazyLoadService.decorators = [ },] } ]; /** @nocollapse */ LazyLoadService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); +if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; +} /** * @fileoverview added by tsickle @@ -1714,6 +2352,18 @@ LocalizationService.ctorParameters = () => [ { type: Store } ]; /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1738,6 +2388,11 @@ const ENVIRONMENT = new InjectionToken('ENVIRONMENT'); /** @type {?} */ const CONFIG = new InjectionToken('CONFIG'); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1789,6 +2444,17 @@ LocalizationPipe.decorators = [ LocalizationPipe.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} /** * @fileoverview added by tsickle @@ -1834,6 +2500,22 @@ InputEventDebounceDirective.propDecorators = { debounce: [{ type: Input }], debounceEvent: [{ type: Output, args: ['input.debounce',] }] }; +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -1878,6 +2560,20 @@ ClickEventStopPropagationDirective.ctorParameters = () => [ ClickEventStopPropagationDirective.propDecorators = { stopPropEvent: [{ type: Output, args: ['click.stop',] }] }; +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -1961,5 +2657,15 @@ CoreModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map index a4556ae956..7e0e326caf 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js index ca5410906d..81ad989458 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js @@ -1,9 +1,9 @@ import { __rest, __assign, __decorate, __metadata, __spread } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, Output, EventEmitter, NgModule, APP_INITIALIZER, Injector } from '@angular/core'; -import { Router, NavigationEnd, RouterModule } from '@angular/router'; -import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, EventEmitter, Output, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; +import { NavigationEnd, Router, RouterModule } from '@angular/router'; +import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; -import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; +import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; import snq from 'snq'; import { OAuthService } from 'angular-oauth2-oidc'; @@ -25,12 +25,24 @@ var PatchRouteByName = /** @class */ (function () { PatchRouteByName.type = '[Config] Patch Route By Name'; return PatchRouteByName; }()); +if (false) { + /** @type {?} */ + PatchRouteByName.type; + /** @type {?} */ + PatchRouteByName.prototype.name; + /** @type {?} */ + PatchRouteByName.prototype.newValue; +} var GetAppConfiguration = /** @class */ (function () { function GetAppConfiguration() { } GetAppConfiguration.type = '[Config] Get App Configuration'; return GetAppConfiguration; }()); +if (false) { + /** @type {?} */ + GetAppConfiguration.type; +} /** * @fileoverview added by tsickle @@ -43,6 +55,12 @@ var StartLoader = /** @class */ (function () { StartLoader.type = '[Loader] Start'; return StartLoader; }()); +if (false) { + /** @type {?} */ + StartLoader.type; + /** @type {?} */ + StartLoader.prototype.payload; +} var StopLoader = /** @class */ (function () { function StopLoader(payload) { this.payload = payload; @@ -50,6 +68,12 @@ var StopLoader = /** @class */ (function () { StopLoader.type = '[Loader] Stop'; return StopLoader; }()); +if (false) { + /** @type {?} */ + StopLoader.type; + /** @type {?} */ + StopLoader.prototype.payload; +} /** * @fileoverview added by tsickle @@ -61,6 +85,10 @@ var GetProfile = /** @class */ (function () { GetProfile.type = '[Profile] Get'; return GetProfile; }()); +if (false) { + /** @type {?} */ + GetProfile.type; +} var UpdateProfile = /** @class */ (function () { function UpdateProfile(payload) { this.payload = payload; @@ -68,6 +96,12 @@ var UpdateProfile = /** @class */ (function () { UpdateProfile.type = '[Profile] Update'; return UpdateProfile; }()); +if (false) { + /** @type {?} */ + UpdateProfile.type; + /** @type {?} */ + UpdateProfile.prototype.payload; +} var ChangePassword = /** @class */ (function () { function ChangePassword(payload) { this.payload = payload; @@ -75,6 +109,12 @@ var ChangePassword = /** @class */ (function () { ChangePassword.type = '[Profile] Change Password'; return ChangePassword; }()); +if (false) { + /** @type {?} */ + ChangePassword.type; + /** @type {?} */ + ChangePassword.prototype.payload; +} /** * @fileoverview added by tsickle @@ -87,6 +127,12 @@ var RestOccurError = /** @class */ (function () { RestOccurError.type = '[Rest] Error'; return RestOccurError; }()); +if (false) { + /** @type {?} */ + RestOccurError.type; + /** @type {?} */ + RestOccurError.prototype.payload; +} /** * @fileoverview added by tsickle @@ -99,6 +145,12 @@ var SetLanguage = /** @class */ (function () { SetLanguage.type = '[Session] Set Language'; return SetLanguage; }()); +if (false) { + /** @type {?} */ + SetLanguage.type; + /** @type {?} */ + SetLanguage.prototype.payload; +} var SetTenant = /** @class */ (function () { function SetTenant(payload) { this.payload = payload; @@ -106,6 +158,17 @@ var SetTenant = /** @class */ (function () { SetTenant.type = '[Session] Set Tenant'; return SetTenant; }()); +if (false) { + /** @type {?} */ + SetTenant.type; + /** @type {?} */ + SetTenant.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -174,6 +237,18 @@ var RestService = /** @class */ (function () { /** @nocollapse */ RestService.ngInjectableDef = ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(ɵɵinject(HttpClient), ɵɵinject(Store)); }, token: RestService, providedIn: "root" }); return RestService; }()); +if (false) { + /** + * @type {?} + * @private + */ + RestService.prototype.http; + /** + * @type {?} + * @private + */ + RestService.prototype.store; +} /** * @fileoverview added by tsickle @@ -246,6 +321,13 @@ var ProfileService = /** @class */ (function () { /** @nocollapse */ ProfileService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(ɵɵinject(RestService)); }, token: ProfileService, providedIn: "root" }); return ProfileService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ProfileService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -357,6 +439,13 @@ var ProfileState = /** @class */ (function () { ], ProfileState); return ProfileState; }()); +if (false) { + /** + * @type {?} + * @private + */ + ProfileState.prototype.profileService; +} /** * @fileoverview added by tsickle @@ -392,6 +481,13 @@ var ApplicationConfigurationService = /** @class */ (function () { /** @nocollapse */ ApplicationConfigurationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ApplicationConfigurationService_Factory() { return new ApplicationConfigurationService(ɵɵinject(RestService)); }, token: ApplicationConfigurationService, providedIn: "root" }); return ApplicationConfigurationService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ApplicationConfigurationService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -923,6 +1019,18 @@ var ConfigState = /** @class */ (function () { ], ConfigState); return ConfigState; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigState.prototype.appConfigurationService; + /** + * @type {?} + * @private + */ + ConfigState.prototype.store; +} /** * @param {?} routes * @param {?} name @@ -962,6 +1070,11 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { return organizeRoutes(routes); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1042,6 +1155,11 @@ function (componentInstance, destroyMethodName) { }); }); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1100,6 +1218,22 @@ var DynamicLayoutComponent = /** @class */ (function () { ], DynamicLayoutComponent.prototype, "requirements$", void 0); return DynamicLayoutComponent; }()); +if (false) { + /** @type {?} */ + DynamicLayoutComponent.prototype.requirements$; + /** @type {?} */ + DynamicLayoutComponent.prototype.layout; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.router; + /** + * @type {?} + * @private + */ + DynamicLayoutComponent.prototype.store; +} /** * @param {?} segments * @param {?} routes @@ -1156,6 +1290,11 @@ var RouterOutletComponent = /** @class */ (function () { return RouterOutletComponent; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1192,6 +1331,15 @@ var AutofocusDirective = /** @class */ (function () { }; return AutofocusDirective; }()); +if (false) { + /** @type {?} */ + AutofocusDirective.prototype.delay; + /** + * @type {?} + * @private + */ + AutofocusDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1218,7 +1366,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.witdh || '160px' : undefined; + return this.enabled ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1254,7 +1402,7 @@ var EllipsisDirective = /** @class */ (function () { { type: ElementRef } ]; }; EllipsisDirective.propDecorators = { - witdh: [{ type: Input, args: ['abpEllipsis',] }], + width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], @@ -1262,6 +1410,24 @@ var EllipsisDirective = /** @class */ (function () { }; return EllipsisDirective; }()); +if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; +} /** * @fileoverview added by tsickle @@ -1319,6 +1485,25 @@ var PermissionDirective = /** @class */ (function () { }; return PermissionDirective; }()); +if (false) { + /** @type {?} */ + PermissionDirective.prototype.condition; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + PermissionDirective.prototype.store; +} /** * @fileoverview added by tsickle @@ -1407,6 +1592,43 @@ var VisibilityDirective = /** @class */ (function () { }; return VisibilityDirective; }()); +if (false) { + /** @type {?} */ + VisibilityDirective.prototype.focusedElement; + /** @type {?} */ + VisibilityDirective.prototype.completed$; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.elRef; + /** + * @type {?} + * @private + */ + VisibilityDirective.prototype.renderer; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @enum {string} */ +var eLayoutType = { + account: 'account', + application: 'application', + empty: 'empty', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1449,6 +1671,18 @@ var AuthGuard = /** @class */ (function () { /** @nocollapse */ AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(OAuthService), ɵɵinject(Store)); }, token: AuthGuard, providedIn: "root" }); return AuthGuard; }()); +if (false) { + /** + * @type {?} + * @private + */ + AuthGuard.prototype.oauthService; + /** + * @type {?} + * @private + */ + AuthGuard.prototype.store; +} /** * @fileoverview added by tsickle @@ -1484,6 +1718,18 @@ var PermissionGuard = /** @class */ (function () { /** @nocollapse */ PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Store)); }, token: PermissionGuard, providedIn: "root" }); return PermissionGuard; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionGuard.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1543,6 +1789,272 @@ var ApiInterceptor = /** @class */ (function () { ]; }; return ApiInterceptor; }()); +if (false) { + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.oAuthService; + /** + * @type {?} + * @private + */ + ApiInterceptor.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ApplicationConfiguration; +(function (ApplicationConfiguration) { + /** + * @record + */ + function Response() { } + ApplicationConfiguration.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.localization; + /** @type {?} */ + Response.prototype.auth; + /** @type {?} */ + Response.prototype.setting; + /** @type {?} */ + Response.prototype.currentUser; + /** @type {?} */ + Response.prototype.features; + } + /** + * @record + */ + function Localization() { } + ApplicationConfiguration.Localization = Localization; + if (false) { + /** @type {?} */ + Localization.prototype.values; + /** @type {?} */ + Localization.prototype.languages; + } + /** + * @record + */ + function LocalizationValue() { } + ApplicationConfiguration.LocalizationValue = LocalizationValue; + /** + * @record + */ + function Language() { } + ApplicationConfiguration.Language = Language; + if (false) { + /** @type {?} */ + Language.prototype.cultureName; + /** @type {?} */ + Language.prototype.uiCultureName; + /** @type {?} */ + Language.prototype.displayName; + /** @type {?} */ + Language.prototype.flagIcon; + } + /** + * @record + */ + function Auth() { } + ApplicationConfiguration.Auth = Auth; + if (false) { + /** @type {?} */ + Auth.prototype.policies; + /** @type {?} */ + Auth.prototype.grantedPolicies; + } + /** + * @record + */ + function Policy() { } + ApplicationConfiguration.Policy = Policy; + /** + * @record + */ + function Setting() { } + ApplicationConfiguration.Setting = Setting; + if (false) { + /** @type {?} */ + Setting.prototype.values; + } + /** + * @record + */ + function CurrentUser() { } + ApplicationConfiguration.CurrentUser = CurrentUser; + if (false) { + /** @type {?} */ + CurrentUser.prototype.isAuthenticated; + /** @type {?} */ + CurrentUser.prototype.id; + /** @type {?} */ + CurrentUser.prototype.tenantId; + /** @type {?} */ + CurrentUser.prototype.userName; + } + /** + * @record + */ + function Features() { } + ApplicationConfiguration.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.values; + } +})(ApplicationConfiguration || (ApplicationConfiguration = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ABP; +(function (ABP) { + /** + * @record + */ + function Root() { } + ABP.Root = Root; + if (false) { + /** @type {?} */ + Root.prototype.environment; + /** @type {?} */ + Root.prototype.requirements; + } + /** + * @record + * @template T + */ + function PagedItemsResponse() { } + ABP.PagedItemsResponse = PagedItemsResponse; + if (false) { + /** @type {?} */ + PagedItemsResponse.prototype.items; + } + /** + * @record + */ + function PageQueryParams() { } + ABP.PageQueryParams = PageQueryParams; + if (false) { + /** @type {?|undefined} */ + PageQueryParams.prototype.filter; + /** @type {?|undefined} */ + PageQueryParams.prototype.sorting; + /** @type {?|undefined} */ + PageQueryParams.prototype.skipCount; + /** @type {?|undefined} */ + PageQueryParams.prototype.maxResultCount; + } + /** + * @record + */ + function Route() { } + ABP.Route = Route; + if (false) { + /** @type {?|undefined} */ + Route.prototype.children; + /** @type {?|undefined} */ + Route.prototype.invisible; + /** @type {?|undefined} */ + Route.prototype.layout; + /** @type {?} */ + Route.prototype.name; + /** @type {?|undefined} */ + Route.prototype.order; + /** @type {?|undefined} */ + Route.prototype.parentName; + /** @type {?} */ + Route.prototype.path; + /** @type {?|undefined} */ + Route.prototype.requiredPolicy; + /** @type {?|undefined} */ + Route.prototype.iconClass; + } + /** + * @record + */ + function FullRoute() { } + ABP.FullRoute = FullRoute; + if (false) { + /** @type {?|undefined} */ + FullRoute.prototype.url; + /** @type {?|undefined} */ + FullRoute.prototype.wrapper; + } + /** + * @record + */ + function BasicItem() { } + ABP.BasicItem = BasicItem; + if (false) { + /** @type {?} */ + BasicItem.prototype.id; + /** @type {?} */ + BasicItem.prototype.name; + } +})(ABP || (ABP = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Config; +(function (Config) { + /** + * @record + */ + function State() { } + Config.State = State; + /** + * @record + */ + function Environment() { } + Config.Environment = Environment; + if (false) { + /** @type {?} */ + Environment.prototype.application; + /** @type {?} */ + Environment.prototype.production; + /** @type {?} */ + Environment.prototype.oAuthConfig; + /** @type {?} */ + Environment.prototype.apis; + } + /** + * @record + */ + function Application() { } + Config.Application = Application; + if (false) { + /** @type {?} */ + Application.prototype.name; + /** @type {?|undefined} */ + Application.prototype.logoUrl; + } + /** + * @record + */ + function Apis() { } + Config.Apis = Apis; + /** + * @record + */ + function Requirements() { } + Config.Requirements = Requirements; + if (false) { + /** @type {?} */ + Requirements.prototype.layouts; + } +})(Config || (Config = {})); /** * @fileoverview added by tsickle @@ -1555,14 +2067,107 @@ var Rest; */ function Config() { } Rest.Config = Config; + if (false) { + /** @type {?|undefined} */ + Config.prototype.throwErr; + /** @type {?|undefined} */ + Config.prototype.observe; + } /** * @record * @template T */ function Request() { } Rest.Request = Request; + if (false) { + /** @type {?|undefined} */ + Request.prototype.body; + /** @type {?|undefined} */ + Request.prototype.headers; + /** @type {?} */ + Request.prototype.method; + /** @type {?|undefined} */ + Request.prototype.params; + /** @type {?|undefined} */ + Request.prototype.reportProgress; + /** @type {?|undefined} */ + Request.prototype.responseType; + /** @type {?} */ + Request.prototype.url; + /** @type {?|undefined} */ + Request.prototype.withCredentials; + } })(Rest || (Rest = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Session; +(function (Session) { + /** + * @record + */ + function State() { } + Session.State = State; + if (false) { + /** @type {?} */ + State.prototype.language; + /** @type {?} */ + State.prototype.tenant; + } +})(Session || (Session = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var Profile; +(function (Profile) { + /** + * @record + */ + function State() { } + Profile.State = State; + if (false) { + /** @type {?} */ + State.prototype.profile; + } + /** + * @record + */ + function Response() { } + Profile.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.userName; + /** @type {?} */ + Response.prototype.email; + /** @type {?} */ + Response.prototype.name; + /** @type {?} */ + Response.prototype.surname; + /** @type {?} */ + Response.prototype.phoneNumber; + } + /** + * @record + */ + function ChangePasswordRequest() { } + Profile.ChangePasswordRequest = ChangePasswordRequest; + if (false) { + /** @type {?} */ + ChangePasswordRequest.prototype.currentPassword; + /** @type {?} */ + ChangePasswordRequest.prototype.newPassword; + } +})(Profile || (Profile = {})); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1611,6 +2216,23 @@ var ConfigPlugin = /** @class */ (function () { ]; }; return ConfigPlugin; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} /** * @param {?=} routes * @param {?=} wrappers @@ -1712,6 +2334,11 @@ function setUrls(routes, parentUrl) { }))); })); } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1774,6 +2401,13 @@ var ConfigService = /** @class */ (function () { /** @nocollapse */ ConfigService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Store)); }, token: ConfigService, providedIn: "root" }); return ConfigService; }()); +if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype.store; +} /** * @fileoverview added by tsickle @@ -1852,6 +2486,10 @@ var LazyLoadService = /** @class */ (function () { /** @nocollapse */ LazyLoadService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LazyLoadService_Factory() { return new LazyLoadService(); }, token: LazyLoadService, providedIn: "root" }); return LazyLoadService; }()); +if (false) { + /** @type {?} */ + LazyLoadService.prototype.loadedLibraries; +} /** * @fileoverview added by tsickle @@ -1905,6 +2543,18 @@ var LocalizationService = /** @class */ (function () { /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); return LocalizationService; }()); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -1929,6 +2579,11 @@ var ENVIRONMENT = new InjectionToken('ENVIRONMENT'); /** @type {?} */ var CONFIG = new InjectionToken('CONFIG'); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1991,6 +2646,17 @@ var LocalizationPipe = /** @class */ (function () { ]; }; return LocalizationPipe; }()); +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialized; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} /** * @fileoverview added by tsickle @@ -2037,6 +2703,22 @@ var InputEventDebounceDirective = /** @class */ (function () { }; return InputEventDebounceDirective; }()); +if (false) { + /** @type {?} */ + InputEventDebounceDirective.prototype.debounce; + /** @type {?} */ + InputEventDebounceDirective.prototype.debounceEvent; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + InputEventDebounceDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -2082,6 +2764,20 @@ var ClickEventStopPropagationDirective = /** @class */ (function () { }; return ClickEventStopPropagationDirective; }()); +if (false) { + /** @type {?} */ + ClickEventStopPropagationDirective.prototype.stopPropEvent; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.renderer; + /** + * @type {?} + * @private + */ + ClickEventStopPropagationDirective.prototype.el; +} /** * @fileoverview added by tsickle @@ -2173,5 +2869,15 @@ var CoreModule = /** @class */ (function () { return CoreModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map index 376ef0339c..19fa60aec5 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n witdh: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.witdh || '160px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts index 25b011d787..6bc522d0ae 100644 --- a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts +++ b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts @@ -2,7 +2,7 @@ import { AfterContentInit, ChangeDetectorRef, ElementRef } from '@angular/core'; export declare class EllipsisDirective implements AfterContentInit { private cdRef; private elRef; - witdh: string; + width: string; title: string; enabled: boolean; readonly class: boolean; diff --git a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts index b46b7d801a..380a05d768 100644 --- a/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts +++ b/npm/ng-packs/dist/core/lib/plugins/config.plugin.d.ts @@ -2,7 +2,7 @@ import { InjectionToken } from '@angular/core'; import { Router } from '@angular/router'; import { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store'; import { ABP } from '../models'; -export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken<{}>; +export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken; export declare class ConfigPlugin implements NgxsPlugin { private options; private router; diff --git a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts index 57fff48eaa..5102a1104a 100644 --- a/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts +++ b/npm/ng-packs/dist/core/lib/tokens/common.token.d.ts @@ -9,5 +9,5 @@ export declare function environmentFactory(environment: Config.Environment): { export declare function configFactory(config: Config.Requirements): { layouts: import("@angular/core").Type[]; }; -export declare const ENVIRONMENT: InjectionToken<{}>; -export declare const CONFIG: InjectionToken<{}>; +export declare const ENVIRONMENT: InjectionToken; +export declare const CONFIG: InjectionToken; diff --git a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json index d52fdb7fa6..7386696299 100644 --- a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json +++ b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":41,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":41,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":41,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":58,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":58,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":58,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":43,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":43,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":60,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":60,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":60,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js index 226588a8f9..02988894e2 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js @@ -20,6 +20,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -32,6 +46,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -39,8 +65,142 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -54,6 +214,12 @@ GetRoles.type = '[Identity] Get Roles'; return GetRoles; }()); + if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; + } var GetRoleById = /** @class */ (function () { function GetRoleById(payload) { this.payload = payload; @@ -61,6 +227,12 @@ GetRoleById.type = '[Identity] Get Role By Id'; return GetRoleById; }()); + if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; + } var DeleteRole = /** @class */ (function () { function DeleteRole(payload) { this.payload = payload; @@ -68,6 +240,12 @@ DeleteRole.type = '[Identity] Delete Role'; return DeleteRole; }()); + if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; + } var CreateRole = /** @class */ (function () { function CreateRole(payload) { this.payload = payload; @@ -75,6 +253,12 @@ CreateRole.type = '[Identity] Create Role'; return CreateRole; }()); + if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; + } var UpdateRole = /** @class */ (function () { function UpdateRole(payload) { this.payload = payload; @@ -82,6 +266,12 @@ UpdateRole.type = '[Identity] Update Role'; return UpdateRole; }()); + if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; + } var GetUsers = /** @class */ (function () { function GetUsers(payload) { this.payload = payload; @@ -89,6 +279,12 @@ GetUsers.type = '[Identity] Get Users'; return GetUsers; }()); + if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; + } var GetUserById = /** @class */ (function () { function GetUserById(payload) { this.payload = payload; @@ -96,6 +292,12 @@ GetUserById.type = '[Identity] Get User By Id'; return GetUserById; }()); + if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; + } var DeleteUser = /** @class */ (function () { function DeleteUser(payload) { this.payload = payload; @@ -103,6 +305,12 @@ DeleteUser.type = '[Identity] Delete User'; return DeleteUser; }()); + if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; + } var CreateUser = /** @class */ (function () { function CreateUser(payload) { this.payload = payload; @@ -110,6 +318,12 @@ CreateUser.type = '[Identity] Create User'; return CreateUser; }()); + if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; + } var UpdateUser = /** @class */ (function () { function UpdateUser(payload) { this.payload = payload; @@ -117,6 +331,12 @@ UpdateUser.type = '[Identity] Update User'; return UpdateUser; }()); + if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; + } var GetUserRoles = /** @class */ (function () { function GetUserRoles(payload) { this.payload = payload; @@ -124,6 +344,12 @@ GetUserRoles.type = '[Identity] Get User Roles'; return GetUserRoles; }()); + if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; + } /** * @fileoverview added by tsickle @@ -335,6 +561,13 @@ /** @nocollapse */ IdentityService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(core.ɵɵinject(ng_core.RestService)); }, token: IdentityService, providedIn: "root" }); return IdentityService; }()); + if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -722,6 +955,13 @@ ], IdentityState); return IdentityState; }()); + if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; + } /** * @fileoverview added by tsickle @@ -737,6 +977,7 @@ sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -818,6 +1059,7 @@ var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) @@ -826,6 +1068,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -888,7 +1131,7 @@ RolesComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -910,6 +1153,45 @@ ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); + if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -939,6 +1221,13 @@ ]; }; return RoleResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -954,6 +1243,7 @@ sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -1083,6 +1373,7 @@ var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -1105,6 +1396,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -1167,7 +1459,7 @@ UsersComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -1189,6 +1481,51 @@ ], UsersComponent.prototype, "totalCount$", void 0); return UsersComponent; }()); + if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -1218,6 +1555,13 @@ ]; }; return UserResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -1325,31 +1669,95 @@ */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); exports.CreateRole = CreateRole; diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map index f24f269b58..95983ac34e 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js index 8c41f4231f..41cb0524b4 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g,v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}(),I=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}(),R=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}(),w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}(),A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}(),U=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}(),S=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}(),C=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}(),L=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}(),N=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}(),x=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}(),P=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}(),z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new I(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new v)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new S(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new U)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,I]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,S]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(x),h("design:type",Function),h("design:paramtypes",[Object,x]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[P])],e)}(),M=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new I(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.isModalVisible=!1})},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new R(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new v(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),k=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new v)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),q=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new S(e)).pipe(s.switchMap(function(){return t.store.dispatch(new x(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new N(m({},this.form.value,{id:this.selected.id,roleNames:n})):new L(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new C(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new U(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}(),D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new U)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}(),j=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:M,resolve:[k]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:q,resolve:[k,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(j)],exports:[l.RouterModule],providers:[k,D]}]}],e}(),T=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[M,q],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){e.State=function(){},e.RoleSaveRequest=function(){},e.RoleItem=function(){},e.UserItem=function(){},e.User=function(){},e.UserSaveRequest=function(){}}(g||(g={})),e.CreateRole=w,e.CreateUser=L,e.DeleteRole=R,e.DeleteUser=C,e.GetRoleById=I,e.GetRoles=v,e.GetUserById=S,e.GetUserRoles=x,e.GetUsers=U,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=T,e.IdentityService=P,e.IdentityState=z,e.RoleResolver=k,e.RolesComponent=M,e.UpdateRole=A,e.UpdateUser=N,e.ɵb=q,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}();var v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}();var I=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}();var w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}();var A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}();var R=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}();var U=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}();var S=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}();var C=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}();var L=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}();var N=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}();var x=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new v(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new g)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new U(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new R)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(g),h("design:type",Function),h("design:paramtypes",[Object,g]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,R]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,C]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[x])],e)}();var P=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new v(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1}))},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new I(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new g(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var M=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new g)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var k=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.modalBusy=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new U(e)).pipe(s.switchMap(function(){return t.store.dispatch(new N(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){this.modalBusy=!0;var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new L(m({},this.form.value,{id:this.selected.id,roleNames:n})):new C(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new S(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new R(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n \'AbpIdentity::Save\' | abpLocalization\n }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new R)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var j,q=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:P,resolve:[M]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:k,resolve:[M,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(q)],exports:[l.RouterModule],providers:[M,D]}]}],e}(),F=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[P,k],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){function t(){}function n(){}function o(){}function r(){}function i(){}function a(){}e.State=t,e.RoleSaveRequest=n,e.RoleItem=o,e.UserItem=r,e.User=i,e.UserSaveRequest=a}(j||(j={})),e.CreateRole=w,e.CreateUser=C,e.DeleteRole=I,e.DeleteUser=S,e.GetRoleById=v,e.GetRoles=g,e.GetUserById=U,e.GetUserRoles=N,e.GetUsers=R,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=F,e.IdentityService=x,e.IdentityState=z,e.RoleResolver=M,e.RolesComponent=P,e.UpdateRole=A,e.UpdateUser=L,e.ɵb=k,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.identity.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map index ca0d172159..4bd3e3e6f5 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","Identity","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","order","wrapper","parentName","layout","iconClass"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","modalBusy","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","Identity","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","RoleSaveRequest","RoleItem","UserItem","User","UserSaveRequest","order","wrapper","parentName","layout","iconClass"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js index e40a2751e5..890edde843 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/roles/roles.component.js @@ -26,6 +26,7 @@ export class RolesComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -85,6 +86,7 @@ export class RolesComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) @@ -93,6 +95,7 @@ export class RolesComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -142,7 +145,7 @@ export class RolesComponent { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -182,6 +185,8 @@ if (false) { /** @type {?} */ RolesComponent.prototype.loading; /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -199,4 +204,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQTBCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBYjNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxjQUFTLEdBQXdCO1lBQy9CLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixZQUFPLEdBQVksS0FBSyxDQUFDO0lBS3FGLENBQUM7Ozs7O0lBRS9HLFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFD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Q0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Ozs7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUMsQ0FBQzthQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUEzR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpNElBQXFDO2FBQ3RDOzs7O1lBYlEsbUJBQW1CO1lBRW5CLFdBQVc7WUFDSCxLQUFLOzs7MkJBa0NuQixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7QUFyQjVDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7c0NBQ3hCLFVBQVU7NkNBQXNCO0FBR3ZDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyw4QkFBZ0I7O0lBRWhCLGtDQUE0Qjs7SUFFNUIsd0NBQXdCOztJQUV4Qiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsaUNBQXlCOztJQUV6QixzQ0FDK0I7Ozs7O0lBRW5CLDZDQUFnRDs7Ozs7SUFBRSw0QkFBdUI7Ozs7O0lBQUUsK0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQTRCekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBZjNHLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxjQUFTLEdBQXdCO1lBQy9CLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFLbUYsQ0FBQzs7Ozs7SUFFL0csUUFB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ZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDcmVhdGVSb2xlLCBEZWxldGVSb2xlLCBHZXRSb2xlQnlJZCwgR2V0Um9sZXMsIFVwZGF0ZVJvbGUgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbVtdPjtcblxuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXNUb3RhbENvdW50KVxuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuUm9sZUl0ZW07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBkaXNhYmxlZDogdGhpcy5zZWxlY3RlZC5pc1N0YXRpYyB9LCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NiksXG4gICAgICBdKSxcbiAgICAgIGlzRGVmYXVsdDogW3RoaXMuc2VsZWN0ZWQuaXNEZWZhdWx0IHx8IGZhbHNlXSxcbiAgICAgIGlzUHVibGljOiBbdGhpcy5zZWxlY3RlZC5pc1B1YmxpYyB8fCBmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuUm9sZUl0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlQnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnSWRlbnRpdHlTdGF0ZScsICdzZWxlY3RlZFJvbGUnKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWRSb2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkUm9sZTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVJvbGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlUm9sZSh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlUm9sZShpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js index b1c121f3cf..2587277861 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/components/users/users.component.js @@ -27,6 +27,7 @@ export class UsersComponent { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -125,6 +126,7 @@ export class UsersComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; const { roleNames } = this.form.value; /** @type {?} */ const mappedRoleNames = snq((/** @@ -147,6 +149,7 @@ export class UsersComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -196,7 +199,7 @@ export class UsersComponent { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -242,6 +245,8 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -259,4 +264,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQW9DekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBSUYsWUFBTyxH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LGtDQUE0Qjs7SUFFNUIsMkNBQXVDOztJQUV2QywrQkFBMkI7O0lBRTNCLDRDQUFvQzs7SUFFcEMscUNBQW9COztJQUVwQixtQ0FFRTs7SUFFRix3Q0FBd0I7O0lBRXhCLGlDQUF5Qjs7SUFFekIsbUNBQTZGOzs7OztJQU1qRiw2Q0FBZ0Q7Ozs7O0lBQUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVHJhY2tCeUZ1bmN0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2ssIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7XG4gIENyZWF0ZVVzZXIsXG4gIERlbGV0ZVVzZXIsXG4gIEdldFVzZXJCeUlkLFxuICBHZXRVc2VyUm9sZXMsXG4gIEdldFVzZXJzLFxuICBVcGRhdGVVc2VyLFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdXNlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2VycylcbiAgZGF0YSQ6IE9ic2VydmFibGU8SWRlbnRpdHkuVXNlckl0ZW1bXT47XG5cbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFVzZXJzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuVXNlckl0ZW07XG5cbiAgc2VsZWN0ZWRVc2VyUm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgcm9sZXM6IElkZW50aXR5LlJvbGVJdGVtW107XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ3VzZXJOYW1lJyxcbiAgfTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XG5cbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xuICAgIHJldHVybiBzbnEoKCkgPT4gKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW10sIFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnJvbGVzID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJOYW1lOiBbdGhpcy5zZWxlY3RlZC51c2VyTmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIGVtYWlsOiBbdGhpcy5zZWxlY3RlZC5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHN1cm5hbWU6IFt0aGlzLnNlbGVjdGVkLnN1cm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcbiAgICAgIHBob25lTnVtYmVyOiBbdGhpcy5zZWxlY3RlZC5waG9uZU51bWJlciB8fCAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgbG9ja291dEVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHR3b0ZhY3RvckVuYWJsZWQ6IFt0aGlzLnNlbGVjdGVkLnR3b0ZhY3RvckVuYWJsZWQgfHwgKHRoaXMuc2VsZWN0ZWQuaWQgPyBmYWxzZSA6IHRydWUpXSxcbiAgICAgIHJvbGVOYW1lczogdGhpcy5mYi5hcnJheShcbiAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxuICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgW3JvbGUubmFtZV06IFshIXNucSgoKSA9PiB0aGlzLnNlbGVjdGVkVXNlclJvbGVzLmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpKV0sXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICAgIGlmICghdGhpcy5zZWxlY3RlZC51c2VyTmFtZSkge1xuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3Bhc3N3b3JkJywgbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSkpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25BZGQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5LlVzZXJJdGVtO1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBvbkVkaXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlckJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRVc2VyUm9sZXMoaWQpKSksXG4gICAgICAgIHBsdWNrKCdJZGVudGl0eVN0YXRlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogSWRlbnRpdHkuU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkVXNlcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHN0YXRlLnNlbGVjdGVkVXNlclJvbGVzO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+IHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgVXBkYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6VXNlckRlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3VzZXJOYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVVc2VyKGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VXNlcnModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLNUQsTUFBTSxPQUFPLGNBQWM7Ozs7OztJQXNDekIsWUFBb0IsbUJBQXdDLEVBQVUsRUFBZSxFQUFVLEtBQVk7UUFBdkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBcEIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBSUYsWUFBTyxH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Q0FBQyxrQkFBa0IsQ0FBQztzQ0FDNUIsVUFBVTttREFBUzs7O0lBSmhDLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixtQ0FBMkI7O0lBRTNCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgcm9sZU5hbWVzIH0gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID0gc25xKFxuICAgICAgKCkgPT4gcm9sZU5hbWVzLmZpbHRlcihyb2xlID0+ICEhcm9sZVtPYmplY3Qua2V5cyhyb2xlKVswXV0pLm1hcChyb2xlID0+IE9iamVjdC5rZXlzKHJvbGUpWzBdKSxcbiAgICAgIFtdLFxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbdXNlck5hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVVzZXIoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRVc2Vycyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js index 081515bf94..b2ca28f3aa 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/roles/roles.component.js @@ -21,6 +21,7 @@ var RolesComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -102,6 +103,7 @@ var RolesComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(tslib_1.__assign({}, this.form.value, { id: this.selected.id })) @@ -110,6 +112,7 @@ var RolesComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -172,7 +175,7 @@ var RolesComponent = /** @class */ (function () { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -215,6 +218,8 @@ if (false) { /** @type {?} */ RolesComponent.prototype.loading; /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ RolesComponent.prototype.modalContent; /** * @type {?} @@ -232,4 +237,4 @@ if (false) { */ RolesComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7SUE4QkUsd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWIzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRUYsWUFBTyxHQUFZLEtBQUssQ0FBQztJQUtxRixDQUFDOzs7OztJQUUvRyxpQ0FBUTs7OztJQUFSLFVBQVMsS0FBSztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMs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ZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWF0ZVJvbGUsIERlbGV0ZVJvbGUsIEdldFJvbGVCeUlkLCBHZXRSb2xlcywgVXBkYXRlUm9sZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9pZGVudGl0eSc7XG5pbXBvcnQgeyBJZGVudGl0eVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlJvbGVJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHNlbGVjdGVkOiBJZGVudGl0eS5Sb2xlSXRlbTtcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHBhZ2VRdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcyA9IHtcbiAgICBzb3J0aW5nOiAnbmFtZScsXG4gIH07XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb25TZWFyY2godmFsdWUpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIGRpc2FibGVkOiB0aGlzLnNlbGVjdGVkLmlzU3RhdGljIH0sIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KSxcbiAgICAgIF0pLFxuICAgICAgaXNEZWZhdWx0OiBbdGhpcy5zZWxlY3RlZC5pc0RlZmF1bHQgfHwgZmFsc2VdLFxuICAgICAgaXNQdWJsaWM6IFt0aGlzLnNlbGVjdGVkLmlzUHVibGljIHx8IGZhbHNlXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Sb2xlSXRlbTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdJZGVudGl0eVN0YXRlJywgJ3NlbGVjdGVkUm9sZScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZFJvbGUgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRSb2xlO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVJvbGUoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlcyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7SUFnQ0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWYzRyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsY0FBUyxHQUF3QjtZQUMvQixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRUYsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBS21GLENBQUM7Ozs7O0lBRS9HLGlDQUFROzs7O0lBQVIsVUFBUyxLQUFL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O0lBRXpCLG1DQUEyQjs7SUFFM0Isc0NBQytCOzs7OztJQUVuQiw2Q0FBZ0Q7Ozs7O0lBQUUsNEJBQXVCOzs7OztJQUFFLCtCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDcmVhdGVSb2xlLCBEZWxldGVSb2xlLCBHZXRSb2xlQnlJZCwgR2V0Um9sZXMsIFVwZGF0ZVJvbGUgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvaWRlbnRpdHknO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxJZGVudGl0eS5Sb2xlSXRlbVtdPjtcblxuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0Um9sZXNUb3RhbENvdW50KVxuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBzZWxlY3RlZDogSWRlbnRpdHkuUm9sZUl0ZW07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgdmlzaWJsZVBlcm1pc3Npb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBkaXNhYmxlZDogdGhpcy5zZWxlY3RlZC5pc1N0YXRpYyB9LCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NiksXG4gICAgICBdKSxcbiAgICAgIGlzRGVmYXVsdDogW3RoaXMuc2VsZWN0ZWQuaXNEZWZhdWx0IHx8IGZhbHNlXSxcbiAgICAgIGlzUHVibGljOiBbdGhpcy5zZWxlY3RlZC5pc1B1YmxpYyB8fCBmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHkuUm9sZUl0ZW07XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIG9uRWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRSb2xlQnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnSWRlbnRpdHlTdGF0ZScsICdzZWxlY3RlZFJvbGUnKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWRSb2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkUm9sZTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVJvbGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlUm9sZSh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlUm9sZShpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFJvbGVzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js index 5ba640606e..273bf12567 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js +++ b/npm/ng-packs/dist/identity/esm5/lib/components/users/users.component.js @@ -22,6 +22,7 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -151,6 +152,7 @@ var UsersComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -173,6 +175,7 @@ var UsersComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -235,7 +238,7 @@ var UsersComponent = /** @class */ (function () { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -284,6 +287,8 @@ if (false) { /** @type {?} */ UsersComponent.prototype.loading; /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ UsersComponent.prototype.trackByFn; /** * @type {?} @@ -301,4 +306,4 @@ if (false) { */ UsersComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQ7SUF3Q0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQWxCM0csdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FBd0I7WUFDL0IsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUlGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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QUM7MENBQ3hCLFVBQVU7aURBQXNCO0lBR3ZDO1FBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzswQ0FDNUIsVUFBVTt1REFBUztJQTRJbEMscUJBQUM7Q0FBQSxBQXJKRCxJQXFKQztTQWpKWSxjQUFjOzs7SUFDekIsK0JBQ3VDOztJQUV2QyxxQ0FDZ0M7O0lBRWhDLHNDQUMrQjs7SUFFL0IsOEJBQWdCOztJQUVoQixrQ0FBNEI7O0lBRTVCLDJDQUF1Qzs7SUFFdkMsK0JBQTJCOztJQUUzQiw0Q0FBb0M7O0lBRXBDLHFDQUFvQjs7SUFFcEIsbUNBRUU7O0lBRUYsd0NBQXdCOztJQUV4QixpQ0FBeUI7O0lBRXpCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyByb2xlTmFtZXMgfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBjb25zdCBtYXBwZWRSb2xlTmFtZXMgPSBzbnEoXG4gICAgICAoKSA9PiByb2xlTmFtZXMuZmlsdGVyKHJvbGUgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSkubWFwKHJvbGUgPT4gT2JqZWN0LmtleXMocm9sZSlbMF0pLFxuICAgICAgW10sXG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkLmlkLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlVXNlcihpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFtQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUE4QixXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQ7SUEwQ0Usd0JBQW9CLG1CQUF3QyxFQUFVLEVBQWUsRUFBVSxLQUFZO1FBQXZGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQXBCM0csdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FBd0I7WUFDL0IsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUlGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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QUs7OzsrQkF5Qm5CLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQUw1QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDOzBDQUN4QixVQUFVO2lEQUFzQjtJQUd2QztRQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7MENBQzVCLFVBQVU7dURBQVM7SUFnSmxDLHFCQUFDO0NBQUEsQUF6SkQsSUF5SkM7U0FySlksY0FBYzs7O0lBQ3pCLCtCQUN1Qzs7SUFFdkMscUNBQ2dDOztJQUVoQyxzQ0FDK0I7O0lBRS9CLDhCQUFnQjs7SUFFaEIsa0NBQTRCOztJQUU1QiwyQ0FBdUM7O0lBRXZDLCtCQUEyQjs7SUFFM0IsNENBQW9DOztJQUVwQyxxQ0FBb0I7O0lBRXBCLG1DQUVFOztJQUVGLHdDQUF3Qjs7SUFFeEIsaUNBQXlCOztJQUV6QixtQ0FBMkI7O0lBRTNCLG1DQUE2Rjs7Ozs7SUFNakYsNkNBQWdEOzs7OztJQUFFLDRCQUF1Qjs7Ozs7SUFBRSwrQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQge1xuICBAU2VsZWN0KElkZW50aXR5U3RhdGUuZ2V0VXNlcnMpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPElkZW50aXR5LlVzZXJJdGVtW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5LlVzZXJJdGVtO1xuXG4gIHNlbGVjdGVkVXNlclJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHJvbGVzOiBJZGVudGl0eS5Sb2xlSXRlbVtdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICd1c2VyTmFtZScsXG4gIH07XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcbiAgICByZXR1cm4gc25xKCgpID0+ICh0aGlzLmZvcm0uZ2V0KCdyb2xlTmFtZXMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdLCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoSWRlbnRpdHlTdGF0ZS5nZXRSb2xlcyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VyTmFtZTogW3RoaXMuc2VsZWN0ZWQudXNlck5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBlbWFpbDogW3RoaXMuc2VsZWN0ZWQuZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBzdXJuYW1lOiBbdGhpcy5zZWxlY3RlZC5zdXJuYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXG4gICAgICBwaG9uZU51bWJlcjogW3RoaXMuc2VsZWN0ZWQucGhvbmVOdW1iZXIgfHwgJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcbiAgICAgIGxvY2tvdXRFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICB0d29GYWN0b3JFbmFibGVkOiBbdGhpcy5zZWxlY3RlZC50d29GYWN0b3JFbmFibGVkIHx8ICh0aGlzLnNlbGVjdGVkLmlkID8gZmFsc2UgOiB0cnVlKV0sXG4gICAgICByb2xlTmFtZXM6IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgIHRoaXMucm9sZXMubWFwKHJvbGUgPT5cbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbISFzbnEoKCkgPT4gdGhpcy5zZWxlY3RlZFVzZXJSb2xlcy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKSldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQudXNlck5hbWUpIHtcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eS5Vc2VySXRlbTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gW10gYXMgSWRlbnRpdHkuUm9sZUl0ZW1bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgb25FZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFVzZXJCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlclJvbGVzKGlkKSkpLFxuICAgICAgICBwbHVjaygnSWRlbnRpdHlTdGF0ZScpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IElkZW50aXR5LlN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZFVzZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBzdGF0ZS5zZWxlY3RlZFVzZXJSb2xlcztcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgcm9sZU5hbWVzIH0gPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID0gc25xKFxuICAgICAgKCkgPT4gcm9sZU5hbWVzLmZpbHRlcihyb2xlID0+ICEhcm9sZVtPYmplY3Qua2V5cyhyb2xlKVswXV0pLm1hcChyb2xlID0+IE9iamVjdC5rZXlzKHJvbGUpWzBdKSxcbiAgICAgIFtdLFxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZC5pZCxcbiAgICAgICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVVzZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbdXNlck5hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVVzZXIoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRVc2Vycyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js index 582e158e7f..57a5f31b70 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js @@ -27,6 +27,12 @@ class GetRoles { } } GetRoles.type = '[Identity] Get Roles'; +if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; +} class GetRoleById { /** * @param {?} payload @@ -36,6 +42,12 @@ class GetRoleById { } } GetRoleById.type = '[Identity] Get Role By Id'; +if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; +} class DeleteRole { /** * @param {?} payload @@ -45,6 +57,12 @@ class DeleteRole { } } DeleteRole.type = '[Identity] Delete Role'; +if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; +} class CreateRole { /** * @param {?} payload @@ -54,6 +72,12 @@ class CreateRole { } } CreateRole.type = '[Identity] Create Role'; +if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; +} class UpdateRole { /** * @param {?} payload @@ -63,6 +87,12 @@ class UpdateRole { } } UpdateRole.type = '[Identity] Update Role'; +if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; +} class GetUsers { /** * @param {?=} payload @@ -72,6 +102,12 @@ class GetUsers { } } GetUsers.type = '[Identity] Get Users'; +if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; +} class GetUserById { /** * @param {?} payload @@ -81,6 +117,12 @@ class GetUserById { } } GetUserById.type = '[Identity] Get User By Id'; +if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; +} class DeleteUser { /** * @param {?} payload @@ -90,6 +132,12 @@ class DeleteUser { } } DeleteUser.type = '[Identity] Delete User'; +if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; +} class CreateUser { /** * @param {?} payload @@ -99,6 +147,12 @@ class CreateUser { } } CreateUser.type = '[Identity] Create User'; +if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; +} class UpdateUser { /** * @param {?} payload @@ -108,6 +162,12 @@ class UpdateUser { } } UpdateUser.type = '[Identity] Update User'; +if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; +} class GetUserRoles { /** * @param {?} payload @@ -117,6 +177,12 @@ class GetUserRoles { } } GetUserRoles.type = '[Identity] Get User Roles'; +if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; +} /** * @fileoverview added by tsickle @@ -284,6 +350,13 @@ IdentityService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ IdentityService.ngInjectableDef = ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(ɵɵinject(RestService)); }, token: IdentityService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -564,6 +637,13 @@ IdentityState = __decorate([ }), __metadata("design:paramtypes", [IdentityService]) ], IdentityState); +if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; +} /** * @fileoverview added by tsickle @@ -584,6 +664,7 @@ class RolesComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -643,6 +724,7 @@ class RolesComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(Object.assign({}, this.form.value, { id: this.selected.id })) @@ -651,6 +733,7 @@ class RolesComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -700,7 +783,7 @@ class RolesComponent { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -720,6 +803,45 @@ __decorate([ Select(IdentityState.getRolesTotalCount), __metadata("design:type", Observable) ], RolesComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -748,6 +870,13 @@ RoleResolver.decorators = [ RoleResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -768,6 +897,7 @@ class UsersComponent { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -866,6 +996,7 @@ class UsersComponent { save() { if (!this.form.valid) return; + this.modalBusy = true; const { roleNames } = this.form.value; /** @type {?} */ const mappedRoleNames = snq((/** @@ -888,6 +1019,7 @@ class UsersComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -937,7 +1069,7 @@ class UsersComponent { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -957,6 +1089,51 @@ __decorate([ Select(IdentityState.getUsersTotalCount), __metadata("design:type", Observable) ], UsersComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -985,6 +1162,13 @@ UserResolver.decorators = [ UserResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -1086,32 +1270,106 @@ var Identity; */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map index 332d00fe10..7e7ab82947 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js index 21756ce49a..114f1ce534 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js @@ -25,6 +25,12 @@ var GetRoles = /** @class */ (function () { GetRoles.type = '[Identity] Get Roles'; return GetRoles; }()); +if (false) { + /** @type {?} */ + GetRoles.type; + /** @type {?} */ + GetRoles.prototype.payload; +} var GetRoleById = /** @class */ (function () { function GetRoleById(payload) { this.payload = payload; @@ -32,6 +38,12 @@ var GetRoleById = /** @class */ (function () { GetRoleById.type = '[Identity] Get Role By Id'; return GetRoleById; }()); +if (false) { + /** @type {?} */ + GetRoleById.type; + /** @type {?} */ + GetRoleById.prototype.payload; +} var DeleteRole = /** @class */ (function () { function DeleteRole(payload) { this.payload = payload; @@ -39,6 +51,12 @@ var DeleteRole = /** @class */ (function () { DeleteRole.type = '[Identity] Delete Role'; return DeleteRole; }()); +if (false) { + /** @type {?} */ + DeleteRole.type; + /** @type {?} */ + DeleteRole.prototype.payload; +} var CreateRole = /** @class */ (function () { function CreateRole(payload) { this.payload = payload; @@ -46,6 +64,12 @@ var CreateRole = /** @class */ (function () { CreateRole.type = '[Identity] Create Role'; return CreateRole; }()); +if (false) { + /** @type {?} */ + CreateRole.type; + /** @type {?} */ + CreateRole.prototype.payload; +} var UpdateRole = /** @class */ (function () { function UpdateRole(payload) { this.payload = payload; @@ -53,6 +77,12 @@ var UpdateRole = /** @class */ (function () { UpdateRole.type = '[Identity] Update Role'; return UpdateRole; }()); +if (false) { + /** @type {?} */ + UpdateRole.type; + /** @type {?} */ + UpdateRole.prototype.payload; +} var GetUsers = /** @class */ (function () { function GetUsers(payload) { this.payload = payload; @@ -60,6 +90,12 @@ var GetUsers = /** @class */ (function () { GetUsers.type = '[Identity] Get Users'; return GetUsers; }()); +if (false) { + /** @type {?} */ + GetUsers.type; + /** @type {?} */ + GetUsers.prototype.payload; +} var GetUserById = /** @class */ (function () { function GetUserById(payload) { this.payload = payload; @@ -67,6 +103,12 @@ var GetUserById = /** @class */ (function () { GetUserById.type = '[Identity] Get User By Id'; return GetUserById; }()); +if (false) { + /** @type {?} */ + GetUserById.type; + /** @type {?} */ + GetUserById.prototype.payload; +} var DeleteUser = /** @class */ (function () { function DeleteUser(payload) { this.payload = payload; @@ -74,6 +116,12 @@ var DeleteUser = /** @class */ (function () { DeleteUser.type = '[Identity] Delete User'; return DeleteUser; }()); +if (false) { + /** @type {?} */ + DeleteUser.type; + /** @type {?} */ + DeleteUser.prototype.payload; +} var CreateUser = /** @class */ (function () { function CreateUser(payload) { this.payload = payload; @@ -81,6 +129,12 @@ var CreateUser = /** @class */ (function () { CreateUser.type = '[Identity] Create User'; return CreateUser; }()); +if (false) { + /** @type {?} */ + CreateUser.type; + /** @type {?} */ + CreateUser.prototype.payload; +} var UpdateUser = /** @class */ (function () { function UpdateUser(payload) { this.payload = payload; @@ -88,6 +142,12 @@ var UpdateUser = /** @class */ (function () { UpdateUser.type = '[Identity] Update User'; return UpdateUser; }()); +if (false) { + /** @type {?} */ + UpdateUser.type; + /** @type {?} */ + UpdateUser.prototype.payload; +} var GetUserRoles = /** @class */ (function () { function GetUserRoles(payload) { this.payload = payload; @@ -95,6 +155,12 @@ var GetUserRoles = /** @class */ (function () { GetUserRoles.type = '[Identity] Get User Roles'; return GetUserRoles; }()); +if (false) { + /** @type {?} */ + GetUserRoles.type; + /** @type {?} */ + GetUserRoles.prototype.payload; +} /** * @fileoverview added by tsickle @@ -306,6 +372,13 @@ var IdentityService = /** @class */ (function () { /** @nocollapse */ IdentityService.ngInjectableDef = ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(ɵɵinject(RestService)); }, token: IdentityService, providedIn: "root" }); return IdentityService; }()); +if (false) { + /** + * @type {?} + * @private + */ + IdentityService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -693,6 +766,13 @@ var IdentityState = /** @class */ (function () { ], IdentityState); return IdentityState; }()); +if (false) { + /** + * @type {?} + * @private + */ + IdentityState.prototype.identityService; +} /** * @fileoverview added by tsickle @@ -708,6 +788,7 @@ var RolesComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @param {?} value @@ -789,6 +870,7 @@ var RolesComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateRole(__assign({}, this.form.value, { id: this.selected.id })) @@ -797,6 +879,7 @@ var RolesComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -859,7 +942,7 @@ var RolesComponent = /** @class */ (function () { RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -881,6 +964,45 @@ var RolesComponent = /** @class */ (function () { ], RolesComponent.prototype, "totalCount$", void 0); return RolesComponent; }()); +if (false) { + /** @type {?} */ + RolesComponent.prototype.data$; + /** @type {?} */ + RolesComponent.prototype.totalCount$; + /** @type {?} */ + RolesComponent.prototype.form; + /** @type {?} */ + RolesComponent.prototype.selected; + /** @type {?} */ + RolesComponent.prototype.isModalVisible; + /** @type {?} */ + RolesComponent.prototype.visiblePermissions; + /** @type {?} */ + RolesComponent.prototype.providerKey; + /** @type {?} */ + RolesComponent.prototype.pageQuery; + /** @type {?} */ + RolesComponent.prototype.loading; + /** @type {?} */ + RolesComponent.prototype.modalBusy; + /** @type {?} */ + RolesComponent.prototype.modalContent; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.fb; + /** + * @type {?} + * @private + */ + RolesComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -910,6 +1032,13 @@ var RoleResolver = /** @class */ (function () { ]; }; return RoleResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + RoleResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -925,6 +1054,7 @@ var UsersComponent = /** @class */ (function () { sorting: 'userName', }; this.loading = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} index * @param {?} item @@ -1054,6 +1184,7 @@ var UsersComponent = /** @class */ (function () { var _this = this; if (!this.form.valid) return; + this.modalBusy = true; var roleNames = this.form.value.roleNames; /** @type {?} */ var mappedRoleNames = snq((/** @@ -1076,6 +1207,7 @@ var UsersComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -1138,7 +1270,7 @@ var UsersComponent = /** @class */ (function () { UsersComponent.decorators = [ { type: Component, args: [{ selector: 'abp-users', - template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n" + template: "
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -1160,6 +1292,51 @@ var UsersComponent = /** @class */ (function () { ], UsersComponent.prototype, "totalCount$", void 0); return UsersComponent; }()); +if (false) { + /** @type {?} */ + UsersComponent.prototype.data$; + /** @type {?} */ + UsersComponent.prototype.totalCount$; + /** @type {?} */ + UsersComponent.prototype.modalContent; + /** @type {?} */ + UsersComponent.prototype.form; + /** @type {?} */ + UsersComponent.prototype.selected; + /** @type {?} */ + UsersComponent.prototype.selectedUserRoles; + /** @type {?} */ + UsersComponent.prototype.roles; + /** @type {?} */ + UsersComponent.prototype.visiblePermissions; + /** @type {?} */ + UsersComponent.prototype.providerKey; + /** @type {?} */ + UsersComponent.prototype.pageQuery; + /** @type {?} */ + UsersComponent.prototype.isModalVisible; + /** @type {?} */ + UsersComponent.prototype.loading; + /** @type {?} */ + UsersComponent.prototype.modalBusy; + /** @type {?} */ + UsersComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.fb; + /** + * @type {?} + * @private + */ + UsersComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -1189,6 +1366,13 @@ var UserResolver = /** @class */ (function () { ]; }; return UserResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + UserResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -1296,32 +1480,106 @@ var Identity; */ function State() { } Identity.State = State; + if (false) { + /** @type {?} */ + State.prototype.roles; + /** @type {?} */ + State.prototype.users; + /** @type {?} */ + State.prototype.selectedRole; + /** @type {?} */ + State.prototype.selectedUser; + /** @type {?} */ + State.prototype.selectedUserRoles; + } /** * @record */ function RoleSaveRequest() { } Identity.RoleSaveRequest = RoleSaveRequest; + if (false) { + /** @type {?} */ + RoleSaveRequest.prototype.name; + /** @type {?} */ + RoleSaveRequest.prototype.isDefault; + /** @type {?} */ + RoleSaveRequest.prototype.isPublic; + } /** * @record */ function RoleItem() { } Identity.RoleItem = RoleItem; + if (false) { + /** @type {?} */ + RoleItem.prototype.isStatic; + /** @type {?} */ + RoleItem.prototype.concurrencyStamp; + /** @type {?} */ + RoleItem.prototype.id; + } /** * @record */ function UserItem() { } Identity.UserItem = UserItem; + if (false) { + /** @type {?} */ + UserItem.prototype.tenantId; + /** @type {?} */ + UserItem.prototype.emailConfirmed; + /** @type {?} */ + UserItem.prototype.phoneNumberConfirmed; + /** @type {?} */ + UserItem.prototype.isLockedOut; + /** @type {?} */ + UserItem.prototype.concurrencyStamp; + /** @type {?} */ + UserItem.prototype.id; + } /** * @record */ function User() { } Identity.User = User; + if (false) { + /** @type {?} */ + User.prototype.userName; + /** @type {?} */ + User.prototype.name; + /** @type {?} */ + User.prototype.surname; + /** @type {?} */ + User.prototype.email; + /** @type {?} */ + User.prototype.phoneNumber; + /** @type {?} */ + User.prototype.twoFactorEnabled; + /** @type {?} */ + User.prototype.lockoutEnabled; + } /** * @record */ function UserSaveRequest() { } Identity.UserSaveRequest = UserSaveRequest; + if (false) { + /** @type {?} */ + UserSaveRequest.prototype.password; + /** @type {?} */ + UserSaveRequest.prototype.roleNames; + } })(Identity || (Identity = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map index f6cd981177..058d951806 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts index 68584bf177..9f27f62856 100644 --- a/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/roles/roles.component.d.ts @@ -18,6 +18,7 @@ export declare class RolesComponent { providerKey: string; pageQuery: ABP.PageQueryParams; loading: boolean; + modalBusy: boolean; modalContent: TemplateRef; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); onSearch(value: any): void; diff --git a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts index a9f99333d4..36010fa626 100644 --- a/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts +++ b/npm/ng-packs/dist/identity/lib/components/users/users.component.d.ts @@ -21,6 +21,7 @@ export declare class UsersComponent { pageQuery: ABP.PageQueryParams; isModalVisible: boolean; loading: boolean; + modalBusy: boolean; trackByFn: TrackByFunction; readonly roleGroups: FormGroup[]; constructor(confirmationService: ConfirmationService, fb: FormBuilder, store: Store); diff --git a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json index 10da5a3628..81ad357603 100644 --- a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json +++ b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":86,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":86,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":88,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":88,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"isGrantedByRole":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js index cb40477261..e77395058c 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js @@ -18,6 +18,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -30,6 +44,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -37,10 +63,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -62,6 +144,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -75,6 +212,12 @@ GetPermissions.type = '[PermissionManagement] Get Permissions'; return GetPermissions; }()); + if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; + } var UpdatePermissions = /** @class */ (function () { function UpdatePermissions(payload) { this.payload = payload; @@ -82,6 +225,12 @@ UpdatePermissions.type = '[PermissionManagement] Update Permissions'; return UpdatePermissions; }()); + if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; + } /** * @fileoverview added by tsickle @@ -139,6 +288,13 @@ /** @nocollapse */ PermissionManagementService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(core.ɵɵinject(ng_core.RestService)); }, token: PermissionManagementService, providedIn: "root" }); return PermissionManagementService; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -242,6 +398,13 @@ ], PermissionManagementState); return PermissionManagementState; }()); + if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; + } /** * @fileoverview added by tsickle @@ -255,6 +418,7 @@ this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -344,6 +508,24 @@ */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -356,7 +538,7 @@ */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -461,7 +643,7 @@ * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -511,6 +693,7 @@ */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -545,10 +728,12 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -608,7 +793,7 @@ PermissionManagementComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -632,6 +817,45 @@ ], PermissionManagementComponent.prototype, "entityName$", void 0); return PermissionManagementComponent; }()); + if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; + } /** * @param {?} permissions * @param {?} permission @@ -681,6 +905,16 @@ return PermissionManagementModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -692,36 +926,80 @@ */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); exports.GetPermissions = GetPermissions; diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map index 45a40ee711..9f01b5311e 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js index da29b50646..2a994c8a21 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function l(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n0||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!(n.isGranted&&n.grantedProviders.length>0)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this,n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.visible=!1}):this.visible=!1},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},p([r.Select(h.getPermissionGroups),l("design:type",s.Observable)],e.prototype,"groups$",void 0),p([r.Select(h.getEntitiyDisplayName),l("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function y(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+y(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[g],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[g]}]}],e}();!function(e){e.State=function(){},e.Response=function(){},e.Group=function(){},e.MinimumPermission=function(){},e.Permission=function(){},e.GrantedProvider=function(){},e.UpdateRequest=function(){}}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=g,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=g,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function p(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n-1},e.prototype.onClickCheckbox=function(e,n){var t=this;e.isGranted&&this.isGrantedByRole(e.grantedProviders)||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!n.isGranted||!e.isGrantedByRole(n.grantedProviders)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this;this.modalBusy=!0;var n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.modalBusy=!1,e.visible=!1}):(this.modalBusy=!1,this.visible=!1)},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},l([r.Select(h.getPermissionGroups),p("design:type",s.Observable)],e.prototype,"groups$",void 0),l([r.Select(h.getEntitiyDisplayName),p("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function g(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+g(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[y],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[y]}]}],e}();!function(e){function n(){}function t(){}function i(){}function r(){}function s(){}function o(){}function a(){}e.State=n,e.Response=t,e.Group=i,e.MinimumPermission=r,e.Permission=s,e.GrantedProvider=o,e.UpdateRequest=a}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=y,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=y,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.permission-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map index 58235537b6..1576ce19da 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","onClickCheckbox","clickedPermission","grantedProviders","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","findIndex","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports"],"mappings":"qrBA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YAezB,SAASQ,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAId,UAAUC,OAAQc,EAAID,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOlB,OAAOsB,yBAAyBN,EAAQC,GAAOC,EACrH,GAAuB,iBAAZK,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAAST,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAId,EAAIW,EAAWR,OAAS,EAAGH,GAAK,EAAGA,KAASe,EAAIJ,EAAWX,MAAIiB,GAAKD,EAAI,EAAID,EAAEE,GAAKD,EAAI,EAAID,EAAEH,EAAQC,EAAKI,GAAKF,EAAEH,EAAQC,KAASI,GAChJ,OAAOD,EAAI,GAAKC,GAAKrB,OAAOyB,eAAeT,EAAQC,EAAKI,GAAIA,EAOzD,SAASK,EAAWC,EAAaC,GACpC,GAAuB,iBAAZL,SAAoD,mBAArBA,QAAQM,SAAyB,OAAON,QAAQM,SAASF,EAAaC,GAuD7G,SAASE,EAAOC,EAAG1B,GACtB,IAAI2B,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UACjD,IAAKF,EAAG,OAAOD,EACf,IAAmBV,EAAYc,EAA3B/B,EAAI4B,EAAErB,KAAKoB,GAAOK,EAAK,GAC3B,IACI,WAAc,IAAN/B,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEiC,QAAQC,MAAMF,EAAGG,KAAKlB,EAAEmB,OAExE,MAAOC,GAASN,EAAI,CAAEM,MAAOA,GACjC,QACQ,IACQpB,IAAMA,EAAEiB,OAASN,EAAI5B,EAAU,SAAI4B,EAAErB,KAAKP,GAE1D,QAAkB,GAAI+B,EAAG,MAAMA,EAAEM,OAE7B,OAAOL,EAGJ,SAASM,IACZ,IAAK,IAAIN,EAAK,GAAIhC,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CgC,EAAKA,EAAGO,OAAOb,EAAOxB,UAAUF,KACpC,OAAOgC,ECzIX,IAAAQ,EAAA,WAEE,SAAAA,EAAmBC,GAAAhC,KAAAgC,QAAAA,EACrB,OAFkBD,EAAAE,KAAO,yCAEzBF,EAHA,gBAOE,SAAAG,EAAmBF,GAAAhC,KAAAgC,QAAAA,EACrB,OAFkBE,EAAAD,KAAO,4CAEzBC,KCVAC,EAAA,WASE,SAAAA,EAAoBC,GAAApC,KAAAoC,KAAAA,SAEpBD,EAAAvC,UAAAyC,eAAA,SAAeC,OACPC,EAA8D,CAClEC,OAAQ,MACRC,IAAK,uBACLH,OAAMA,GAGR,OAAOtC,KAAKoC,KAAKG,QAA6EA,IAGhGJ,EAAAvC,UAAA8C,kBAAA,SAAkBC,OAKVJ,EAA4D,CAChEC,OAAQ,MACRC,IAAK,uBACLG,KAAM,CAAEC,YAPVF,EAAAE,aAQEP,OAAQ,CAAEQ,YAPZH,EAAAG,YAOyBC,aANzBJ,EAAAI,eASA,OAAO/C,KAAKoC,KAAKG,QAAkDA,wBA5BtES,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDALLC,EAAAA,iJADT,gBCqBE,SAAAC,EAAoBC,GAAArD,KAAAqD,4BAAAA,EAiBtB,OA1BSD,EAAAE,oBAAP,SAA2BX,GACzB,OAD2BA,EAAAY,cACNC,QAAU,IAI1BJ,EAAAK,sBAAP,SAA6Bd,GAC3B,OAD6BA,EAAAY,cACRG,mBAMvBN,EAAAxD,UAAA+D,wBAAA,SAAwBhB,EAA0DiB,OAAxDC,EAAAlB,EAAAkB,WAA0D7B,EAAA4B,EAAA5B,QAClF,OAAOhC,KAAKqD,4BAA4BhB,eAAeL,GAAS8B,KAC9DC,EAAAA,IAAG,SAACC,GACF,OAAAH,EAAW,CACTN,cAAeS,QAOvBZ,EAAAxD,UAAAqE,2BAAA,SAA2BC,EAAGvB,OAAEX,EAAAW,EAAAX,QAC9B,OAAOhC,KAAKqD,4BAA4BX,kBAAkBV,IAZ5DmC,EAAAA,CADCC,EAAAA,OAAOrC,2DACuFA,+EAW/FoC,EAAAA,CADCC,EAAAA,OAAOlC,2DACmCA,kFAvB3CiC,EAAAA,CADCE,EAAAA,kIAMDF,EAAAA,CADCE,EAAAA,oIANUjB,EAAyBnD,EAAA,CAJrCqE,EAAAA,MAAkC,CACjCC,KAAM,4BACNC,SAAQ,CAAIjB,cAAe,6BAasBpB,KAXtCiB,mBC4EX,SAAAqB,EAAoBC,EAAsBC,GAAtB3E,KAAA0E,MAAAA,EAAsB1E,KAAA2E,SAAAA,EApC1C3E,KAAA4E,cAAgB,IAAIC,EAAAA,aAUpB7E,KAAA6C,YAAiD,GAEjD7C,KAAA8E,eAAyB,EAEzB9E,KAAA+E,cAAwB,EAExB/E,KAAAgF,UAAS,SAAiDd,EAAGe,GAAS,OAAAA,EAAKV,MAwK7E,OAzMEpF,OAAAyB,eACI6D,EAAA7E,UAAA,UAAO,KADX,WAEE,OAAOI,KAAKkF,cAGd,SAAYvD,GACL3B,KAAKmF,gBAEVnF,KAAKkF,SAAWvD,EAChB3B,KAAK4E,cAAcQ,KAAKzD,GAEnBA,IACH3B,KAAKmF,cAAgB,wCAuBzBhG,OAAAyB,eAAI6D,EAAA7E,UAAA,4BAAyB,KAA7B,WAAA,IAAAyF,EAAArF,KACE,OAAOA,KAAKsF,QAAQxB,KAClByB,EAAAA,IAAG,SAAC/B,GACF,OAAA6B,EAAKF,cAAgB3B,EAAOgC,KAAI,SAACC,GAAS,OAAAA,EAAMlB,OAASc,EAAKF,cAAcZ,OAAM1B,YAAc,KAElG0C,EAAAA,IAAG,SAA4D1C,GAC7D,OAAAA,EAAY0C,IAAG,SACbG,GACE,OAAAxG,EAAA,GACKwG,EAAU,CACbC,OAAQC,EAAW/C,EAAa6C,GAChCG,UAAWR,EAAKxC,YAAY2C,KAAI,SAACM,GAAO,OAAAA,EAAIvB,OAASmB,EAAWnB,OAAMsB,kDASlFpB,EAAA7E,UAAAmG,SAAA,aAEAtB,EAAA7E,UAAAoG,WAAA,SAAWzB,GACT,OAAQvE,KAAK6C,YAAY2C,KAAI,SAACM,GAAO,OAAAA,EAAIvB,OAASA,KAAS,CAAEsB,WAAW,IAASA,WAGnFpB,EAAA7E,UAAAqG,gBAAA,SAAgBC,EAAoDvE,GAApE,IAAA0D,EAAArF,KACMkG,EAAkBL,WAAaK,EAAkBC,iBAAiBzG,OAAS,GAE/E0G,WAAU,WACRf,EAAKxC,YAAcwC,EAAKxC,YAAY0C,IAAG,SAACO,GACtC,OAAII,EAAkB3B,OAASuB,EAAIvB,KACjCrF,EAAA,GAAY4G,EAAG,CAAED,WAAYC,EAAID,YACxBK,EAAkB3B,OAASuB,EAAIO,YAAcH,EAAkBL,UACxE3G,EAAA,GAAY4G,EAAG,CAAED,WAAW,IACnBK,EAAkBG,aAAeP,EAAIvB,MAAS2B,EAAkBL,UAIpEC,EAHL5G,EAAA,GAAY4G,EAAG,CAAED,WAAW,MAMhCR,EAAKiB,sBACLjB,EAAKkB,yBACJ,IAGL9B,EAAA7E,UAAA0G,oBAAA,WAAA,IAAAjB,EAAArF,KACEA,KAAKwG,0BAA0B1C,KAAK2C,EAAAA,KAAK,IAAIC,UAAS,SAAC7D,OAC/C8D,EAAsB9D,EAAY+D,OAAM,SAACd,GAAO,OAAAA,EAAID,YACpDgB,EAAUC,SAASC,cAAc,4BAEnCJ,EAAoBjH,SAAWmD,EAAYnD,QAC7CmH,EAAQG,eAAgB,EACxB3B,EAAKP,eAAgB,GACmB,IAA/B6B,EAAoBjH,QAC7BmH,EAAQG,eAAgB,EACxB3B,EAAKP,eAAgB,GAErB+B,EAAQG,eAAgB,KAK9BvC,EAAA7E,UAAA2G,sBAAA,eACQU,EAAyBjH,KAAK6C,YAAY+D,OAAM,SAACd,GAAO,OAAAA,EAAID,YAC5DqB,EAAkBJ,SAASC,cAAc,2BAE3CE,EAAuBvH,SAAWM,KAAK6C,YAAYnD,QACrDwH,EAAgBF,eAAgB,EAChChH,KAAK+E,cAAe,GACuB,IAAlCkC,EAAuBvH,QAChCwH,EAAgBF,eAAgB,EAChChH,KAAK+E,cAAe,GAEpBmC,EAAgBF,eAAgB,GAIpCvC,EAAA7E,UAAAuH,qBAAA,WAAA,IAAA9B,EAAArF,KACEA,KAAKwG,0BAA0B1C,KAAK2C,EAAAA,KAAK,IAAIC,UAAS,SAAC7D,GACrDA,EAAYuE,QAAO,SAAC1B,GAClB,KAAIA,EAAWG,WAAaH,EAAWS,iBAAiBzG,OAAS,GAAjE,KAEM2H,EAAQhC,EAAKxC,YAAYyE,UAAS,SAACxB,GAAO,OAAAA,EAAIvB,OAASmB,EAAWnB,OAExEc,EAAKxC,YAAWhB,EACXwD,EAAKxC,YAAY0E,MAAM,EAAGF,GAAM,MAC9BhC,EAAKxC,YAAYwE,GAAM,CAAExB,WAAYR,EAAKP,iBAC5CO,EAAKxC,YAAY0E,MAAMF,EAAQ,SAKxCrH,KAAKuG,yBAGP9B,EAAA7E,UAAA4H,iBAAA,WAAA,IAAAnC,EAAArF,KACEA,KAAK6C,YAAc7C,KAAK6C,YAAY0C,IAAG,SAACG,GAAc,OAAAxG,EAAA,GAAMwG,EAAU,CAAEG,WAAYR,EAAKN,iBAEzF/E,KAAK8E,eAAiB9E,KAAK+E,cAG7BN,EAAA7E,UAAA6H,cAAA,SAAchC,GACZzF,KAAKmF,cAAgBM,EACrBzF,KAAKsG,uBAGP7B,EAAA7E,UAAA8H,SAAA,WAAA,IAAArC,EAAArF,KACQ2H,EAAuBtF,EAC3BrC,KAAK0E,MAAMkD,eAAexE,EAA0BE,sBAGhDuE,EAA+D7H,KAAK6C,YACvE+D,OAAM,SAACd,GACN,OAAA6B,EAAqBnC,KAAI,SAACsC,GAAa,OAAAA,EAAUvD,OAASuB,EAAIvB,OAAMsB,YAAcC,EAAID,YAEvFN,IAAG,SAAE5C,GAAwB,MAAA,CAAG4B,KAAzB5B,EAAA4B,KAA+BsB,UAAzBlD,EAAAkD,aAEZgC,EAAmBnI,OACrBM,KAAK0E,MACFqD,SACC,IAAI7F,EAAkB,CACpBY,YAAa9C,KAAK8C,YAClBC,aAAc/C,KAAK+C,aACnBF,YAAagF,KAGhBnB,UAAS,WACRrB,EAAK2C,SAAU,IAGnBhI,KAAKgI,SAAU,GAInBvD,EAAA7E,UAAAqI,UAAA,WAAA,IAAA5C,EAAArF,KACE,IAAKA,KAAK8C,cAAgB9C,KAAK+C,aAC7B,MAAM,IAAImF,MAAM,gDAGlBlI,KAAK0E,MACFqD,SAAS,IAAIhG,EAAe,CAAEe,YAAa9C,KAAK8C,YAAaC,aAAc/C,KAAK+C,gBAChFe,KAAKqE,EAAAA,MAAM,4BAA6B,kBACxCzB,UAAS,SAAEnD,GACV8B,EAAKF,cAAgB5B,EAAcC,OAAO,GAC1C6B,EAAKxC,YAAcR,EAAekB,EAAcC,QAEhD6B,EAAK2C,SAAU,KAIrBvD,EAAA7E,UAAAwI,UAAA,WACEpI,KAAKsG,sBACLtG,KAAKuG,yBAGP9B,EAAA7E,UAAAyI,YAAA,SAAY1F,OAAEqF,EAAArF,EAAAqF,QACPA,IAEDA,EAAQM,aACVtI,KAAKiI,aAC6B,IAAzBD,EAAQM,cAA0BtI,KAAKgI,UAChDhI,KAAKgI,SAAU,yBAnNpBO,EAAAA,UAAStF,KAAA,CAAC,CACTuF,SAAU,4BACVC,SAAA,6iIAXeC,EAAAA,aAJfC,EAAAA,mDAkBCC,EAAAA,2BAGAA,EAAAA,uBAKAA,EAAAA,6BAgBAC,EAAAA,UAID1E,EAAAA,CADC2E,EAAAA,OAAO1F,EAA0BE,qCACzByF,EAAAA,2CAGT5E,EAAAA,CADC2E,EAAAA,OAAO1F,EAA0BK,uCACrBsF,EAAAA,+CAkLftE,KAEA,SAASmB,EAAW/C,EAAgD6C,OAC5DsD,EAAmBnG,EAAY2C,KAAI,SAACM,GAAO,OAAAA,EAAIvB,OAASmB,EAAWW,aAEzE,OAAI2C,GAAoBA,EAAiB3C,WAC1B,GACKT,EAAW/C,EAAamG,GAGrCA,EAAmB,GAAK,EAGjC,SAAS3G,EAAemB,GACtB,OAAOA,EAAOyF,OAAM,SAAEC,EAAKC,GAAQ,OAAAtH,EAAIqH,EAAQC,EAAItG,cAAc,ICxPnE,ICAiBuG,EDAjBC,EAAA,WAQA,SAAAA,KAKyC,2BALxCC,EAAAA,SAAQrG,KAAA,CAAC,CACRsG,aAAc,CAAC9E,GACf+E,QAAS,CAACC,EAAAA,WAAYC,EAAAA,kBAAmBC,EAAAA,WAAWC,WAAW,CAACxG,IAA6ByG,EAAAA,wBAC7FC,QAAS,CAACrF,OAE6B4E,EAbzC,ICAA,SAAiBD,WACf,wBAIA,qBAKA,iCAMA,0BAKA,+BAOA,6BAKA,aAjCF,CAAiBA,IAAAA,EAAoB","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","modalBusy","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","isGrantedByRole","grantedProviders","findIndex","onClickCheckbox","clickedPermission","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports","Response","Group","MinimumPermission","Permission","GrantedProvider","UpdateRequest"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js index bcd6432581..0497446467 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js @@ -21,6 +21,7 @@ export class PermissionManagementComponent { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -88,13 +89,27 @@ export class PermissionManagementComponent { */ per => per.name === name)) || { isGranted: false }).isGranted; } + /** + * @param {?} grantedProviders + * @return {?} + */ + isGrantedByRole(grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + p => p.providerName === 'Role')) > -1; + } + return false; + } /** * @param {?} clickedPermission * @param {?} value * @return {?} */ onClickCheckbox(clickedPermission, value) { - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -188,7 +203,7 @@ export class PermissionManagementComponent { * @return {?} */ permission => { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ const index = this.permissions.findIndex((/** @@ -228,6 +243,7 @@ export class PermissionManagementComponent { * @return {?} */ onSubmit() { + this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -257,10 +273,12 @@ export class PermissionManagementComponent { * @return {?} */ () => { + this.modalBusy = false; this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } } @@ -309,7 +327,7 @@ export class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -356,6 +374,8 @@ if (false) { /** @type {?} */ PermissionManagementComponent.prototype.selectAllTab; /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ PermissionManagementComponent.prototype.trackByFn; /** * @type {?} @@ -399,4 +419,4 @@ function getPermissions(groups) { */ (acc, val) => [...acc, ...val.permissions]), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBOER4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO0lBb0JoQixDQUFDOzs7O0lBckRqRSxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7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QUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0V4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7SUFvQmhCLENBQUM7Ozs7SUF2RGpFLElBQ0ksT0FBTztRQUNU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L0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBpc0dyYW50ZWRCeVJvbGUoZ3JhbnRlZFByb3ZpZGVyczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyW10pOiBib29sZWFuIHtcbiAgICBpZiAoZ3JhbnRlZFByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBncmFudGVkUHJvdmlkZXJzLmZpbmRJbmRleChwID0+IHAucHJvdmlkZXJOYW1lID09PSAnUm9sZScpID4gLTE7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uQ2xpY2tDaGVja2JveChjbGlja2VkUGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbiwgdmFsdWUpIHtcbiAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKGNsaWNrZWRQZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMpKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLm1hcChwZXIgPT4ge1xuICAgICAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLm5hbWUpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogIXBlci5pc0dyYW50ZWQgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIucGFyZW50TmFtZSAmJiBjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogZmFsc2UgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5wYXJlbnROYW1lID09PSBwZXIubmFtZSAmJiAhY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2V0VGFiQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tdGhpcy10YWJzJykgYXMgYW55O1xuXG4gICAgICBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IHBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEdyYW50Q2hlY2tib3hTdGF0ZSgpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFsbFBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgIGNvbnN0IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLWFsbC10YWJzJykgYXMgYW55O1xuXG4gICAgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RUaGlzVGFiKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKHBlcm1pc3Npb24gPT4ge1xuICAgICAgICBpZiAocGVybWlzc2lvbi5pc0dyYW50ZWQgJiYgdGhpcy5pc0dyYW50ZWRCeVJvbGUocGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuICAgIGNvbnN0IHVuY2hhbmdlZFBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUuZ2V0UGVybWlzc2lvbkdyb3VwcyksXG4gICAgKTtcblxuICAgIGNvbnN0IGNoYW5nZWRQZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuTWluaW11bVBlcm1pc3Npb25bXSA9IHRoaXMucGVybWlzc2lvbnNcbiAgICAgIC5maWx0ZXIocGVyID0+XG4gICAgICAgIHVuY2hhbmdlZFBlcm1pc3Npb25zLmZpbmQodW5jaGFuZ2VkID0+IHVuY2hhbmdlZC5uYW1lID09PSBwZXIubmFtZSkuaXNHcmFudGVkID09PSBwZXIuaXNHcmFudGVkID8gZmFsc2UgOiB0cnVlLFxuICAgICAgKVxuICAgICAgLm1hcCgoeyBuYW1lLCBpc0dyYW50ZWQgfSkgPT4gKHsgbmFtZSwgaXNHcmFudGVkIH0pKTtcblxuICAgIGlmIChjaGFuZ2VkUGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgICBuZXcgVXBkYXRlUGVybWlzc2lvbnMoe1xuICAgICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgICBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGNoYW5nZWRQZXJtaXNzaW9ucyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvdmlkZXJLZXkgfHwgIXRoaXMucHJvdmlkZXJOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVyIEtleSBhbmQgUHJvdmlkZXIgTmFtZSBhcmUgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQZXJtaXNzaW9ucyh7IHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LCBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lIH0pKVxuICAgICAgLnBpcGUocGx1Y2soJ1Blcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUnLCAncGVybWlzc2lvblJlcycpKVxuICAgICAgLnN1YnNjcmliZSgocGVybWlzc2lvblJlczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gcGVybWlzc2lvblJlcy5ncm91cHNbMF07XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhwZXJtaXNzaW9uUmVzLmdyb3Vwcyk7XG5cbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaW5pdE1vZGFsKCkge1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXJnaW4ocGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgcGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbikge1xuICBjb25zdCBwYXJlbnRQZXJtaXNzaW9uID0gcGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ucGFyZW50TmFtZSk7XG5cbiAgaWYgKHBhcmVudFBlcm1pc3Npb24gJiYgcGFyZW50UGVybWlzc2lvbi5wYXJlbnROYW1lKSB7XG4gICAgbGV0IG1hcmdpbiA9IDIwO1xuICAgIHJldHVybiAobWFyZ2luICs9IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBhcmVudFBlcm1pc3Npb24pKTtcbiAgfVxuXG4gIHJldHVybiBwYXJlbnRQZXJtaXNzaW9uID8gMjAgOiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQZXJtaXNzaW9ucyhncm91cHM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10pOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10ge1xuICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5wZXJtaXNzaW9uc10sIFtdKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js index 0bf0bb7d41..d56f9a35e5 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js @@ -17,6 +17,7 @@ var PermissionManagementComponent = /** @class */ (function () { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -106,6 +107,24 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -118,7 +137,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -223,7 +242,7 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -273,6 +292,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -307,10 +327,12 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -370,7 +392,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -420,6 +442,8 @@ if (false) { /** @type {?} */ PermissionManagementComponent.prototype.selectAllTab; /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ PermissionManagementComponent.prototype.trackByFn; /** * @type {?} @@ -463,4 +487,4 @@ function getPermissions(groups) { */ function (acc, val) { return tslib_1.__spread(acc, val.permissions); }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBa0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUzs7Ozs7UUFBZ0QsVUFBQyxDQUFDLEVBQUUsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLElBQUksRUFBVCxDQUFTLEVBQUM7SUFvQmhCLENBQUM7SUFyRGpFLHNCQUNJLGtEQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FB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RSxVQUEyQzs7UUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBbEMsQ0FBa0MsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyx3QkFBSSxHQUFHLEVBQUssR0FBRyxDQUFDLFdBQVcsR0FBM0IsQ0FBNEIsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzLmxlbmd0aCA+IDApIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlciA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiAhcGVyLmlzR3JhbnRlZCB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5wYXJlbnROYW1lICYmIGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiBmYWxzZSB9O1xuICAgICAgICB9IGVsc2UgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLnBhcmVudE5hbWUgPT09IHBlci5uYW1lICYmICFjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcjtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRUYWJDaGVja2JveFN0YXRlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gcGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi10aGlzLXRhYnMnKSBhcyBhbnk7XG5cbiAgICAgIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0R3JhbnRDaGVja2JveFN0YXRlKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWxsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgY29uc3QgY2hlY2tib3hFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tYWxsLXRhYnMnKSBhcyBhbnk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1NlbGVjdFRoaXNUYWIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHBlcm1pc3Npb25zLmZvckVhY2gocGVybWlzc2lvbiA9PiB7XG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiBwZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBb0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxVQUFDLENBQUMsRUFBRSxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFULENBQVMsRUFBQztJQW9CaEIsQ0FBQztJQXZEakUsc0JBQ0ksa0RBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0JBQUUsT0FBTztZQUVoQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUvQixJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQzs7O09BWEE7SUFrQ0Qsc0JBQUksb0VBQXlCOzs7O1FBQTdCO1lBQUEsaUJBZ0JDO1lBZkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsR0FBRzs7OztZQUFDLFVBQUEsTUFBTTtnQkFDUixPQUFBLEtBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJOzs7O2dCQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBdEMsQ0FBc0MsRUFBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUFsRyxDQUFrRyxFQUNuRyxFQUNELEdBQUc7Ozs7WUFBNEQsVUFBQSxXQUFXO2dCQUN4RSxPQUFBLFdBQVcsQ0FBQyxHQUFHOzs7O2dCQUNiLFVBQUEsVUFBVTtvQkFDUixPQUFBLENBQUMsbUJBQUEsQ0FBQyx3Q0FDRyxVQUFVLElBQ2IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLFNBQVMsRUFBRSxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7d0JBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQTVCLENBQTRCLEVBQUMsQ0FBQyxTQUFTLEtBQ3pFLENBQUMsRUFBd0IsQ0FBQztnQkFKbEMsQ0FJa0MsRUFDckM7WUFQRCxDQU9DLEVBQ0YsQ0FDRixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7SUFJRCxnREFBUTs7O0lBQVIsY0FBa0IsQ0FBQzs7Ozs7SUFFbkIsa0RBQVU7Ozs7SUFBVixVQUFXLElBQVk7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQWpCLENBQWlCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RixDQUFDOzs7OztJQUVELHVEQUFlOzs7O0lBQWYsVUFBZ0IsZ0JBQXdEO1FBQ3RFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUzs7OztZQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQXpCLENBQXlCLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7O0lBRUQsdURBQWU7Ozs7O0lBQWYsVUFBZ0IsaUJBQWtELEVBQUUsS0FBSztRQUF6RSxpQkFtQkM7UUFsQkMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztZQUFFLE9BQU87UUFFcEcsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsV0FBVyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztZQUFDLFVBQUEsR0FBRztnQkFDekMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtvQkFDdkMsNEJBQVksR0FBRyxJQUFFLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUc7aUJBQzlDO3FCQUFNLElBQUksaUJBQWlCLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxVQUFVLElBQUksaUJBQWlCLENBQUMsU0FBUyxFQUFFO29CQUNuRiw0QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLEtBQUssSUFBRztpQkFDckM7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtvQkFDcEYsNEJBQVksR0FBRyxJQUFFLFNBQVMsRUFBRSxJQUFJLElBQUc7aUJBQ3BDO2dCQUVELE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFDLENBQUM7WUFFSCxLQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixLQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7O0lBRUQsMkRBQW1COzs7SUFBbkI7UUFBQSxpQkFlQztRQWRDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsV0FBVzs7Z0JBQzFELG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsU0FBUyxFQUFiLENBQWEsRUFBQzs7Z0JBQzlELE9BQU8sR0FBRyxtQkFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLEVBQU87WUFFekUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckQsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLEtBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO2lCQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLEtBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsNkRBQXFCOzs7SUFBckI7O1lBQ1Esc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsU0FBUyxFQUFiLENBQWEsRUFBQzs7WUFDdEUsZUFBZSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUVoRixJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3RCxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0wsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7O0lBRUQsNERBQW9COzs7SUFBcEI7UUFBQSxpQkFnQkM7UUFmQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLFdBQVc7WUFDaEUsV0FBVyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLFVBQVU7Z0JBQzVCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxLQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFBRSxPQUFPOztvQkFFaEYsS0FBSyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7OztnQkFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksRUFBNUIsQ0FBNEIsRUFBQztnQkFFN0UsS0FBSSxDQUFDLFdBQVcsb0JBQ1gsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQzt5Q0FDOUIsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFJLENBQUMsYUFBYTttQkFDekQsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUNyQyxDQUFDO1lBQ0osQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCx3REFBZ0I7OztJQUFoQjtRQUFBLGlCQUlDO1FBSEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFBLFVBQVUsSUFBSSxPQUFBLHNCQUFNLFVBQVUsSUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFJLENBQUMsWUFBWSxJQUFHLEVBQWxELENBQWtELEVBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVELHFEQUFhOzs7O0lBQWIsVUFBYyxLQUFpQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7O0lBRUQsZ0RBQVE7OztJQUFSO1FBQUEsaUJBNkJDO1FBNUJDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOztZQUNoQixvQkFBb0IsR0FBRyxjQUFjLENBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLENBQ3pFOztZQUVLLGtCQUFrQixHQUE2QyxJQUFJLENBQUMsV0FBVzthQUNsRixNQUFNOzs7O1FBQUMsVUFBQSxHQUFHO1lBQ1QsT0FBQSxvQkFBb0IsQ0FBQyxJQUFJOzs7O1lBQUMsVUFBQSxTQUFTLElBQUksT0FBQSxTQUFTLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQTNCLENBQTJCLEVBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQTlHLENBQThHLEVBQy9HO2FBQ0EsR0FBRzs7OztRQUFDLFVBQUMsRUFBbUI7Z0JBQWpCLGNBQUksRUFBRSx3QkFBUztZQUFPLE9BQUEsQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLFNBQVMsV0FBQSxFQUFFLENBQUM7UUFBckIsQ0FBcUIsRUFBQztRQUV0RCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSztpQkFDUCxRQUFRLENBQ1AsSUFBSSxpQkFBaUIsQ0FBQztnQkFDcEIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFdBQVcsRUFBRSxrQkFBa0I7YUFDaEMsQ0FBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDO2dCQUNULEtBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLEVBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7Ozs7SUFFRCxpREFBUzs7O0lBQVQ7UUFBQSxpQkFjQztRQWJDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFFRCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQzthQUNoRyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQ3pELFNBQVM7Ozs7UUFBQyxVQUFDLGFBQTRDO1lBQ3RELEtBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxLQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFeEQsS0FBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsaURBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCxtREFBVzs7OztJQUFYLFVBQVksRUFBMEI7WUFBeEIsb0JBQU87UUFDbkIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDOztnQkFqT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHUvSEFBcUQ7aUJBQ3REOzs7O2dCQVpnQixLQUFLO2dCQUpwQixTQUFTOzs7K0JBa0JSLEtBQUs7OEJBR0wsS0FBSzswQkFLTCxLQUFLO2dDQWdCTCxNQUFNOztJQUlQO1FBREMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDOzBDQUM3QyxVQUFVO2tFQUErQjtJQUdsRDtRQURDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQzswQ0FDM0MsVUFBVTtzRUFBUztJQThMbEMsb0NBQUM7Q0FBQSxBQWxPRCxJQWtPQztTQTlOWSw2QkFBNkI7OztJQUN4QyxxREFDcUI7O0lBRXJCLG9EQUNvQjs7Ozs7SUFFcEIsaURBQW1COztJQWtCbkIsc0RBQzRDOztJQUU1QyxnREFDa0Q7O0lBRWxELG9EQUNnQzs7SUFFaEMsc0RBQTBDOztJQUUxQyxvREFBb0Q7O0lBRXBELHNEQUErQjs7SUFFL0IscURBQThCOztJQUU5QixrREFBMkI7O0lBRTNCLGtEQUFnRjs7Ozs7SUFvQnBFLDhDQUFvQjs7Ozs7SUFBRSxpREFBMkI7Ozs7Ozs7QUFnSy9ELFNBQVMsVUFBVSxDQUFDLFdBQThDLEVBQUUsVUFBMkM7O1FBQ3ZHLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxVQUFVLEVBQWxDLENBQWtDLEVBQUM7SUFFcEYsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7O1lBQy9DLE1BQU0sR0FBRyxFQUFFO1FBQ2YsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztLQUM5RDtJQUVELE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7Ozs7O0FBRUQsU0FBUyxjQUFjLENBQUMsTUFBb0M7SUFDMUQsT0FBTyxNQUFNLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssd0JBQUksR0FBRyxFQUFLLEdBQUcsQ0FBQyxXQUFXLEdBQTNCLENBQTRCLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXRQZXJtaXNzaW9ucywgVXBkYXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgUGVybWlzc2lvbldpdGhNYXJnaW4gPSBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uICYgeyBtYXJnaW46IG51bWJlciB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwcm92aWRlck5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkR3JvdXApIHJldHVybjtcblxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKVxuICBncm91cHMkOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10+O1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRFbnRpdGl5RGlzcGxheU5hbWUpXG4gIGVudGl0eU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2VsZWN0ZWRHcm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXA7XG5cbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSA9IFtdO1xuXG4gIHNlbGVjdFRoaXNUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzZWxlY3RBbGxUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cD4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGdldCBzZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbldpdGhNYXJnaW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwcyQucGlwZShcbiAgICAgIG1hcChncm91cHMgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID8gZ3JvdXBzLmZpbmQoZ3JvdXAgPT4gZ3JvdXAubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwLm5hbWUpLnBlcm1pc3Npb25zIDogW10sXG4gICAgICApLFxuICAgICAgbWFwPFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgUGVybWlzc2lvbldpdGhNYXJnaW5bXT4ocGVybWlzc2lvbnMgPT5cbiAgICAgICAgcGVybWlzc2lvbnMubWFwKFxuICAgICAgICAgIHBlcm1pc3Npb24gPT5cbiAgICAgICAgICAgICgoe1xuICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBtYXJnaW46IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBlcm1pc3Npb24pLFxuICAgICAgICAgICAgICBpc0dyYW50ZWQ6IHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSkuaXNHcmFudGVkLFxuICAgICAgICAgICAgfSBhcyBhbnkpIGFzIFBlcm1pc3Npb25XaXRoTWFyZ2luKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldENoZWNrZWQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLnBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBuYW1lKSB8fCB7IGlzR3JhbnRlZDogZmFsc2UgfSkuaXNHcmFudGVkO1xuICB9XG5cbiAgaXNHcmFudGVkQnlSb2xlKGdyYW50ZWRQcm92aWRlcnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGdyYW50ZWRQcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZ3JhbnRlZFByb3ZpZGVycy5maW5kSW5kZXgocCA9PiBwLnByb3ZpZGVyTmFtZSA9PT0gJ1JvbGUnKSA+IC0xO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiB0aGlzLmlzR3JhbnRlZEJ5Um9sZShjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVyID0+IHtcbiAgICAgICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6ICFwZXIuaXNHcmFudGVkIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLnBhcmVudE5hbWUgJiYgY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IGZhbHNlIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ucGFyZW50TmFtZSA9PT0gcGVyLm5hbWUgJiYgIWNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFRhYkNoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLXRoaXMtdGFicycpIGFzIGFueTtcblxuICAgICAgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSBwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRHcmFudENoZWNrYm94U3RhdGUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICBjb25zdCBjaGVja2JveEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi1hbGwtdGFicycpIGFzIGFueTtcblxuICAgIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gdGhpcy5wZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0VGhpc1RhYigpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaChwZXJtaXNzaW9uID0+IHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKHBlcm1pc3Npb24uZ3JhbnRlZFByb3ZpZGVycykpIHJldHVybjtcblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucGVybWlzc2lvbnMuZmluZEluZGV4KHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKTtcblxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gW1xuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIHsgLi4udGhpcy5wZXJtaXNzaW9uc1tpbmRleF0sIGlzR3JhbnRlZDogIXRoaXMuc2VsZWN0VGhpc1RhYiB9LFxuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICAgICAgXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlcm1pc3Npb24gPT4gKHsgLi4ucGVybWlzc2lvbiwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RBbGxUYWIgfSkpO1xuXG4gICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gIXRoaXMuc2VsZWN0QWxsVGFiO1xuICB9XG5cbiAgb25DaGFuZ2VHcm91cChncm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXApIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBncm91cDtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBjb25zdCB1bmNoYW5nZWRQZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBjaGFuZ2VkUGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lk1pbmltdW1QZXJtaXNzaW9uW10gPSB0aGlzLnBlcm1pc3Npb25zXG4gICAgICAuZmlsdGVyKHBlciA9PlxuICAgICAgICB1bmNoYW5nZWRQZXJtaXNzaW9ucy5maW5kKHVuY2hhbmdlZCA9PiB1bmNoYW5nZWQubmFtZSA9PT0gcGVyLm5hbWUpLmlzR3JhbnRlZCA9PT0gcGVyLmlzR3JhbnRlZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIClcbiAgICAgIC5tYXAoKHsgbmFtZSwgaXNHcmFudGVkIH0pID0+ICh7IG5hbWUsIGlzR3JhbnRlZCB9KSk7XG5cbiAgICBpZiAoY2hhbmdlZFBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFVwZGF0ZVBlcm1pc3Npb25zKHtcbiAgICAgICAgICAgIHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBjaGFuZ2VkUGVybWlzc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3ZpZGVyS2V5IHx8ICF0aGlzLnByb3ZpZGVyTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlciBLZXkgYW5kIFByb3ZpZGVyIE5hbWUgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UGVybWlzc2lvbnMoeyBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSwgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSB9KSlcbiAgICAgIC5waXBlKHBsdWNrKCdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJywgJ3Blcm1pc3Npb25SZXMnKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25SZXM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IHBlcm1pc3Npb25SZXMuZ3JvdXBzWzBdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMocGVybWlzc2lvblJlcy5ncm91cHMpO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIGluaXRNb2RhbCgpIHtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTWFyZ2luKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10sIHBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24pIHtcbiAgY29uc3QgcGFyZW50UGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLnBhcmVudE5hbWUpO1xuXG4gIGlmIChwYXJlbnRQZXJtaXNzaW9uICYmIHBhcmVudFBlcm1pc3Npb24ucGFyZW50TmFtZSkge1xuICAgIGxldCBtYXJnaW4gPSAyMDtcbiAgICByZXR1cm4gKG1hcmdpbiArPSBmaW5kTWFyZ2luKHBlcm1pc3Npb25zLCBwYXJlbnRQZXJtaXNzaW9uKSk7XG4gIH1cblxuICByZXR1cm4gcGFyZW50UGVybWlzc2lvbiA/IDIwIDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnMoZ3JvdXBzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cFtdKTogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdIHtcbiAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwucGVybWlzc2lvbnNdLCBbXSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js index 92631dd363..bd5fe91708 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js @@ -20,6 +20,12 @@ class GetPermissions { } } GetPermissions.type = '[PermissionManagement] Get Permissions'; +if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; +} class UpdatePermissions { /** * @param {?} payload @@ -29,6 +35,12 @@ class UpdatePermissions { } } UpdatePermissions.type = '[PermissionManagement] Update Permissions'; +if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; +} /** * @fileoverview added by tsickle @@ -79,6 +91,13 @@ PermissionManagementService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ PermissionManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(ɵɵinject(RestService)); }, token: PermissionManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -159,6 +178,13 @@ PermissionManagementState = __decorate([ }), __metadata("design:paramtypes", [PermissionManagementService]) ], PermissionManagementState); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; +} /** * @fileoverview added by tsickle @@ -176,6 +202,7 @@ class PermissionManagementComponent { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -243,13 +270,27 @@ class PermissionManagementComponent { */ per => per.name === name)) || { isGranted: false }).isGranted; } + /** + * @param {?} grantedProviders + * @return {?} + */ + isGrantedByRole(grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + p => p.providerName === 'Role')) > -1; + } + return false; + } /** * @param {?} clickedPermission * @param {?} value * @return {?} */ onClickCheckbox(clickedPermission, value) { - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -343,7 +384,7 @@ class PermissionManagementComponent { * @return {?} */ permission => { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ const index = this.permissions.findIndex((/** @@ -383,6 +424,7 @@ class PermissionManagementComponent { * @return {?} */ onSubmit() { + this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -412,10 +454,12 @@ class PermissionManagementComponent { * @return {?} */ () => { + this.modalBusy = false; this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } } @@ -464,7 +508,7 @@ class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -486,6 +530,45 @@ __decorate([ Select(PermissionManagementState.getEntitiyDisplayName), __metadata("design:type", Observable) ], PermissionManagementComponent.prototype, "entityName$", void 0); +if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; +} /** * @param {?} permissions * @param {?} permission @@ -532,6 +615,16 @@ PermissionManagementModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -543,37 +636,106 @@ var PermissionManagement; */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map index 6a0c34e311..55787086eb 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js index e6d55b478b..78fb5d2943 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js @@ -1,6 +1,6 @@ import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Renderer2, Input, Output, EventEmitter, NgModule } from '@angular/core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata, __assign, __spread } from 'tslib'; import { Observable } from 'rxjs'; @@ -18,6 +18,12 @@ var GetPermissions = /** @class */ (function () { GetPermissions.type = '[PermissionManagement] Get Permissions'; return GetPermissions; }()); +if (false) { + /** @type {?} */ + GetPermissions.type; + /** @type {?} */ + GetPermissions.prototype.payload; +} var UpdatePermissions = /** @class */ (function () { function UpdatePermissions(payload) { this.payload = payload; @@ -25,6 +31,12 @@ var UpdatePermissions = /** @class */ (function () { UpdatePermissions.type = '[PermissionManagement] Update Permissions'; return UpdatePermissions; }()); +if (false) { + /** @type {?} */ + UpdatePermissions.type; + /** @type {?} */ + UpdatePermissions.prototype.payload; +} /** * @fileoverview added by tsickle @@ -82,6 +94,13 @@ var PermissionManagementService = /** @class */ (function () { /** @nocollapse */ PermissionManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionManagementService_Factory() { return new PermissionManagementService(ɵɵinject(RestService)); }, token: PermissionManagementService, providedIn: "root" }); return PermissionManagementService; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -185,6 +204,13 @@ var PermissionManagementState = /** @class */ (function () { ], PermissionManagementState); return PermissionManagementState; }()); +if (false) { + /** + * @type {?} + * @private + */ + PermissionManagementState.prototype.permissionManagementService; +} /** * @fileoverview added by tsickle @@ -198,6 +224,7 @@ var PermissionManagementComponent = /** @class */ (function () { this.permissions = []; this.selectThisTab = false; this.selectAllTab = false; + this.modalBusy = false; this.trackByFn = (/** * @param {?} _ * @param {?} item @@ -287,6 +314,24 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (per) { return per.name === name; })) || { isGranted: false }).isGranted; }; + /** + * @param {?} grantedProviders + * @return {?} + */ + PermissionManagementComponent.prototype.isGrantedByRole = /** + * @param {?} grantedProviders + * @return {?} + */ + function (grantedProviders) { + if (grantedProviders.length) { + return grantedProviders.findIndex((/** + * @param {?} p + * @return {?} + */ + function (p) { return p.providerName === 'Role'; })) > -1; + } + return false; + }; /** * @param {?} clickedPermission * @param {?} value @@ -299,7 +344,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function (clickedPermission, value) { var _this = this; - if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) + if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return; setTimeout((/** * @return {?} @@ -404,7 +449,7 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function (permission) { - if (permission.isGranted && permission.grantedProviders.length > 0) + if (permission.isGranted && _this.isGrantedByRole(permission.grantedProviders)) return; /** @type {?} */ var index = _this.permissions.findIndex((/** @@ -454,6 +499,7 @@ var PermissionManagementComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; /** @type {?} */ var unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); /** @type {?} */ @@ -488,10 +534,12 @@ var PermissionManagementComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; })); } else { + this.modalBusy = false; this.visible = false; } }; @@ -551,7 +599,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n 0\"\n />\n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -575,6 +623,45 @@ var PermissionManagementComponent = /** @class */ (function () { ], PermissionManagementComponent.prototype, "entityName$", void 0); return PermissionManagementComponent; }()); +if (false) { + /** @type {?} */ + PermissionManagementComponent.prototype.providerName; + /** @type {?} */ + PermissionManagementComponent.prototype.providerKey; + /** + * @type {?} + * @protected + */ + PermissionManagementComponent.prototype._visible; + /** @type {?} */ + PermissionManagementComponent.prototype.visibleChange; + /** @type {?} */ + PermissionManagementComponent.prototype.groups$; + /** @type {?} */ + PermissionManagementComponent.prototype.entityName$; + /** @type {?} */ + PermissionManagementComponent.prototype.selectedGroup; + /** @type {?} */ + PermissionManagementComponent.prototype.permissions; + /** @type {?} */ + PermissionManagementComponent.prototype.selectThisTab; + /** @type {?} */ + PermissionManagementComponent.prototype.selectAllTab; + /** @type {?} */ + PermissionManagementComponent.prototype.modalBusy; + /** @type {?} */ + PermissionManagementComponent.prototype.trackByFn; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.store; + /** + * @type {?} + * @private + */ + PermissionManagementComponent.prototype.renderer; +} /** * @param {?} permissions * @param {?} permission @@ -624,6 +711,16 @@ var PermissionManagementModule = /** @class */ (function () { return PermissionManagementModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -635,37 +732,106 @@ var PermissionManagement; */ function State() { } PermissionManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.permissionRes; + } /** * @record */ function Response() { } PermissionManagement.Response = Response; + if (false) { + /** @type {?} */ + Response.prototype.entityDisplayName; + /** @type {?} */ + Response.prototype.groups; + } /** * @record */ function Group() { } PermissionManagement.Group = Group; + if (false) { + /** @type {?} */ + Group.prototype.name; + /** @type {?} */ + Group.prototype.displayName; + /** @type {?} */ + Group.prototype.permissions; + } /** * @record */ function MinimumPermission() { } PermissionManagement.MinimumPermission = MinimumPermission; + if (false) { + /** @type {?} */ + MinimumPermission.prototype.name; + /** @type {?} */ + MinimumPermission.prototype.isGranted; + } /** * @record */ function Permission() { } PermissionManagement.Permission = Permission; + if (false) { + /** @type {?} */ + Permission.prototype.displayName; + /** @type {?} */ + Permission.prototype.parentName; + /** @type {?} */ + Permission.prototype.allowedProviders; + /** @type {?} */ + Permission.prototype.grantedProviders; + } /** * @record */ function GrantedProvider() { } PermissionManagement.GrantedProvider = GrantedProvider; + if (false) { + /** @type {?} */ + GrantedProvider.prototype.providerName; + /** @type {?} */ + GrantedProvider.prototype.providerKey; + } /** * @record */ function UpdateRequest() { } PermissionManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.permissions; + } })(PermissionManagement || (PermissionManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map index 49c69bc593..dbc74fdd13 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && permission.grantedProviders.length > 0) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.visible = false;\n });\n } else {\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts index e444eb9871..570fdc3590 100644 --- a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts @@ -19,11 +19,13 @@ export declare class PermissionManagementComponent implements OnInit, OnChanges permissions: PermissionManagement.Permission[]; selectThisTab: boolean; selectAllTab: boolean; + modalBusy: boolean; trackByFn: TrackByFunction; readonly selectedGroupPermissions$: Observable; constructor(store: Store, renderer: Renderer2); ngOnInit(): void; getChecked(name: string): boolean; + isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean; onClickCheckbox(clickedPermission: PermissionManagement.Permission, value: any): void; setTabCheckboxState(): void; setGrantCheckboxState(): void; diff --git a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json index 6b888208cc..f3dccc061f 100644 --- a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json +++ b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":69,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":71,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":72,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":71,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":73,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":74,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js index 028b8bf454..2260d7c7e5 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js @@ -18,6 +18,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -30,6 +44,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -37,8 +63,142 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -52,6 +212,12 @@ GetTenants.type = '[TenantManagement] Get Tenant'; return GetTenants; }()); + if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; + } var GetTenantById = /** @class */ (function () { function GetTenantById(payload) { this.payload = payload; @@ -59,6 +225,12 @@ GetTenantById.type = '[TenantManagement] Get Tenant By Id'; return GetTenantById; }()); + if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; + } var CreateTenant = /** @class */ (function () { function CreateTenant(payload) { this.payload = payload; @@ -66,6 +238,12 @@ CreateTenant.type = '[TenantManagement] Create Tenant'; return CreateTenant; }()); + if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; + } var UpdateTenant = /** @class */ (function () { function UpdateTenant(payload) { this.payload = payload; @@ -73,6 +251,12 @@ UpdateTenant.type = '[TenantManagement] Update Tenant'; return UpdateTenant; }()); + if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; + } var DeleteTenant = /** @class */ (function () { function DeleteTenant(payload) { this.payload = payload; @@ -80,6 +264,12 @@ DeleteTenant.type = '[TenantManagement] Delete Tenant'; return DeleteTenant; }()); + if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; + } /** * @fileoverview added by tsickle @@ -244,6 +434,13 @@ /** @nocollapse */ TenantManagementService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(core.ɵɵinject(ng_core.RestService)); }, token: TenantManagementService, providedIn: "root" }); return TenantManagementService; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; + } /** * @fileoverview added by tsickle @@ -432,6 +629,13 @@ ], TenantManagementState); return TenantManagementState; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; + } /** * @fileoverview added by tsickle @@ -448,6 +652,7 @@ sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -616,6 +821,7 @@ */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -624,6 +830,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -635,6 +842,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -649,6 +857,7 @@ var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -657,6 +866,7 @@ * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -683,6 +893,7 @@ function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -719,7 +930,7 @@ TenantsComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -743,6 +954,56 @@ ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); + if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -772,6 +1033,13 @@ ]; }; return TenantsResolver; }()); + if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; + } /** * @fileoverview added by tsickle @@ -825,6 +1093,16 @@ return TenantManagementModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -848,6 +1126,11 @@ }, ])); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -859,26 +1142,52 @@ */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); exports.CreateTenant = CreateTenant; diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map index ee7b854515..bc72c438e2 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js index 7d9c790b91..49b0735ef3 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m,f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}(),b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}(),h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}(),y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}(),T=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}(),v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}(),S=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new f)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new b(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new f)}))},d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(T),g("design:type",Function),g("design:paramtypes",[Object,T]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}(),M=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new b(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&this.store.dispatch(this.selected.id?new y(u({},this.tenantForm.value,{id:this.selected.id})):new h(this.tenantForm.value)).subscribe(function(){t.isModalVisible=!1})},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&n.store.dispatch(new T(t))})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new f(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(S.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(S.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}(),C=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(S.get);return t&&t.length?null:this.store.dispatch(new f)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}(),A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:M,resolve:[C]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[C]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[M],imports:[D,r.NgxsModule.forFeature([S]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){t.State=function(){},t.Item=function(){},t.AddRequest=function(){},t.UpdateRequest=function(){},t.DefaultConnectionStringRequest=function(){}}(m||(m={})),t.CreateTenant=h,t.DeleteTenant=T,t.GetTenantById=b,t.GetTenants=f,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=S,t.TenantsComponent=M,t.TenantsResolver=C,t.UpdateTenant=y,t.ɵa=M,t.ɵb=S,t.ɵc=v,t.ɵd=f,t.ɵe=b,t.ɵf=h,t.ɵg=y,t.ɵh=T,t.ɵj=D,t.ɵk=C,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}();var f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}();var b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}();var h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}();var y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}();var v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}();var T=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new f(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new m)}))},d([r.Action(m),g("design:type",Function),g("design:paramtypes",[Object,m]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}();var S=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.modalBusy=!0,this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new h(u({},this.tenantForm.value,{id:this.selected.id})):new b(this.tenantForm.value)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}))},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&(n.store.dispatch(new y(t)),n.modalBusy=!1)})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new m(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(T.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(T.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}();var M=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(T.get);return t&&t.length?null:this.store.dispatch(new m)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}();var C,A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:S,resolve:[M]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[M]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[S],imports:[D,r.NgxsModule.forFeature([T]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){function e(){}function n(){}function a(){}function o(){}function r(){}t.State=e,t.Item=n,t.AddRequest=a,t.UpdateRequest=o,t.DefaultConnectionStringRequest=r}(C||(C={})),t.CreateTenant=b,t.DeleteTenant=y,t.GetTenantById=f,t.GetTenants=m,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=T,t.TenantsComponent=S,t.TenantsResolver=M,t.UpdateTenant=h,t.ɵa=S,t.ɵb=T,t.ɵc=v,t.ɵd=m,t.ɵe=f,t.ɵf=b,t.ɵg=h,t.ɵh=y,t.ɵj=D,t.ɵk=M,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.tenant-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map index b3ed1d7123..69b2974e4f 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","TenantManagement","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","parentName","layout","iconClass","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","modalBusy","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","TenantManagement","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","Item","AddRequest","UpdateRequest","DefaultConnectionStringRequest","parentName","layout","iconClass","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js index c17124a501..902f9e9ac9 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js @@ -29,6 +29,7 @@ export class TenantsComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @return {?} @@ -151,6 +152,7 @@ export class TenantsComponent { * @return {?} */ saveConnectionString() { + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -159,6 +161,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -170,6 +173,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -180,6 +184,7 @@ export class TenantsComponent { saveTenant() { if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -188,6 +193,7 @@ export class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -208,6 +214,7 @@ export class TenantsComponent { (status) => { if (status === "confirm" /* confirm */) { this.store.dispatch(new DeleteTenant(id)); + this.modalBusy = false; } })); } @@ -237,7 +244,7 @@ export class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -283,6 +290,8 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.loading; /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; @@ -307,4 +316,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUF5QzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE1QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIGlmICh0aGlzLnVzZVNoYXJlZERhdGFiYXNlKSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLmRlbGV0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHRoaXMuc2VsZWN0ZWQuaWQpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUEyQzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE5QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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K0NBQWtCO0FBR25DO0lBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO3NDQUN0QyxVQUFVO3FEQUFTOzs7SUFKaEMsaUNBQ21DOztJQUVuQyx1Q0FDZ0M7O0lBRWhDLG9DQUF3Qjs7SUFFeEIsc0NBQXNCOztJQUV0Qix1REFBdUM7O0lBRXZDLG1EQUFnQzs7SUFFaEMsMENBQXdCOztJQUV4QixnREFBa0Q7O0lBRWxELDhDQUE0Qjs7SUFFNUIscUNBRUU7O0lBRUYsbUNBQXlCOztJQUV6QixxQ0FBMkI7O0lBVTNCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG4gICAgaWYgKHRoaXMudXNlU2hhcmVkRGF0YWJhc2UpIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAuZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcodGhpcy5zZWxlY3RlZC5pZClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js index a2d7ec70e2..b59b5b997c 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js @@ -23,6 +23,7 @@ var TenantsComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -191,6 +192,7 @@ var TenantsComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -199,6 +201,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -210,6 +213,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -224,6 +228,7 @@ var TenantsComponent = /** @class */ (function () { var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(tslib_1.__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -232,6 +237,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -258,6 +264,7 @@ var TenantsComponent = /** @class */ (function () { function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -294,7 +301,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -343,6 +350,8 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.loading; /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ TenantsComponent.prototype.tenantModalTemplate; /** @type {?} */ TenantsComponent.prototype.connectionStringModalTemplate; @@ -367,4 +376,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBNkNFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBNUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBVXpCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBK0NFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBOUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUFNLEVBQUUsS0FBSyxFQUFFO2dEQUdsRCxTQUFTLFNBQUMsK0JBQStCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXRDN0Q7UUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDOzBDQUMzQixVQUFVO21EQUFrQjtJQUduQztRQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQzswQ0FDdEMsVUFBVTt5REFBUztJQW1MbEMsdUJBQUM7Q0FBQSxBQTVMRCxJQTRMQztTQXhMWSxnQkFBZ0I7OztJQUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBRXpCLHFDQUEyQjs7SUFVM0IsK0NBQ3NDOztJQUV0Qyx5REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVRlbmFudCgpIHtcbiAgICBpZiAoIXRoaXMudGVuYW50Rm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50cyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js index f9eea9b9a4..8b425ac7d9 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js @@ -23,6 +23,12 @@ class GetTenants { } } GetTenants.type = '[TenantManagement] Get Tenant'; +if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; +} class GetTenantById { /** * @param {?} payload @@ -32,6 +38,12 @@ class GetTenantById { } } GetTenantById.type = '[TenantManagement] Get Tenant By Id'; +if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; +} class CreateTenant { /** * @param {?} payload @@ -41,6 +53,12 @@ class CreateTenant { } } CreateTenant.type = '[TenantManagement] Create Tenant'; +if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; +} class UpdateTenant { /** * @param {?} payload @@ -50,6 +68,12 @@ class UpdateTenant { } } UpdateTenant.type = '[TenantManagement] Update Tenant'; +if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; +} class DeleteTenant { /** * @param {?} payload @@ -59,6 +83,12 @@ class DeleteTenant { } } DeleteTenant.type = '[TenantManagement] Delete Tenant'; +if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; +} /** * @fileoverview added by tsickle @@ -192,6 +222,13 @@ TenantManagementService.ctorParameters = () => [ { type: RestService } ]; /** @nocollapse */ TenantManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(ɵɵinject(RestService)); }, token: TenantManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -332,6 +369,13 @@ TenantManagementState = __decorate([ }), __metadata("design:paramtypes", [TenantManagementService]) ], TenantManagementState); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; +} /** * @fileoverview added by tsickle @@ -354,6 +398,7 @@ class TenantsComponent { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } /** * @return {?} @@ -476,6 +521,7 @@ class TenantsComponent { * @return {?} */ saveConnectionString() { + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -484,6 +530,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -495,6 +542,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -505,6 +553,7 @@ class TenantsComponent { saveTenant() { if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(Object.assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -513,6 +562,7 @@ class TenantsComponent { * @return {?} */ () => { + this.modalBusy = false; this.isModalVisible = false; })); } @@ -533,6 +583,7 @@ class TenantsComponent { (status) => { if (status === "confirm" /* confirm */) { this.store.dispatch(new DeleteTenant(id)); + this.modalBusy = false; } })); } @@ -562,7 +613,7 @@ class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -584,6 +635,56 @@ __decorate([ Select(TenantManagementState.getTenantsTotalCount), __metadata("design:type", Observable) ], TenantsComponent.prototype, "totalCount$", void 0); +if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -612,6 +713,13 @@ TenantsResolver.decorators = [ TenantsResolver.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -659,6 +767,16 @@ TenantManagementModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -682,6 +800,11 @@ const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -693,27 +816,83 @@ var TenantManagement; */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map index b378446272..fdb8333bf9 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js index 9af6eaa313..cdca28b555 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js @@ -21,6 +21,12 @@ var GetTenants = /** @class */ (function () { GetTenants.type = '[TenantManagement] Get Tenant'; return GetTenants; }()); +if (false) { + /** @type {?} */ + GetTenants.type; + /** @type {?} */ + GetTenants.prototype.payload; +} var GetTenantById = /** @class */ (function () { function GetTenantById(payload) { this.payload = payload; @@ -28,6 +34,12 @@ var GetTenantById = /** @class */ (function () { GetTenantById.type = '[TenantManagement] Get Tenant By Id'; return GetTenantById; }()); +if (false) { + /** @type {?} */ + GetTenantById.type; + /** @type {?} */ + GetTenantById.prototype.payload; +} var CreateTenant = /** @class */ (function () { function CreateTenant(payload) { this.payload = payload; @@ -35,6 +47,12 @@ var CreateTenant = /** @class */ (function () { CreateTenant.type = '[TenantManagement] Create Tenant'; return CreateTenant; }()); +if (false) { + /** @type {?} */ + CreateTenant.type; + /** @type {?} */ + CreateTenant.prototype.payload; +} var UpdateTenant = /** @class */ (function () { function UpdateTenant(payload) { this.payload = payload; @@ -42,6 +60,12 @@ var UpdateTenant = /** @class */ (function () { UpdateTenant.type = '[TenantManagement] Update Tenant'; return UpdateTenant; }()); +if (false) { + /** @type {?} */ + UpdateTenant.type; + /** @type {?} */ + UpdateTenant.prototype.payload; +} var DeleteTenant = /** @class */ (function () { function DeleteTenant(payload) { this.payload = payload; @@ -49,6 +73,12 @@ var DeleteTenant = /** @class */ (function () { DeleteTenant.type = '[TenantManagement] Delete Tenant'; return DeleteTenant; }()); +if (false) { + /** @type {?} */ + DeleteTenant.type; + /** @type {?} */ + DeleteTenant.prototype.payload; +} /** * @fileoverview added by tsickle @@ -213,6 +243,13 @@ var TenantManagementService = /** @class */ (function () { /** @nocollapse */ TenantManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function TenantManagementService_Factory() { return new TenantManagementService(ɵɵinject(RestService)); }, token: TenantManagementService, providedIn: "root" }); return TenantManagementService; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementService.prototype.rest; +} /** * @fileoverview added by tsickle @@ -401,6 +438,13 @@ var TenantManagementState = /** @class */ (function () { ], TenantManagementState); return TenantManagementState; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantManagementState.prototype.tenantManagementService; +} /** * @fileoverview added by tsickle @@ -417,6 +461,7 @@ var TenantsComponent = /** @class */ (function () { sorting: 'name', }; this.loading = false; + this.modalBusy = false; } Object.defineProperty(TenantsComponent.prototype, "useSharedDatabase", { get: /** @@ -585,6 +630,7 @@ var TenantsComponent = /** @class */ (function () { */ function () { var _this = this; + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) @@ -593,6 +639,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -604,6 +651,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -618,6 +666,7 @@ var TenantsComponent = /** @class */ (function () { var _this = this; if (!this.tenantForm.valid) return; + this.modalBusy = true; this.store .dispatch(this.selected.id ? new UpdateTenant(__assign({}, this.tenantForm.value, { id: this.selected.id })) @@ -626,6 +675,7 @@ var TenantsComponent = /** @class */ (function () { * @return {?} */ function () { + _this.modalBusy = false; _this.isModalVisible = false; })); }; @@ -652,6 +702,7 @@ var TenantsComponent = /** @class */ (function () { function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new DeleteTenant(id)); + _this.modalBusy = false; } })); }; @@ -688,7 +739,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -712,6 +763,56 @@ var TenantsComponent = /** @class */ (function () { ], TenantsComponent.prototype, "totalCount$", void 0); return TenantsComponent; }()); +if (false) { + /** @type {?} */ + TenantsComponent.prototype.data$; + /** @type {?} */ + TenantsComponent.prototype.totalCount$; + /** @type {?} */ + TenantsComponent.prototype.selected; + /** @type {?} */ + TenantsComponent.prototype.tenantForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionStringForm; + /** @type {?} */ + TenantsComponent.prototype.defaultConnectionString; + /** @type {?} */ + TenantsComponent.prototype.isModalVisible; + /** @type {?} */ + TenantsComponent.prototype.selectedModalContent; + /** @type {?} */ + TenantsComponent.prototype._useSharedDatabase; + /** @type {?} */ + TenantsComponent.prototype.pageQuery; + /** @type {?} */ + TenantsComponent.prototype.loading; + /** @type {?} */ + TenantsComponent.prototype.modalBusy; + /** @type {?} */ + TenantsComponent.prototype.tenantModalTemplate; + /** @type {?} */ + TenantsComponent.prototype.connectionStringModalTemplate; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.confirmationService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.tenantService; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.fb; + /** + * @type {?} + * @private + */ + TenantsComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -741,6 +842,13 @@ var TenantsResolver = /** @class */ (function () { ]; }; return TenantsResolver; }()); +if (false) { + /** + * @type {?} + * @private + */ + TenantsResolver.prototype.store; +} /** * @fileoverview added by tsickle @@ -794,6 +902,16 @@ var TenantManagementModule = /** @class */ (function () { return TenantManagementModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -817,6 +935,11 @@ var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ }, ])); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -828,27 +951,83 @@ var TenantManagement; */ function State() { } TenantManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.result; + /** @type {?} */ + State.prototype.selectedItem; + } /** * @record */ function Item() { } TenantManagement.Item = Item; + if (false) { + /** @type {?} */ + Item.prototype.id; + /** @type {?} */ + Item.prototype.name; + } /** * @record */ function AddRequest() { } TenantManagement.AddRequest = AddRequest; + if (false) { + /** @type {?} */ + AddRequest.prototype.name; + } /** * @record */ function UpdateRequest() { } TenantManagement.UpdateRequest = UpdateRequest; + if (false) { + /** @type {?} */ + UpdateRequest.prototype.id; + } /** * @record */ function DefaultConnectionStringRequest() { } TenantManagement.DefaultConnectionStringRequest = DefaultConnectionStringRequest; + if (false) { + /** @type {?} */ + DefaultConnectionStringRequest.prototype.id; + /** @type {?} */ + DefaultConnectionStringRequest.prototype.defaultConnectionString; + } })(TenantManagement || (TenantManagement = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map index f7c9c4998c..8925fc4c0d 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;;;;AAGA;IAEE,oBAAmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;KAAI;IADpC,eAAI,GAAG,+BAA+B,CAAC;IAEzD,iBAAC;CAHD,IAGC;;IAIC,uBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,kBAAI,GAAG,qCAAqC,CAAC;IAE/D,oBAAC;CAHD,IAGC;;IAIC,sBAAmB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;KAAI;IAD3C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;IAIC,sBAAmB,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;KAAI;IAD9C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;IAIC,sBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD;;;;;;ACvBA;IASE,iCAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,2CAAS;;;;IAAT,UAAU,MAAkC;QAAlC,uBAAA,EAAA,4BAAS,EAAE,EAAuB;;YACpC,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,4BAA4B;YACjC,MAAM,QAAA;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkC,OAAO,CAAC,CAAC;KACpE;;;;;IAED,+CAAa;;;;IAAb,UAAc,EAAU;;YAChB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsB,OAAO,CAAC,CAAC;KACxD;;;;;IAED,8CAAY;;;;IAAZ,UAAa,EAAU;;YACf,OAAO,GAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAa,OAAO,CAAC,CAAC;KAC/C;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAiC;;YACtC,OAAO,GAA8C;YACzD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,4BAA4B;YACjC,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAoC;;YACzC,GAAG,GAAG,gCAA8B,IAAI,CAAC,EAAI;QACnD,OAAO,IAAI,CAAC,EAAE,CAAC;;YAET,OAAO,GAAiD;YAC5D,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,4DAA0B;;;;IAA1B,UAA2B,EAAU;;YAC7B,GAAG,GAAG,gCAA8B,EAAE,+BAA4B;;YAElE,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0D,OAAO,CAAC,CAAC;KAC5F;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,OAAwD;;YAC9E,GAAG,GAAG,gCAA8B,OAAO,CAAC,EAAE,+BAA4B;;YAE1E,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,MAAM,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE;SACrE;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,EAAU;;YAChC,GAAG,GAAG,+BAA6B,EAAE,+BAA4B;;YAEjE,OAAO,GAAkE;YAC7E,MAAM,EAAE,QAAQ;YAChB,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;gBAvFF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;kCAFpB;CAKA;;;;;;;ICuBE,+BAAoB,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;KAAI;;;;;IATjE,yBAAG;;;;IAAV,UAAW,EAAkC;YAAhC,kBAAM;QACjB,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;KAC3B;;;;;IAGM,0CAAoB;;;;IAA3B,UAA4B,EAAkC;YAAhC,kBAAM;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC;KAC1B;;;;;;IAKD,mCAAG;;;;;IAAH,UAAI,EAAoD,EAAE,EAAuB;YAA3E,0BAAU;YAA4C,oBAAO;QACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CACzD,GAAG;;;;QAAC,UAAA,MAAM;YACR,OAAA,UAAU,CAAC;gBACT,MAAM,QAAA;aACP,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,uCAAO;;;;;IAAP,UAAQ,EAAoD,EAAE,EAA0B;YAA9E,0BAAU;YAA4C,oBAAO;QACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7D,GAAG;;;;QAAC,UAAA,YAAY;YACd,OAAA,UAAU,CAAC;gBACT,YAAY,cAAA;aACb,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,mCAAG;;;;;IAAH,UAAI,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAC/D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAA4D,EAAE,EAAyB;QAD9F,iBAMC;YALQ,sBAAQ,EAAE,sBAAQ;YAA4C,oBAAO;QAC5E,OAAO,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACjD,SAAS;;;QAAC,cAAM,OAAA,KAAI,CAAC,uBAAuB,CAAC,YAAY,cAAM,QAAQ,EAAE,CAAC,YAAY,EAAK,OAAO,EAAG,GAAA,EAAC,EACtG,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAC5C,CAAC;KACH;IArCDA;QADC,MAAM,CAAC,UAAU,CAAC;;iDACoD,UAAU;;oDAQhF;IAGDA;QADC,MAAM,CAAC,aAAa,CAAC;;iDACqD,aAAa;;wDAQvF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACmD,YAAY;;uDAEnF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACgD,YAAY;;oDAEhF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDAC6D,YAAY;;uDAK7F;IAjDDA;QADC,QAAQ,EAAE;;;;0CAGV;IAGDA;QADC,QAAQ,EAAE;;;;2DAGV;IATU,qBAAqB;QAJjC,KAAK,CAAyB;YAC7B,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,qBAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAA0B;SACrE,CAAC;yCAY6C,uBAAuB;OAXzD,qBAAqB,CAoDjC;IAAD,4BAAC;CAAA;;;;;;;ICDC,0BACU,mBAAwC,EACxC,aAAsC,EACtC,EAAe,EACf,KAAY;QAHZ,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAyB;QACtC,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAO;QA5BtB,yBAAoB,sBAAG,EAAE,EAAwB,CAAC;QAIlD,cAAS,GAAwB;YAC/B,OAAO,EAAE,MAAM;SAChB,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;KAqBrB;IAnBJ,sBAAI,+CAAiB;;;;QAArB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;SACxE;;;OAAA;IAED,sBAAI,8CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;SAC9E;;;OAAA;;;;;IAeD,mCAAQ;;;;IAAR,UAAS,KAAK;QACZ,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;;IAEO,2CAAgB;;;;IAAxB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC;KACJ;;;;;IAEO,4DAAiC;;;;IAAzC;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,IAAI,EAAE;SAC5D,CAAC,CAAC;KACJ;;;;;;;IAED,oCAAS;;;;;;IAAT,UAAU,KAAa,EAAE,QAA0B,EAAE,IAAY;QAC/D,IAAI,CAAC,oBAAoB,GAAG;YAC1B,KAAK,OAAA;YACL,QAAQ,UAAA;YACR,IAAI,MAAA;SACL,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;;IAED,iDAAsB;;;;IAAtB,UAAuB,EAAU;QAAjC,iBAgBC;QAfC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CACH,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,EAC9C,SAAS;;;;QAAC,UAAA,QAAQ;YAChB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,KAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;SAC1D,EAAC,CACH;aACA,SAAS;;;;QAAC,UAAA,uBAAuB;YAChC,KAAI,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,KAAK,GAAG,IAAI,CAAC;YACjE,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,EAAE,CAAC;YACtF,KAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,KAAI,CAAC,SAAS,CAAC,wCAAwC,EAAE,KAAI,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;SAC7G,EAAC,CAAC;KACN;;;;IAED,sCAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,sBAAG,EAAE,EAAiB,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAC1F;;;;;IAED,uCAAY;;;;IAAZ,UAAa,EAAU;QAAvB,iBASC;QARC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;aACpD,SAAS;;;;QAAC,UAAA,QAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;SACrF,EAAC,CAAC;KACN;;;;IAED,+BAAI;;;IAAJ;QACU,IAAA,qCAAI;QACZ,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,aAAa;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC9D;;;;IAED,+CAAoB;;;IAApB;QAAA,iBAgBC;QAfC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;YAAC;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACvG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;YAAC;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;KACF;;;;IAED,qCAAU;;;IAAV;QAAA,iBAYC;QAXC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE,OAAO;QAEnC,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,CAAC,QAAQ,CAAC,EAAE;cACZ,IAAI,YAAY,cAAM,IAAI,CAAC,UAAU,CAAC,KAAK,IAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAG;cACpE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C;aACA,SAAS;;;QAAC;YACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B,EAAC,CAAC;KACN;;;;;;IAED,iCAAM;;;;;IAAN,UAAO,EAAU,EAAE,IAAY;QAA/B,iBAUC;QATC,IAAI,CAAC,mBAAmB;aACrB,IAAI,CAAC,wDAAwD,EAAE,iCAAiC,EAAE;YACjG,yBAAyB,EAAE,CAAC,IAAI,CAAC;SAClC,CAAC;aACD,SAAS;;;;QAAC,UAAC,MAAsB;YAChC,IAAI,MAAM,8BAA6B;gBACrC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;SACF,EAAC,CAAC;KACN;;;;;IAED,uCAAY;;;;IAAZ,UAAa,IAAI;QACf,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;IAED,8BAAG;;;IAAH;QAAA,iBAMC;QALC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxC,IAAI,CAAC,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,OAAO,GAAG,KAAK,IAAC,EAAC,CAAC;aAC5C,SAAS,EAAE,CAAC;KAChB;;gBAnLF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,o6KAAuC;iBACxC;;;;gBAzBQ,mBAAmB;gBAanB,uBAAuB;gBAXvB,WAAW;gBACH,KAAK;;;sCA0DnB,SAAS,SAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gDAGlD,SAAS,SAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;IApC7DA;QADC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC;kCAC3B,UAAU;mDAAkB;IAGnCA;QADC,MAAM,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;kCACtC,UAAU;yDAAS;IA2KlC,uBAAC;CApLD;;;;;;ACvBA;IASE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;IAEpC,iCAAO;;;IAAP;;YACQ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC;QACjE,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;KAC3E;;gBAPF,UAAU;;;;gBALF,KAAK;;IAad,sBAAC;CARD;;;;;;ACPA,SAYU,EAAE,cAAc,EAAE,6BAA6B,EAAE;;IANrD,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;IACtD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,sBAAsB;QACjC,WAAW,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACzC,IAAI,IAAmD;QACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KAClF;CACF;AAED;IAAA;KAK6C;;gBAL5C,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,SAAS,EAAE,CAAC,eAAe,CAAC;iBAC7B;;IAC2C,oCAAC;CAL7C;;;;;;ACjBA;IAUA;KAWsC;;gBAXrC,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,UAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC;wBAC9C,UAAU;wBACV,WAAW;wBACX,iBAAiB;wBACjB,iBAAiB;qBAClB;iBACF;;IACoC,6BAAC;CAXtC;;;;;;;ACRA,IAAa,wBAAwB,sBAAG;IACtC;QACE,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,sCAAsC;QAClD,MAAM;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,8BAA8B;gBACpC,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,6BAA6B;aAC9C;SACF;KACF;CACF,EAAmB;;;;;;AChBpB,IAAiB,gBAAgB,CAyBhC;AAzBD,WAAiB,gBAAgB;;;;IAC/B,oBAGC;;;;;IAID,mBAGC;;;;;IAED,yBAEC;;;;;IAED,4BAEC;;;;;IAED,6CAGC;;AACH,CAAC,EAzBgB,gBAAgB,KAAhB,gBAAgB,QAyBhC;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts index 59da7c904c..d27ecbf2b3 100644 --- a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts @@ -26,6 +26,7 @@ export declare class TenantsComponent { _useSharedDatabase: boolean; pageQuery: ABP.PageQueryParams; loading: boolean; + modalBusy: boolean; readonly useSharedDatabase: boolean; readonly connectionString: string; tenantModalTemplate: TemplateRef; diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json index 8edbd71576..af5ab537d4 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n
    \n\n
      \n \n
    \n\n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":45,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":45,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":45,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":34,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":48,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":48,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":48,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":36,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js index 8947e2fcf7..900eb9f08f 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('rxjs/operators'), require('primeng/toast')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'rxjs/operators', 'primeng/toast'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.rxjs.operators, global.toast)); -}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, routerPlugin, angularOauth2Oidc, compare, rxjs, operators, toast) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('rxjs/operators'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('primeng/toast')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', 'rxjs/operators', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'primeng/toast'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.rxjs.operators, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.toast)); +}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, operators, routerPlugin, angularOauth2Oidc, compare, rxjs, toast) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; compare = compare && compare.hasOwnProperty('default') ? compare['default'] : compare; @@ -21,6 +21,20 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } var __assign = function() { __assign = Object.assign || function __assign(t) { @@ -33,6 +47,18 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -40,10 +66,66 @@ return c > 3 && r && Object.defineProperty(target, key, r), r; } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -65,6 +147,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -78,6 +215,7 @@ this.store = store; this.toasterService = toasterService; this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -122,11 +260,18 @@ var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ng_core.ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(operators.finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -180,7 +325,7 @@ ChangePasswordComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -196,6 +341,36 @@ }; return ChangePasswordComponent; }()); + if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; + } /** * @fileoverview added by tsickle @@ -215,6 +390,12 @@ ]; return AccountLayoutComponent; }()); + if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; + } /** * @fileoverview added by tsickle @@ -227,6 +408,12 @@ AddNavigationElement.type = '[Layout] Add Navigation Element'; return AddNavigationElement; }()); + if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; + } var RemoveNavigationElementByName = /** @class */ (function () { function RemoveNavigationElementByName(name) { this.name = name; @@ -234,6 +421,17 @@ RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; return RemoveNavigationElementByName; }()); + if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -361,6 +559,11 @@ return LayoutState; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -579,7 +782,7 @@ ApplicationLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -610,6 +813,46 @@ ], ApplicationLayoutComponent.prototype, "navElements$", void 0); return ApplicationLayoutComponent; }()); + if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; + } /** * @param {?} routes * @return {?} @@ -647,6 +890,10 @@ ]; return EmptyLayoutComponent; }()); + if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; + } /** * @fileoverview added by tsickle @@ -655,7 +902,7 @@ var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -680,6 +927,15 @@ ]; }; return LayoutComponent; }()); + if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -691,6 +947,7 @@ this.fb = fb; this.store = store; this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -746,10 +1003,12 @@ var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new ng_core.UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -786,7 +1045,7 @@ ProfileComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -804,6 +1063,31 @@ ], ProfileComponent.prototype, "profile$", void 0); return ProfileComponent; }()); + if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; + } /** * @fileoverview added by tsickle @@ -833,6 +1117,11 @@ return ThemeBasicModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -844,11 +1133,23 @@ */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); exports.AccountLayoutComponent = AccountLayoutComponent; diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map index 039f66922e..eb6492c77c 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","finalize","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js index 4bb8e1200b..c14abb45c0 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("rxjs/operators"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","rxjs/operators","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.rxjs.operators,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,c=c&&c.hasOwnProperty("default")?c.default:c;var f=function(){return(f=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}(),P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}(),L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}(),N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}(),O=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return f({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},b([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),b([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),b([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=b([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),S=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(m.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(m.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(O.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(m.map(function(e){return e.map(function(e){return e.element})}),m.filter(function(n){return!c(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),d.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),m.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new p.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(p.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:u.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},b([s.Select(n.ConfigState.getOne("routes")),h("design:type",d.Observable)],e.prototype,"routes$",void 0),b([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",d.Observable)],e.prototype,"currentUser$",void 0),b([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",d.Observable)],e.prototype,"languages$",void 0),b([s.Select(O.getNavigationElements),h("design:type",d.Observable)],e.prototype,"navElements$",void 0),e}();var D,k=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}(),A=function(){function e(e){this.store=e,this.isCollapsed=!1}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}(),x=r.Validators.maxLength,E=r.Validators.required,I=r.Validators.email,F=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(m.withLatestFrom(this.profile$),m.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[E,x(256)]],email:[t.email,[E,I,x(256)]],name:[t.name||"",[x(64)]],surname:[t.surname||"",[x(64)]],phoneNumber:[t.phoneNumber||"",[x(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.visible=!1,e.form.reset()})},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},b([s.Select(n.ProfileState.getProfile),h("design:type",d.Observable)],e.prototype,"profile$",void 0),e}(),R=[S,P,k],T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[A,C,F]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([O])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){e.State=function(){},e.NavigationElement=function(){}}(D||(D={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=S,e.EmptyLayoutComponent=k,e.LAYOUTS=R,e.LayoutState=O,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=T,e.ɵa=S,e.ɵb=O,e.ɵc=P,e.ɵd=k,e.ɵe=A,e.ɵf=C,e.ɵg=F,e.ɵh=O,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("rxjs/operators"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","rxjs/operators","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.rxjs.operators,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,d=d&&d.hasOwnProperty("default")?d.default:d;var b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}();var P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}();var L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}();var N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}();var S=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return b({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},f([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),f([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),f([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=f([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),O=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(p.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(S.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(p.map(function(e){return e.map(function(e){return e.element})}),p.filter(function(n){return!d(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),m.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),p.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new u.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(u.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:c.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},f([s.Select(n.ConfigState.getOne("routes")),h("design:type",m.Observable)],e.prototype,"routes$",void 0),f([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",m.Observable)],e.prototype,"currentUser$",void 0),f([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",m.Observable)],e.prototype,"languages$",void 0),f([s.Select(S.getNavigationElements),h("design:type",m.Observable)],e.prototype,"navElements$",void 0),e}();var D=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}();var k=function(){function e(e){this.store=e,this.isCollapsed=!0}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}();var A=r.Validators.maxLength,x=r.Validators.required,E=r.Validators.email,I=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(p.withLatestFrom(this.profile$),p.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[x,A(256)]],email:[t.email,[x,E,A(256)]],name:[t.name||"",[A(64)]],surname:[t.surname||"",[A(64)]],phoneNumber:[t.phoneNumber||"",[A(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||(this.modalBusy=!0,this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.modalBusy=!1,e.visible=!1,e.form.reset()}))},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},f([s.Select(n.ProfileState.getProfile),h("design:type",m.Observable)],e.prototype,"profile$",void 0),e}();var F,R=[O,P,D],j=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[k,C,I]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([S])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){function n(){}function t(){}e.State=n,e.NavigationElement=t}(F||(F={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=O,e.EmptyLayoutComponent=D,e.LAYOUTS=R,e.LayoutState=S,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=j,e.ɵa=O,e.ɵb=S,e.ɵc=P,e.ɵd=D,e.ɵe=k,e.ɵf=C,e.ɵg=I,e.ɵh=S,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.basic.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map index 579d2b6b6c..a70a7cf09d 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","pipe","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","Layout","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","modalBusy","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","pipe","finalize","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","Layout","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents","NavigationElement"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js index 79db22c9a3..416cacfecd 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js @@ -191,7 +191,7 @@ ApplicationLayoutComponent.type = "application" /* application */; ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js index 420e17c620..ca505959f6 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js @@ -9,6 +9,7 @@ import { FormBuilder, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; +import { finalize } from 'rxjs/operators'; const { minLength, required } = Validators; export class ChangePasswordComponent { /** @@ -21,6 +22,7 @@ export class ChangePasswordComponent { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -54,11 +56,18 @@ export class ChangePasswordComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + () => { + this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -105,7 +114,7 @@ export class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -131,6 +140,8 @@ if (false) { ChangePasswordComponent.prototype.modalContent; /** @type {?} */ ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; /** * @type {?} * @private @@ -147,4 +158,4 @@ if (false) { */ ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7TUFFaEIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU0xQyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFxQmxDLFlBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7Ozs7SUFsQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUMzQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7U0FDbEMsRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FDUCxJQUFJLGNBQWMsQ0FBQztZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSztZQUNoRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJOzs7WUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFBRSxPQUFPLEVBQUU7b0JBQ3hHLElBQUksRUFBRSxJQUFJO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBM0VGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixrMERBQStDO2FBQ2hEOzs7O1lBVlEsV0FBVztZQUVYLEtBQUs7WUFkTCxjQUFjOzs7c0JBMEJwQixLQUFLOzRCQVVMLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7SUFmNUMsMkNBQW1COztJQVluQixnREFDNEM7O0lBRTVDLCtDQUMrQjs7SUFFL0IsdUNBQWdCOzs7OztJQUVKLHFDQUF1Qjs7Ozs7SUFBRSx3Q0FBb0I7Ozs7O0lBQUUsaURBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgbmV3IENoYW5nZVBhc3N3b3JkKHtcbiAgICAgICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ25ld1Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO01BRXBDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVU7QUFNMUMsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBdUJsQyxZQUFvQixFQUFlLEVBQVUsS0FBWSxFQUFVLGNBQThCO1FBQTdFLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVGpHLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81QyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRXlFLENBQUM7Ozs7SUFwQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQWNELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN2QjtZQUNFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUMzQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7U0FDbEMsRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FDUCxJQUFJLGNBQWMsQ0FBQztZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSztZQUNoRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQ0g7YUFDQSxJQUFJLENBQ0gsUUFBUTs7O1FBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFDLENBQ0g7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJOzs7WUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFBRSxPQUFPLEVBQUU7b0JBQ3hHLElBQUksRUFBRSxJQUFJO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBbkZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixndkRBQStDO2FBQ2hEOzs7O1lBWFEsV0FBVztZQUVYLEtBQUs7WUFkTCxjQUFjOzs7c0JBMkJwQixLQUFLOzRCQVVMLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7SUFmNUMsMkNBQW1COztJQVluQixnREFDNEM7O0lBRTVDLCtDQUMrQjs7SUFFL0IsdUNBQWdCOztJQUVoQiw0Q0FBMkI7Ozs7O0lBRWYscUNBQXVCOzs7OztJQUFFLHdDQUFvQjs7Ozs7SUFBRSxpREFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICBuZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIHJlcGVhdE5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXSldLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js index f4265a292f..3f4c43a1e9 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/layout/layout.component.js @@ -12,7 +12,7 @@ export class LayoutComponent { */ constructor(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } /** * @return {?} @@ -41,4 +41,4 @@ if (false) { */ LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQzs7OztJQUpwQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsZzhCQUFzQztnQkFDdEMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCOzs7O1lBTlEsS0FBSzs7OztJQVFaLHNDQUE2Qjs7Ozs7SUFNakIsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21Cb3R0b20gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgYXBwSW5mbygpOiBDb25maWcuQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFwcGxpY2F0aW9uSW5mbyk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3BDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTU8sQ0FBQzs7OztJQUpwQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsZzhCQUFzQztnQkFDdEMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCOzs7O1lBTlEsS0FBSzs7OztJQVFaLHNDQUE0Qjs7Ozs7SUFNaEIsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21Cb3R0b20gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICcgYWJwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGdldCBhcHBJbmZvKCk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBwbGljYXRpb25JbmZvKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js index 877d961bb8..de1477f650 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js @@ -19,6 +19,7 @@ export class ProfileComponent { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -61,10 +62,12 @@ export class ProfileComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { + this.modalBusy = false; this.visible = false; this.form.reset(); })); @@ -94,7 +97,7 @@ export class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -122,6 +125,8 @@ if (false) { ProfileComponent.prototype.profile$; /** @type {?} */ ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; /** * @type {?} * @private @@ -133,4 +138,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXFCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7Ozs7SUFsQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQVlELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2FBQzFCLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLG1vRUFBdUM7YUFDeEM7Ozs7WUFWUSxXQUFXO1lBQ0gsS0FBSzs7O3NCQWFuQixLQUFLOzRCQVVMLE1BQU07O0FBSVA7SUFEQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztzQ0FDdEIsVUFBVTtrREFBbUI7Ozs7OztJQWhCdkMsb0NBQW1COztJQVluQix5Q0FDNEM7O0lBRTVDLG9DQUN1Qzs7SUFFdkMsZ0NBQWdCOzs7OztJQUVKLDhCQUF1Qjs7Ozs7SUFBRSxpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXVCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQzs7OztJQXBCN0QsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7O0lBY0QsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7YUFDMUIsSUFBSSxDQUNILGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVM7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFELENBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBdkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsa2tFQUF1QzthQUN4Qzs7OztZQVZRLFdBQVc7WUFDSCxLQUFLOzs7c0JBYW5CLEtBQUs7NEJBVUwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO3NDQUN0QixVQUFVO2tEQUFtQjs7Ozs7O0lBaEJ2QyxvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7O0lBRWhCLHFDQUEyQjs7Ozs7SUFFZiw4QkFBdUI7Ozs7O0lBQUUsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSwgR2V0UHJvZmlsZSwgUHJvZmlsZVN0YXRlLCBVcGRhdGVQcm9maWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSlcbiAgcHJvZmlsZSQ6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQcm9maWxlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wcm9maWxlJCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbLCBwcm9maWxlXSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICB1c2VyTmFtZTogW3Byb2ZpbGUudXNlck5hbWUsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBlbWFpbDogW3Byb2ZpbGUuZW1haWwsIFtyZXF1aXJlZCwgZW1haWwsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgbmFtZTogW3Byb2ZpbGUubmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBzdXJuYW1lOiBbcHJvZmlsZS5zdXJuYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHBob25lTnVtYmVyOiBbcHJvZmlsZS5waG9uZU51bWJlciB8fCAnJywgW21heExlbmd0aCgxNildXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js index b6b28df370..e75005e8df 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js @@ -229,7 +229,7 @@ var ApplicationLayoutComponent = /** @class */ (function () { ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js index 34a424642b..b9444599bd 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js @@ -9,6 +9,7 @@ import { FormBuilder, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; +import { finalize } from 'rxjs/operators'; var minLength = Validators.minLength, required = Validators.required; var ChangePasswordComponent = /** @class */ (function () { function ChangePasswordComponent(fb, store, toasterService) { @@ -16,6 +17,7 @@ var ChangePasswordComponent = /** @class */ (function () { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -60,11 +62,18 @@ var ChangePasswordComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -118,7 +127,7 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -147,6 +156,8 @@ if (false) { ChangePasswordComponent.prototype.modalContent; /** @type {?} */ ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; /** * @type {?} * @private @@ -163,4 +174,4 @@ if (false) { */ ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFZCxJQUFBLGdDQUFTLEVBQUUsOEJBQVE7QUFFM0I7SUF5QkUsaUNBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dELENBQUM7SUFsQnJHLHNCQUNJLDRDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDdkI7WUFDRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUM7WUFDM0IsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1NBQ2xDLEVBQ0Q7WUFDRSxVQUFVLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDckUsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELDBDQUFROzs7SUFBUjtRQUFBLGlCQXFCQztRQXBCQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQ1AsSUFBSSxjQUFjLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUs7U0FDaEQsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSTs7O1lBQUU7Z0JBQ0osS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFBO1lBQ0QsS0FBSzs7OztZQUFFLFVBQUEsR0FBRztnQkFDUixLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBdkIsQ0FBdUIsR0FBRSxpQ0FBaUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtvQkFDeEcsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELDJDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsNkNBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBM0VGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixrMERBQStDO2lCQUNoRDs7OztnQkFWUSxXQUFXO2dCQUVYLEtBQUs7Z0JBZEwsY0FBYzs7OzBCQTBCcEIsS0FBSztnQ0FVTCxNQUFNOytCQUdOLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXdEOUMsOEJBQUM7Q0FBQSxBQTVFRCxJQTRFQztTQXhFWSx1QkFBdUI7Ozs7OztJQUNsQywyQ0FBbUI7O0lBWW5CLGdEQUM0Qzs7SUFFNUMsK0NBQytCOztJQUUvQix1Q0FBZ0I7Ozs7O0lBRUoscUNBQXVCOzs7OztJQUFFLHdDQUFvQjs7Ozs7SUFBRSxpREFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgbmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbY29tcGFyZVBhc3N3b3JkcyhbJ25ld1Bhc3N3b3JkJywgJ3JlcGVhdE5ld1Bhc3N3b3JkJ10pXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxDLElBQUEsZ0NBQVMsRUFBRSw4QkFBUTtBQUUzQjtJQTJCRSxpQ0FBb0IsRUFBZSxFQUFVLEtBQVksRUFBVSxjQUE4QjtRQUE3RSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVRqRyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPNUMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUV5RSxDQUFDO0lBcEJyRyxzQkFDSSw0Q0FBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7Ozs7O1FBRUQsVUFBWSxLQUFjO1lBQ3hCLElB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Q0FBdUI7Ozs7O0lBQUUsd0NBQW9COzs7OztJQUFFLGlEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZVBhc3N3b3JkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wYXJlUGFzc3dvcmRzIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBDaGFuZ2VQYXNzd29yZCh7XG4gICAgICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js index 7386b75adf..72beb73c1e 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/layout/layout.component.js @@ -9,7 +9,7 @@ import { Store } from '@ngxs/store'; var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -44,4 +44,4 @@ if (false) { */ LayoutComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDO0lBWUUseUJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBTU0sQ0FBQztJQUpwQyxzQkFBSSxvQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTs7Z0JBVkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixnOEJBQXNDO29CQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzlCOzs7O2dCQU5RLEtBQUs7O0lBZWQsc0JBQUM7Q0FBQSxBQWJELElBYUM7U0FSWSxlQUFlOzs7SUFDMUIsc0NBQTZCOzs7OztJQU1qQixnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcsIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJyBhYnAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtzbGlkZUZyb21Cb3R0b21dLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBhcHBJbmZvKCk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBwbGljYXRpb25JbmZvKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDO0lBWUUseUJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTU8sQ0FBQztJQUpwQyxzQkFBSSxvQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTs7Z0JBVkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixnOEJBQXNDO29CQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzlCOzs7O2dCQU5RLEtBQUs7O0lBZWQsc0JBQUM7Q0FBQSxBQWJELElBYUM7U0FSWSxlQUFlOzs7SUFDMUIsc0NBQTRCOzs7OztJQU1oQixnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcsIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJyBhYnAtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtzbGlkZUZyb21Cb3R0b21dLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGFwcEluZm8oKTogQ29uZmlnLkFwcGxpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRBcHBsaWNhdGlvbkluZm8pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js index a524d3e0fa..cecd37fd0d 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js @@ -15,6 +15,7 @@ var ProfileComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -70,10 +71,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -110,7 +113,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -141,6 +144,8 @@ if (false) { ProfileComponent.prototype.profile$; /** @type {?} */ ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; /** * @type {?} * @private @@ -152,4 +157,4 @@ if (false) { */ ProfileComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQXlCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFQekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT2dCLENBQUM7SUFsQjdELHNCQUNJLHFDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFpQkQsb0NBQVM7OztJQUFUO1FBQUEsaUJBZ0JDO1FBZkMsSUFBSSxDQUFDLEtBQUs7YUFDUCxRQUFRLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQzthQUMxQixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUMsRUFBVztnQkFBWCwwQkFBVyxFQUFSLGVBQU87WUFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsbUNBQVE7OztJQUFSO1FBQUEsaUJBT0M7UUFOQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQ2hFLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsc0NBQVc7Ozs7SUFBWCxVQUFZLEVBQTBCO1lBQXhCLG9CQUFPO1FBQ25CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7Z0JBbkVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsbW9FQUF1QztpQkFDeEM7Ozs7Z0JBVlEsV0FBVztnQkFDSCxLQUFLOzs7MEJBYW5CLEtBQUs7Z0NBVUwsTUFBTTs7SUFJUDtRQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDOzBDQUN0QixVQUFVO3NEQUFtQjtJQStDekMsdUJBQUM7Q0FBQSxBQXBFRCxJQW9FQztTQWhFWSxnQkFBZ0I7Ozs7OztJQUMzQixvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7Ozs7O0lBRUosOEJBQXVCOzs7OztJQUFFLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGUsIEdldFByb2ZpbGUsIFByb2ZpbGVTdGF0ZSwgVXBkYXRlUHJvZmlsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUHJvZmlsZVN0YXRlLmdldFByb2ZpbGUpXG4gIHByb2ZpbGUkOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UHJvZmlsZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucHJvZmlsZSQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgcHJvZmlsZV0pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgdXNlck5hbWU6IFtwcm9maWxlLnVzZXJOYW1lLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgZW1haWw6IFtwcm9maWxlLmVtYWlsLCBbcmVxdWlyZWQsIGVtYWlsLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIG5hbWU6IFtwcm9maWxlLm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgc3VybmFtZTogW3Byb2ZpbGUuc3VybmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBwaG9uZU51bWJlcjogW3Byb2ZpbGUucGhvbmVOdW1iZXIgfHwgJycsIFttYXhMZW5ndGgoMTYpXV0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQTJCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQztJQXBCN0Qsc0JBQ0kscUNBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDOzs7T0FMQTs7OztJQW1CRCxv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dGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js index 7e12b5be19..d60f25a6cd 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js @@ -2,16 +2,16 @@ import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConf import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { FormBuilder, Validators } from '@angular/forms'; +import { Validators, FormBuilder } from '@angular/forms'; import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import snq from 'snq'; +import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { __decorate, __metadata } from 'tslib'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { ToastModule } from 'primeng/toast'; /** @@ -30,6 +30,7 @@ class ChangePasswordComponent { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -63,11 +64,18 @@ class ChangePasswordComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + () => { + this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -114,7 +122,7 @@ class ChangePasswordComponent { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -128,6 +136,36 @@ ChangePasswordComponent.propDecorators = { visibleChange: [{ type: Output }], modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] }; +if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -146,6 +184,12 @@ AccountLayoutComponent.decorators = [ template: "\n \n\n \n \n \n \n \n\n" }] } ]; +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} /** * @fileoverview added by tsickle @@ -160,6 +204,12 @@ class AddNavigationElement { } } AddNavigationElement.type = '[Layout] Add Navigation Element'; +if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; +} class RemoveNavigationElementByName { /** * @param {?} name @@ -169,6 +219,17 @@ class RemoveNavigationElementByName { } } RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; +if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -270,6 +331,11 @@ LayoutState = __decorate([ }) ], LayoutState); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -450,7 +516,7 @@ ApplicationLayoutComponent.type = "application" /* application */; ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -479,6 +545,46 @@ __decorate([ Select(LayoutState.getNavigationElements), __metadata("design:type", Observable) ], ApplicationLayoutComponent.prototype, "navElements$", void 0); +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} /** * @param {?} routes * @return {?} @@ -516,6 +622,10 @@ EmptyLayoutComponent.decorators = [ ` }] } ]; +if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; +} /** * @fileoverview added by tsickle @@ -527,7 +637,7 @@ class LayoutComponent { */ constructor(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } /** * @return {?} @@ -547,6 +657,15 @@ LayoutComponent.decorators = [ LayoutComponent.ctorParameters = () => [ { type: Store } ]; +if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -562,6 +681,7 @@ class ProfileComponent { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } /** * @return {?} @@ -604,10 +724,12 @@ class ProfileComponent { onSubmit() { if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ () => { + this.modalBusy = false; this.visible = false; this.form.reset(); })); @@ -637,7 +759,7 @@ class ProfileComponent { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -653,6 +775,31 @@ __decorate([ Select(ProfileState.getProfile), __metadata("design:type", Observable) ], ProfileComponent.prototype, "profile$", void 0); +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -679,6 +826,11 @@ ThemeBasicModule.decorators = [ },] } ]; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -690,12 +842,39 @@ var Layout; */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map index 18d9cce4dd..5a601ca57a 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js index cd99b29917..8195942547 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js @@ -1,17 +1,17 @@ import { __spread, __assign, __decorate, __metadata, __read } from 'tslib'; import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; -import { Component, Input, Output, ViewChild, EventEmitter, TemplateRef, ViewChildren, NgModule } from '@angular/core'; +import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; import { Validators, FormBuilder } from '@angular/forms'; import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import snq from 'snq'; +import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; import { ToastModule } from 'primeng/toast'; /** @@ -25,6 +25,7 @@ var ChangePasswordComponent = /** @class */ (function () { this.store = store; this.toasterService = toasterService; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ChangePasswordComponent.prototype, "visible", { get: /** @@ -69,11 +70,18 @@ var ChangePasswordComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store .dispatch(new ChangePassword({ currentPassword: this.form.get('password').value, newPassword: this.form.get('newPassword').value, })) + .pipe(finalize((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + }))) .subscribe({ next: (/** * @return {?} @@ -127,7 +135,7 @@ var ChangePasswordComponent = /** @class */ (function () { ChangePasswordComponent.decorators = [ { type: Component, args: [{ selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -143,6 +151,36 @@ var ChangePasswordComponent = /** @class */ (function () { }; return ChangePasswordComponent; }()); +if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; +} /** * @fileoverview added by tsickle @@ -162,6 +200,12 @@ var AccountLayoutComponent = /** @class */ (function () { ]; return AccountLayoutComponent; }()); +if (false) { + /** @type {?} */ + AccountLayoutComponent.type; + /** @type {?} */ + AccountLayoutComponent.prototype.isCollapsed; +} /** * @fileoverview added by tsickle @@ -174,6 +218,12 @@ var AddNavigationElement = /** @class */ (function () { AddNavigationElement.type = '[Layout] Add Navigation Element'; return AddNavigationElement; }()); +if (false) { + /** @type {?} */ + AddNavigationElement.type; + /** @type {?} */ + AddNavigationElement.prototype.payload; +} var RemoveNavigationElementByName = /** @class */ (function () { function RemoveNavigationElementByName(name) { this.name = name; @@ -181,6 +231,17 @@ var RemoveNavigationElementByName = /** @class */ (function () { RemoveNavigationElementByName.type = '[Layout] Remove Navigation ElementByName'; return RemoveNavigationElementByName; }()); +if (false) { + /** @type {?} */ + RemoveNavigationElementByName.type; + /** @type {?} */ + RemoveNavigationElementByName.prototype.name; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ /** * @fileoverview added by tsickle @@ -308,6 +369,11 @@ var LayoutState = /** @class */ (function () { return LayoutState; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -526,7 +592,7 @@ var ApplicationLayoutComponent = /** @class */ (function () { ApplicationLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-application', - template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" + template: "\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n" }] } ]; /** @nocollapse */ @@ -557,6 +623,46 @@ var ApplicationLayoutComponent = /** @class */ (function () { ], ApplicationLayoutComponent.prototype, "navElements$", void 0); return ApplicationLayoutComponent; }()); +if (false) { + /** @type {?} */ + ApplicationLayoutComponent.type; + /** @type {?} */ + ApplicationLayoutComponent.prototype.routes$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUser$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languages$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navElements$; + /** @type {?} */ + ApplicationLayoutComponent.prototype.currentUserRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.languageRef; + /** @type {?} */ + ApplicationLayoutComponent.prototype.navbarRootDropdowns; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenChangePassword; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isOpenProfile; + /** @type {?} */ + ApplicationLayoutComponent.prototype.isDropdownChildDynamic; + /** @type {?} */ + ApplicationLayoutComponent.prototype.rightPartElements; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackByFn; + /** @type {?} */ + ApplicationLayoutComponent.prototype.trackElementByFn; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.store; + /** + * @type {?} + * @private + */ + ApplicationLayoutComponent.prototype.oauthService; +} /** * @param {?} routes * @return {?} @@ -594,6 +700,10 @@ var EmptyLayoutComponent = /** @class */ (function () { ]; return EmptyLayoutComponent; }()); +if (false) { + /** @type {?} */ + EmptyLayoutComponent.type; +} /** * @fileoverview added by tsickle @@ -602,7 +712,7 @@ var EmptyLayoutComponent = /** @class */ (function () { var LayoutComponent = /** @class */ (function () { function LayoutComponent(store) { this.store = store; - this.isCollapsed = false; + this.isCollapsed = true; } Object.defineProperty(LayoutComponent.prototype, "appInfo", { get: /** @@ -627,6 +737,15 @@ var LayoutComponent = /** @class */ (function () { ]; }; return LayoutComponent; }()); +if (false) { + /** @type {?} */ + LayoutComponent.prototype.isCollapsed; + /** + * @type {?} + * @private + */ + LayoutComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -638,6 +757,7 @@ var ProfileComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.visibleChange = new EventEmitter(); + this.modalBusy = false; } Object.defineProperty(ProfileComponent.prototype, "visible", { get: /** @@ -693,10 +813,12 @@ var ProfileComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; + this.modalBusy = true; this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** * @return {?} */ function () { + _this.modalBusy = false; _this.visible = false; _this.form.reset(); })); @@ -733,7 +855,7 @@ var ProfileComponent = /** @class */ (function () { ProfileComponent.decorators = [ { type: Component, args: [{ selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" }] } ]; /** @nocollapse */ @@ -751,6 +873,31 @@ var ProfileComponent = /** @class */ (function () { ], ProfileComponent.prototype, "profile$", void 0); return ProfileComponent; }()); +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} /** * @fileoverview added by tsickle @@ -780,6 +927,11 @@ var ThemeBasicModule = /** @class */ (function () { return ThemeBasicModule; }()); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -791,12 +943,39 @@ var Layout; */ function State() { } Layout.State = State; + if (false) { + /** @type {?} */ + State.prototype.navigationElements; + } /** * @record */ function NavigationElement() { } Layout.NavigationElement = NavigationElement; + if (false) { + /** @type {?} */ + NavigationElement.prototype.name; + /** @type {?} */ + NavigationElement.prototype.element; + /** @type {?|undefined} */ + NavigationElement.prototype.order; + } })(Layout || (Layout = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map index 524577f3eb..034c40ece8 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = false;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,AAkBQ,IAAA,gCAAS,EAAE,8BAAQ;AAE3B;IAyBE,iCAAoB,EAAe,EAAU,KAAY,EAAU,cAA8B;QAA7E,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAPjG,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;KAOyD;IAlBrG,sBACI,4CAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QAED,UAAY,KAAc;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;OALA;;;;IAiBD,0CAAQ;;;IAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;YACE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YACxB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC3B,iBAAiB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;SAClC,EACD;YACE,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;SACrE,CACF,CAAC;KACH;;;;IAED,0CAAQ;;;IAAR;QAAA,iBAqBC;QApBC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,cAAc,CAAC;YACjB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAChD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;SAChD,CAAC,CACH;aACA,SAAS,CAAC;YACT,IAAI;;;YAAE;gBACJ,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACnB,CAAA;YACD,KAAK;;;;YAAE,UAAA,GAAG;gBACR,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EAAE,OAAO,EAAE;oBACxG,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ,CAAA;SACF,CAAC,CAAC;KACN;;;;IAED,2CAAS;;;IAAT;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,6CAAW;;;;IAAX,UAAY,EAA0B;YAAxB,oBAAO;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBA3EF,SAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,k0DAA+C;iBAChD;;;;gBAVQ,WAAW;gBAEX,KAAK;gBAdL,cAAc;;;0BA0BpB,KAAK;gCAUL,MAAM;+BAGN,SAAS,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;IAwD9C,8BAAC;CA5ED;;;;;;ACpBA;IAGA;QAQE,gBAAW,GAAY,KAAK,CAAC;KAC9B;;IAHQ,2BAAI,2BAAuB;;gBANnC,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,2zBAA8C;iBAC/C;;IAMD,6BAAC;CATD;;;;;;ACDA;IAEE,8BAAmB,OAA8D;QAA9D,YAAO,GAAP,OAAO,CAAuD;KAAI;IADrE,yBAAI,GAAG,iCAAiC,CAAC;IAE3D,2BAAC;CAHD,IAGC;;IAIC,uCAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;KAAI;IADnB,kCAAI,GAAG,0CAA0C,CAAC;IAEpE,oCAAC;CAHD;;;;;;;;KCoDC;;;;;IA/CQ,iCAAqB;;;;IAA5B,UAA6B,EAAoC;YAAlC,0CAAkB;QAC/C,OAAO,kBAAkB,CAAC;KAC3B;;;;;;IAGD,qCAAe;;;;;IAAf,UAAgB,EAAoD,EAAE,EAAsC;YAA1F,sBAAQ,EAAE,0BAAU;YAAkC,eAAY,EAAZ,iCAAY;QAC5E,IAAA,kDAAkB;QAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QAED,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,OAAO,GAAG,GAAG;;;YACX;gBACE,OAAA,oBAAC,OAAO,IAAgC,MAAM;;;;gBAC5C,UAAC,EAAQ;wBAAN,cAAI;oBAAO,OAAA,kBAAkB,CAAC,SAAS;;;;oBAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC,GAAG,CAAC;iBAAA,EACzE;aAAA,GACH,EAAE,CACH,CAAC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,kBAAkB,GAAGA,SAAI,kBAAkB,EAAK,OAAO,EACpD,GAAG;;;;QAAC,UAAA,OAAO,IAAI,qBAAM,OAAO,IAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,OAAG,EAAC;aAC5D,IAAI;;;;;QAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC,CAAC;QAErC,OAAO,UAAU,CAAC;YAChB,kBAAkB,oBAAA;SACnB,CAAC,CAAC;KACJ;;;;;;IAGD,wCAAkB;;;;;IAAlB,UAAmB,EAAoD,EAAE,EAAuC;YAA3F,sBAAQ,EAAE,0BAAU;YAAkC,cAAI;QACvE,IAAA,kDAAkB;;YAElB,KAAK,GAAG,kBAAkB,CAAC,SAAS;;;;QAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;QAE5E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1D;QAED,OAAO,UAAU,CAAC;YAChB,kBAAkB,oBAAA;SACnB,CAAC,CAAC;KACJ;IAzCDC;QADC,MAAM,CAAC,oBAAoB,CAAC;;iDAC2D,oBAAoB;;sDA0B3G;IAGDA;QADC,MAAM,CAAC,6BAA6B,CAAC;;iDAC6C,6BAA6B;;yDAY/G;IA9CDA;QADC,QAAQ,EAAE;;;;kDAGV;IAJU,WAAW;QAJvB,KAAK,CAAe;YACnB,IAAI,EAAE,aAAa;YACnB,QAAQ,qBAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAgB;SACrD,CAAC;OACW,WAAW,CAiDvB;IAAD,kBAAC;CAAA;;;;;;;ICqCC,oCAAoB,KAAY,EAAU,YAA0B;QAAhD,UAAK,GAAL,KAAK,CAAO;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAnCpE,yBAAoB,GAAY,KAAK,CAAC;QAEtC,kBAAa,GAAY,KAAK,CAAC;QA2B/B,sBAAiB,GAAuB,EAAE,CAAC;QAE3C,cAAS;;;;;QAAmC,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,GAAA,EAAC;QAEnE,qBAAgB;;;;;QAAmC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,OAAO,GAAA,EAAC;KAEH;IA7BxE,sBAAI,sDAAc;;;;QAAlB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;;;;YAAC,UAAA,MAAM,IAAI,OAAA,gBAAgB,CAAC,MAAM,CAAC,GAAA,EAAC,CAAC,CAAC;SACnE;;;OAAA;IAED,sBAAI,wDAAgB;;;;QAApB;YAAA,iBAOC;YANC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;YACD,UAAA,SAAS,IAAI,OAAA,GAAG;;;YAAC,cAAM,OAAA,SAAS,CAAC,IAAI;;;;YAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,CAAC,WAAW,GAAA,EAAC,GAAA,GACzG,EAAE,CACH,CACF,CAAC;SACH;;;OAAA;IAED,sBAAI,0DAAkB;;;;QAAtB;YAAA,iBAIC;YAHC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG;;;;YAAC,UAAA,SAAS,IAAI,OAAA,GAAG;;;YAAC,cAAM,OAAA,SAAS,CAAC,MAAM;;;;YAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,GAAA,EAAC,GAAA,GAAE,EAAE,CAAC,CACzG,CAAC;SACH;;;OAAA;IAED,sBAAI,2DAAmB;;;;QAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC5D;;;OAAA;;;;;IAUO,qDAAgB;;;;IAAxB;QAAA,iBAWC;QAVC,UAAU;;;QAAC;YACT,KAAI,CAAC,mBAAmB,CAAC,OAAO;;;;YAAC,UAAA,IAAI;gBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;gBAC3B,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;SACF,GAAE,CAAC,CAAC,CAAC;KACP;;;;IAED,oDAAe;;;IAAf;QAAA,iBAgCC;;YA/BO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;;;;QAAC,UAAC,EAAQ;gBAAN,cAAI;YAAO,OAAA,IAAI;SAAA,EAAC;QAExG,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,oBAAoB,CAAC;gBACvB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;gBAC5D,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;aACnE,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,YAAY;aACd,IAAI,CACH,GAAG;;;;QAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,GAAG;;;;QAAC,UAAC,EAAW;gBAAT,oBAAO;YAAO,OAAA,OAAO;SAAA,EAAC,GAAA,EAAC,EACvD,MAAM;;;;QAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,iBAAiB,CAAC,GAAA,EAAC,EAC9D,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,QAAQ;YACjB,UAAU;;;YAAC,cAAM,QAAC,KAAI,CAAC,iBAAiB,GAAG,QAAQ,IAAC,GAAE,CAAC,CAAC,CAAC;SAC1D,EAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtB,YAAY,CAAC,GAAG,CAAC,CAClB;aACA,SAAS;;;QAAC;YACT,KAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB,EAAC,CAAC;KACN;;;;IAED,gDAAW;;;IAAX,eAAgB;;;;;IAEhB,iDAAY;;;;IAAZ,UAAa,WAAmB;QAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;;;IAED,2CAAM;;;IAAN;QACE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;SACzE,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAChD;;IA1HM,+BAAI,mCAA2B;;gBANvC,SAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,yvJAAkD;iBACnD;;;;gBAbgB,KAAK;gBACb,YAAY;;;iCA6BlB,SAAS,SAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;8BAG7D,SAAS,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;sCAG1D,YAAY,SAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;;IAjBzDA;QADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;kCAC5B,UAAU;+DAAkB;IAGrCA;QADC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;kCAC5B,UAAU;oEAAuC;IAG/DA;QADC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;kCAC1C,UAAU;kEAAsC;IAG5DA;QADC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;kCAC5B,UAAU;oEAA6B;IA+GvD,iCAAC;CAjID,IAiIC;;;;;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO,MAAM,CAAC,MAAM;;;;;IAAC,UAAC,GAAG,EAAE,GAAG;QAC5B,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC;QAE9B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/C;QAED,gBAAW,GAAG,GAAE,GAAG,GAAE;KACtB,GAAE,EAAE,CAAC,CAAC;CACR;;;;;;AC7KD;IAGA;KAUC;;IADQ,yBAAI,uBAAqB;;gBATjC,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,6DAGT;iBACF;;IAID,2BAAC;CAVD;;;;;;ACHA;IAiBE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QANhC,gBAAW,GAAY,KAAK,CAAC;KAMO;IAJpC,sBAAI,oCAAO;;;;QAAX;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SAClE;;;OAAA;;gBAVF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,g8BAAsC;oBACtC,UAAU,EAAE,CAAC,eAAe,CAAC;iBAC9B;;;;gBANQ,KAAK;;IAed,sBAAC;CAbD;;;;;;ACEQ,IAAA,gCAAS,EAAEC,gCAAQ,EAAE,wBAAK;AAElC;IAyBE,0BAAoB,EAAe,EAAU,KAAY;QAArC,OAAE,GAAF,EAAE,CAAa;QAAU,UAAK,GAAL,KAAK,CAAO;QAPzD,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;KAOiB;IAlB7D,sBACI,qCAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QAED,UAAY,KAAc;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;OALA;;;;IAiBD,oCAAS;;;IAAT;QAAA,iBAgBC;QAfC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;aAC1B,IAAI,CACH,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS;;;;QAAC,UAAC,EAAW;gBAAX,kBAAW,EAAR,eAAO;YACpB,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACxB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAACA,UAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxD,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAACA,UAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1D,CAAC,CAAC;SACJ,EAAC,CAAC;KACN;;;;IAED,mCAAQ;;;IAAR;QAAA,iBAOC;QANC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;;QAAC;YAChE,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACnB,EAAC,CAAC;KACJ;;;;IAED,oCAAS;;;IAAT;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;;;;;IAED,sCAAW;;;;IAAX,UAAY,EAA0B;YAAxB,oBAAO;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBAnEF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,moEAAuC;iBACxC;;;;gBAVQ,WAAW;gBACH,KAAK;;;0BAanB,KAAK;gCAUL,MAAM;;IAIPD;QADC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;kCACtB,UAAU;sDAAmB;IA+CzC,uBAAC;CApED;;;;;;;ACMA,IAAa,OAAO,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,CAAC;AAEjG;IAAA;KAcgC;;gBAd/B,QAAQ,SAAC;oBACR,YAAY,WAAM,OAAO,GAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAC;oBACtF,OAAO,EAAE;wBACP,UAAU;wBACV,iBAAiB;wBACjB,iBAAiB;wBACjB,iBAAiB;wBACjB,WAAW;wBACX,qBAAqB;wBACrB,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;qBACrC;oBACD,OAAO,WAAM,OAAO,CAAC;oBACrB,eAAe,WAAM,OAAO,CAAC;iBAC9B;;IAC8B,uBAAC;CAdhC;;;;;;ACfA,IAAiB,MAAM,CAUtB;AAVD,WAAiB,MAAM;;;;IACrB,oBAEC;;;;;IAED,gCAIC;;AACH,CAAC,EAVgB,MAAM,KAAN,MAAM,QAUtB;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts index e820e5e709..6294583b12 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/change-password/change-password.component.d.ts @@ -11,6 +11,7 @@ export declare class ChangePasswordComponent implements OnInit, OnChanges { visibleChange: EventEmitter; modalContent: TemplateRef; form: FormGroup; + modalBusy: boolean; constructor(fb: FormBuilder, store: Store, toasterService: ToasterService); ngOnInit(): void; onSubmit(): void; diff --git a/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts index ad787579ca..4294e76fc8 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/profile/profile.component.d.ts @@ -11,6 +11,7 @@ export declare class ProfileComponent implements OnChanges { visibleChange: EventEmitter; profile$: Observable; form: FormGroup; + modalBusy: boolean; constructor(fb: FormBuilder, store: Store); buildForm(): void; onSubmit(): void; diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json index c9112db207..4862430bad 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"requestType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"requestURLContainSearchValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":39,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js index 89638b1ba7..4723ad30b6 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js @@ -46,6 +46,85 @@ return __assign.apply(this, arguments); }; + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -67,6 +146,61 @@ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; } /** @@ -182,6 +316,19 @@ }; return AbstractToaster; }()); + if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; + /** + * @type {?} + * @protected + */ + AbstractToaster.prototype.messageService; + } /** * @fileoverview added by tsickle @@ -201,6 +348,12 @@ /** @nocollapse */ ConfirmationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(core.ɵɵinject(messageservice.MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; }(AbstractToaster)); + if (false) { + /** @type {?} */ + ConfirmationService.prototype.key; + /** @type {?} */ + ConfirmationService.prototype.sticky; + } /** * @fileoverview added by tsickle @@ -236,6 +389,19 @@ ]; }; return ConfirmationComponent; }()); + if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; + } /** * @fileoverview added by tsickle @@ -264,6 +430,18 @@ ]; return ErrorComponent; }()); + if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; + } /** * @fileoverview added by tsickle @@ -386,14 +564,37 @@ }; return LoaderBarComponent; }()); + if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; + } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var ButtonComponent = /** @class */ (function () { - function ButtonComponent(actions) { - this.actions = actions; + function ButtonComponent() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -409,75 +610,33 @@ enumerable: true, configurable: true }); - /** - * @return {?} - */ - ButtonComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(store.ofActionSuccessful(ng_core.StartLoader, ng_core.StopLoader), operators.filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - /** @type {?} */ - var condition = true; - if (_this.requestType) { - if (!Array.isArray(_this.requestType)) - _this.requestType = [_this.requestType]; - condition = - condition && - _this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: store.Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: core.Input }], buttonType: [{ type: core.Input }], iconClass: [{ type: core.Input }], loading: [{ type: core.Input }], - disabled: [{ type: core.Input }], - requestType: [{ type: core.Input }], - requestURLContainSearchValue: [{ type: core.Input }] + disabled: [{ type: core.Input }] }; return ButtonComponent; }()); + if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; + } /** * @fileoverview added by tsickle @@ -707,6 +866,58 @@ }; return ModalComponent; }()); + if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; + } /** * @param {?} nodes * @return {?} @@ -751,7 +962,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* = 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":";;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD,AA+EA;AACA,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;;;;;;;;ACxID;;;;QAOE,yBAAsB,cAA8B;YAA9B,mBAAc,GAAd,cAAc,CAAgB;YAJpD,QAAG,GAAW,UAAU,CAAC;YAEzB,WAAM,GAAY,KAAK,CAAC;SAEgC;;;;;;;QACxD,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,iCAAO;;;;;;QAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,OAAW;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACtD;;;;;;;QAED,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,+BAAK;;;;;;QAAL,UAAM,OAAe,EAAE,KAAa,EAAE,OAAW;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACpD;;;;;;;;;QAES,8BAAI;;;;;;;;QAAd,UAAe,OAAe,EAAE,KAAa,EAAE,QAA0B,EAAE,OAAW;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,YACrB,QAAQ,UAAA,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,KAAK,IACX,OAAO,IACV,GAAG,EAAE,IAAI,CAAC,GAAG,KACT,OAAO,CAAC,OAAO,wBAAK,EAAE,GAAQ,EAAE,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GACrF,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAIA,YAAO,EAAkB,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;;;;;QAED,+BAAK;;;;QAAL,UAAM,MAAuB;YAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,4BAA2B,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SACzB;QACH,sBAAC;KAAA;;;;;;;QC3CwCC,uCAAqC;QAD9E;YAAA,qEAKC;YAHC,SAAG,GAAW,iBAAiB,CAAC;YAEhC,YAAM,GAAY,IAAI,CAAC;;SACxB;;oBALAC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;kCAJlC;KASC,CAJwC,eAAe;;;;;;ACLxD;QA0CE,+BAAoB,mBAAwC;YAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;YAJ5D,YAAO,2BAA0B;YACjC,WAAM,yBAAyB;YAC/B,YAAO,2BAA0B;SAE+B;;;;;QAEhE,qCAAK;;;;QAAL,UAAM,MAAsB;YAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxC;;oBA1CFC,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,8pCA6BT;qBACF;;;;oBAnCQ,mBAAmB;;QA8C5B,4BAAC;KA3CD;;;;;;ACJA;QAEA;YA6BE,UAAK,GAAG,OAAO,CAAC;YAEhB,YAAO,GAAG,8BAA8B,CAAC;SAW1C;;;;QAHC,gCAAO;;;QAAP;YACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACrE;;oBAzCFA,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,g1BAuBT;;qBAEF;;QAeD,qBAAC;KA1CD;;;;;;ACFA;QAiCE,4BAAoB,OAAgB,EAAUC,QAAc;YAA5D,iBAqBC;YArBmB,YAAO,GAAP,OAAO,CAAS;YAAU,WAAM,GAANA,QAAM,CAAQ;YAf5D,mBAAc,GAAW,gBAAgB,CAAC;YAG1C,kBAAa,GAAW,cAAc,CAAC;YAGvC,cAAS,GAAY,KAAK,CAAC;YAG3B,WAAM;;;;YAAG,UAAC,MAAgC,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAA,EAAC;YAEtG,kBAAa,GAAW,CAAC,CAAC;YAKxB,OAAO;iBACJ,IAAI,CACHC,wBAAkB,CAACC,mBAAW,EAAEC,kBAAU,CAAC,EAC3CC,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnBC,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,MAAM;gBACf,IAAI,MAAM,YAAYH,mBAAW;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBAClD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;YAELF,QAAM,CAAC,MAAM;iBACV,IAAI,CACHI,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAYE,sBAAe,IAAI,KAAK,YAAYC,oBAAa,GAAA,EAAC,EACnFF,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,KAAK;gBACd,IAAI,KAAK,YAAYC,sBAAe;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBACrD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;SACN;;;;QAED,wCAAW;;;QAAX,eAAgB;;;;QAEhB,yCAAY;;;QAAZ;YAAA,iBAeC;YAdC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAChB,QAAQ,GAAG,WAAW;;;YAAC;gBAC3B,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAC3B,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC1C;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAClC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,GAAG,EAAE;oBACnC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM;oBACL,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACzB;aACF,GAAE,GAAG,CAAC;YAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;;;;QAED,wCAAW;;;QAAX;YAAA,iBAQC;YAPC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,UAAU;;;YAAC;gBACT,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB,GAAE,GAAG,CAAC,CAAC;SACT;;oBA5EFP,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,mMAIT;;qBAEF;;;;oBAXQS,aAAO;oBAFyBC,aAAM;;;qCAe5CC,UAAK;oCAGLA,UAAK;gCAGLA,UAAK;6BAGLA,UAAK;;QA0DR,yBAAC;KA7ED;;;;;;ACPA;QAuCE,yBAAoB,OAAgB;YAAhB,YAAO,GAAP,OAAO,CAAS;YAxBpC,gBAAW,GAAW,iBAAiB,CAAC;YAGxC,eAAU,GAAW,QAAQ,CAAC;YAM9B,YAAO,GAAY,KAAK,CAAC;YAGzB,aAAQ,GAAY,KAAK,CAAC;SAYc;QAJxC,sBAAI,iCAAI;;;;YAAR;gBACE,OAAO,MAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAE,CAAC;aACjF;;;WAAA;;;;QAID,kCAAQ;;;QAAR;YAAA,iBA8BC;YA7BC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE;gBACzD,IAAI,CAAC,OAAO;qBACT,IAAI,CACHT,wBAAkB,CAACC,mBAAW,EAAEC,kBAAU,CAAC,EAC3CC,gBAAM;;;;gBAAC,UAAC,KAA+B;;wBACjC,SAAS,GAAG,IAAI;oBACpB,IAAI,KAAI,CAAC,WAAW,EAAE;wBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,WAAW,CAAC;4BAAE,KAAI,CAAC,WAAW,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;wBAE5E,SAAS;4BACP,SAAS;gCACT,KAAI,CAAC,WAAW,CAAC,SAAS;;;;gCAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;qBACtG;oBAED,IAAI,SAAS,IAAI,KAAI,CAAC,4BAA4B,EAAE;wBAClD,SAAS;4BACP,SAAS;gCACT,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;qBACjG;oBAED,OAAO,SAAS,CAAC;iBAClB,EAAC,CACH;qBACA,SAAS;;;gBAAC;oBACT,UAAU;;;oBAAC;wBACT,KAAI,CAAC,OAAO,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC;qBAC9B,GAAE,CAAC,CAAC,CAAC;iBACP,EAAC,CAAC;aACN;SACF;;oBAlEFL,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,qMAIT;qBACF;;;;oBAVQS,aAAO;;;kCAYbE,UAAK;iCAGLA,UAAK;gCAGLA,UAAK;8BAGLA,UAAK;+BAGLA,UAAK;kCAGLA,UAAK;mDAGLA,UAAK;;QAwCR,sBAAC;KAnED;;;;;;;QCgBM,iBAAiB,GAAG,GAAG;AAE7B;QAuFE,wBAAoB,QAAmB,EAAU,mBAAwC;YAArE,aAAQ,GAAR,QAAQ,CAAW;YAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;YAxChF,aAAQ,GAAY,KAAK,CAAC;YAE1B,eAAU,GAAW,EAAE,CAAC;YAExB,SAAI,GAAc,IAAI,CAAC;YAMtB,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAE5C,SAAI,GAAG,IAAIA,iBAAY,EAAQ,CAAC;YAgB1C,aAAQ,GAAY,KAAK,CAAC;YAE1B,UAAK,GAAY,KAAK,CAAC;YAEvB,cAAS,GAAY,KAAK,CAAC;YAE3B,uBAAkB,GAAY,KAAK,CAAC;YAEpC,aAAQ,GAAY,KAAK,CAAC;YAE1B,aAAQ,GAAG,IAAIf,YAAO,EAAQ,CAAC;SAE8D;QAlF7F,sBACI,mCAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YACD,UAAY,KAAc;gBAA1B,iBAwBC;gBAvBC,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,OAAO;gBAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACtB,IAAI,KAAK,EAAE;wBACT,UAAU;;;wBAAC;4BACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACtB,GAAE,CAAC,CAAC,CAAC;qBACP;oBACD,OAAO;iBACR;gBAED,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;oBACxE,UAAU;;;oBAAC;wBACT,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB,GAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;iBAC5B;aACF;;;WAzBA;QA2BD,sBACI,gCAAI;;;;YADR;gBAEE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;;;YACD,UAAS,KAAc;gBACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,eAAe,EAAE;oBAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAChC;gBAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;;;WAPA;;;;QAmDD,oCAAW;;;QAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;;;;;QAED,mCAAU;;;;QAAV,UAAW,KAAc;YAAzB,iBAUC;YATC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,KAAK;kBACDgB,UAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;qBAC3B,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC;qBACb,SAAS;;;;gBAAC,UAAA,CAAC,IAAI,QAAC,KAAI,CAAC,QAAQ,GAAG,IAAI,IAAC,EAAC;mBACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;SAC7B;;;;QAED,+BAAM;;;QAAN;YAAA,iBAsBC;YArBCC,cAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACzB,IAAI,CACHC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxBC,sBAAY,CAAC,GAAG,CAAC,EACjBZ,gBAAM;;;;YAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,QAAQ,GAAA,EAAC,CAC9E;iBACA,SAAS;;;;YAAC,UAAA,CAAC;gBACV,KAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YAEL,UAAU;;;YAAC;gBACT,IAAI,CAAC,KAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC3BU,cAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;qBAC5C,IAAI,CACHC,mBAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,EACxBX,gBAAM;;;gBAAC,cAAM,OAAA,CAAC,EAAE,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,YAAY,CAAC,GAAA,EAAC,CACrD;qBACA,SAAS;;;gBAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,EAAC,CAAC;aAClC,GAAE,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;;;;QAED,8BAAK;;;QAAL;YAAA,iBAyBC;YAxBC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO;;gBAElC,KAAK,GAAG,YAAY,CACxB,oBAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAiB,UAAU,CAC7F;YAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI,IAAI,CAAC,kBAAkB;oBAAE,OAAO;gBAEpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,mBAAmB;qBACrB,IAAI,CAAC,4DAA4D,EAAE,wBAAwB,CAAC;qBAC5F,SAAS;;;;gBAAC,UAAC,MAAsB;oBAChCQ,UAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS;;;oBAAC;wBACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;qBACjC,EAAC,CAAC;oBAEH,IAAI,MAAM,8BAA6B;wBACrC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;iBACF,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBA1JFb,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,6vCAAqC;qBACtC;;;;oBAlBCkB,cAAS;oBAQF,mBAAmB;;;8BAYzBP,UAAK;2BA8BLA,UAAK;+BAYLA,UAAK;iCAELA,UAAK;2BAELA,UAAK;6BAELA,UAAK;gCAELA,UAAK;oCAELQ,WAAM;2BAENA,WAAM;gCAENC,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;8BAE3CA,iBAAY,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gCAEzCA,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;+BAE3CA,iBAAY,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEC,eAAU,EAAE;gCAE5DD,iBAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;mCAEtEE,cAAS,SAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAE9CC,iBAAY,SAAC,YAAY;;QAkF5B,qBAAC;KA3JD,IA2JC;;;;;IAED,SAAS,YAAY,CAAC,KAAe;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;;;;;QAC7B,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,GAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAE,GAC3G,EAAE,CACH,CAAC;KACH;;;;;IAED,SAAS,UAAU,CAAC,KAAoB;QACtC,OAAO,KAAK,CAAC,SAAS;;;;QAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;KACtF;;;;;;AC7LD;QAEA;SAsB8B;;oBAtB7BvB,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,y0BAkBT;qBACF;;QAC4B,qBAAC;KAtB9B;;;;;;ICFA,aAAe,miCAyEd,CAAC;;;;;;ICzEF;QAkBM,QAAQ,GAAG;QACf,YAAY,EAAE;YACZ,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,kCAAkC;SAC5C;QAED,eAAe,EAAE;YACf,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,2EAA2E;SACrF;QAED,eAAe,EAAE;YACf,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,gDAAgD;SAC1D;QAED,eAAe,EAAE;YACf,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,uDAAuD;SACjE;KACF;AAED;QAEE,sBACU,OAAgB,EAChBwB,OAAY,EACZ,mBAAwC,EACxC,MAAsB,EACtB,KAA+B,EAC/B,eAAiC,EACjC,QAAkB;YAP5B,iBAyDC;YAxDS,YAAO,GAAP,OAAO,CAAS;YAChB,UAAK,GAALA,OAAK,CAAO;YACZ,wBAAmB,GAAnB,mBAAmB,CAAqB;YACxC,WAAM,GAAN,MAAM,CAAgB;YACtB,UAAK,GAAL,KAAK,CAA0B;YAC/B,oBAAe,GAAf,eAAe,CAAkB;YACjC,aAAQ,GAAR,QAAQ,CAAU;YAE1B,OAAO,CAAC,IAAI,CAACtB,wBAAkB,CAACuB,sBAAc,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,GAAG;gBACpD,IAAA,gBAA4C,EAA5C,kDAA4C;;oBAC9C,IAAI,GAAG,GAAG;;;gBAAC,cAAM,OAAA,oBAAC,GAAG,IAAuB,KAAK,CAAC,KAAK,GAAA,GAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAE7F,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;;wBAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;oBAEtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;wBACtB,aAAa,CAAC,SAAS;;;wBAAC;4BACtB,KAAI,CAAC,eAAe,EAAE,CAAC;yBACxB,EAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,QAAQ,oBAAC,GAAG,IAAuB,MAAM;wBACvC,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;4BAAC;gCAC3F,OAAA,KAAI,CAAC,eAAe,EAAE;6BAAA,EACvB,CAAC;4BACF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;gCACvC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;6BAC1C,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;4BACnF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,KAAK;gCACZ,OAAO,EAAE,wCAAwC;6BAClD,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,CAAC;4BACJ,IAAI,oBAAC,GAAG,IAAuB,UAAU,KAAK,eAAe,EAAE;gCAC7D,KAAI,CAAC,oBAAoB,CAAC;oCACxB,KAAK,EAAE,eAAe;oCACtB,OAAO,EAAE,wCAAwC;iCAClD,CAAC,CAAC;6BACJ;4BACD,MAAM;wBACR;4BACE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;4BAC7E,MAAM;qBACT;iBACF;aACF,EAAC,CAAC;SACJ;;;;;;;;QAEO,gCAAS;;;;;;;QAAjB,UAAkB,OAAgB,EAAE,KAAc,EAAE,IAAU;YAC5D,IAAI,IAAI,EAAE;gBACR,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACvB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;iBACtB;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;iBACzD;aACF;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;gBACpD,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;;;;;QAEO,sCAAe;;;;QAAvB;YACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAIC,qBAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;gBACrC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAACC,wBAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;aACzE,CAAC,CACH,CAAC;SACH;;;;;QAED,2CAAoB;;;;QAApB,UAAqB,QAAiC;;gBAC9C,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;gBAC1D,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;;gBAEnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE7F,KAAK,IAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC7C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC5C;aACF;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAC,YAAY,CAAC,QAAQ,IAA0B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzF,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC;YACzD,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACnC;;oBAvGF5B,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBA7BzBU,aAAO;oBAAsBmB,WAAK;oBAIlC,mBAAmB;oBAZ1BC,mBAAc;oBACdC,6BAAwB;oBAIxBC,qBAAgB;oBADhBC,aAAQ;;;2BAPV;KAwCA;;;;;;;QC3B8ClC,4CAAc;QAV5D;;SA4BC;QAjBC,sBAAI,+CAAS;;;;YAAb;gBACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG;;;;gBAAC,UAAA,KAAK;oBACpC,IAAI,CAAC,KAAK,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;;wBAE3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;wBACd,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACtF;qBACH;oBAED,OAAO,KAAK,CAAC;iBACd,EAAC,CAAC;aACJ;;;WAAA;;oBA3BFE,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,QAAQ,EAAE,oLAIT;wBACD,eAAe,EAAEiC,4BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;qBACtC;;QAmBD,+BAAC;KAAA,CAlB6CC,+BAAc;;;;;;ICb5D;;;;IAkBA,SAAgB,YAAY,CAAC,QAAkB;;YACvC,EAAE;;;QAAG;;gBACH,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAACC,uBAAe,CAAC;YAEtE,OAAOC,aAAQ,CACb,eAAe,CAAC,IAAI,CAClB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,CACb,qDACF,CAAC,IAAI,CAACvB,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjB,CAAA;QAED,OAAO,EAAE,CAAC;KACX;AAED;QAAA;SA8CC;;;;QAdQ,yBAAO;;;QAAd;YACE,OAAO;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEwB,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACN,aAAQ,EAAE,YAAY,CAAC;wBAC9B,UAAU,EAAE,YAAY;qBACzB;oBACD,EAAE,OAAO,EAAEO,6BAAc,EAAE,QAAQ,EAAEA,6BAAc,EAAE;iBACtD;aACF,CAAC;SACH;;oBA7CFC,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,kBAAU;4BACVC,iBAAW;4BACXC,0BAAc;4BACdC,4BAAqB,CAAC,OAAO,CAAC;gCAC5B,cAAc,EAAE,aAAa;gCAC7B,UAAU,EAAE;oCACV,KAAK,EAAE,+CAA+C;oCACtD,GAAG,EAAE,sEAAsE;oCAC3E,SAAS,EAAE,iFAAiF;oCAC5F,GAAG,EAAE,sGAAsG;oCAC3G,SAAS,EAAE,sGAAsG;oCACjH,QAAQ,EAAE,kCAAkC;oCAC5C,gBAAgB,EAAE,kDAAkD;iCACrE;gCACD,aAAa,EAAE,wBAAwB;6BACxC,CAAC;yBACH;wBACD,YAAY,EAAE;4BACZ,eAAe;4BACf,qBAAqB;4BACrB,cAAc;4BACd,cAAc;4BACd,cAAc;4BACd,kBAAkB;4BAClB,wBAAwB;yBACzB;wBACD,OAAO,EAAE,CAACD,0BAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;wBACrH,eAAe,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;qBAC5D;;QAgBD,wBAAC;KA9CD;;;;;;ICpCA;AACA,QAAa,eAAe,GAAGE,kBAAO,CAAC,iBAAiB,EAAE;QACxDC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5DD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxDC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAAC,eAAe,EAAEF,gBAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/F,CAAC;;;;;;ICHF,IAAiB,YAAY,CAO5B;IAPD,WAAiB,YAAY;;;;QAC3B,sBAKC;;IACH,CAAC,EAPgB,YAAY,KAAZ,YAAY,QAO5B;;;;;;ACTD,AAkBC;IAlBD,WAAiB,OAAO;;;;QACtB,sBAQC;;IASH,CAAC,EAlBgBG,eAAO,KAAPA,eAAO,QAkBvB;;;;;;;QCbmCpD,kCAAe;QADnD;;SAKC;;;;;QAHC,+BAAM;;;;QAAN,UAAO,QAAmB;YAA1B,iBAEC;YADC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;YAAC,UAAA,OAAO,IAAI,mBAAG,GAAG,EAAE,KAAI,CAAC,GAAG,IAAK,OAAO,KAAG,EAAC,CAAC,CAAC;SACtF;;oBAJFC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;6BAJlC;KASC,CAJmC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js index e43513aaea..9d9c4c5b4a 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,c,l,p,u,d,f){"use strict";d=d&&d.hasOwnProperty("default")?d.default:d;var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function g(e,t){function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}(),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y),C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}(),w=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}(),L=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}(),x=function(){function e(e){this.actions=e,this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;(this.requestType||this.requestURLContainSearchValue)&&this.actions.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(function(t){var n=!0;return e.requestType&&(Array.isArray(e.requestType)||(e.requestType=[e.requestType]),n=n&&e.requestType.findIndex(function(e){return e.toLowerCase()===t.payload.method.toLowerCase()})>-1),n&&e.requestURLContainSearchValue&&(n=n&&t.payload.url.toLowerCase().indexOf(e.requestURLContainSearchValue.toLowerCase())>-1),n})).subscribe(function(){setTimeout(function(){e.loading=!e.loading},0)})},e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.ctorParameters=function(){return[{type:p.Actions}]},e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}],requestType:[{type:n.Input}],requestURLContainSearchValue:[{type:n.Input}]},e}(),I=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof x&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[x,{static:!1,read:x}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),S="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",S,"head","afterbegin")).pipe(c.take(1))}}var j,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,E],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:T})],declarations:[x,C,A,I,w,L,T],exports:[o.NgbModalModule,x,C,A,I,L],entryComponents:[w,T]}]}],e}(),q=f.trigger("routeAnimations",[f.state("void",f.style({"margin-top":"20px",opacity:"0"})),f.state("*",f.style({"margin-top":"0px",opacity:"1"})),f.transition(":enter",[f.animate("0.2s ease-out",f.style({opacity:"1","margin-top":"0px"}))])]);!function(e){e.Options=function(){}}(j||(j={})),(e.Toaster||(e.Toaster={})).Options=function(){};var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=x,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=L,e.ModalComponent=I,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=q,e.ɵa=T,e.ɵb=x,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=I,e.ɵh=w,e.ɵi=L,e.ɵj=E,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,c,l,p,d,u,m){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);var C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}();var x=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var w=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var I=function(){function e(){this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof I&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[I,{static:!1,read:I}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),E="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",E,"head","afterbegin")).pipe(c.take(1))}}var T,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,S],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[I,C,A,k,x,w,j],exports:[o.NgbModalModule,I,C,A,k,w],entryComponents:[x,j]}]}],e}(),P=m.trigger("routeAnimations",[m.state("void",m.style({"margin-top":"20px",opacity:"0"})),m.state("*",m.style({"margin-top":"0px",opacity:"1"})),m.transition(":enter",[m.animate("0.2s ease-out",m.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(T||(T={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}();var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=I,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=w,e.ModalComponent=k,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=P,e.ɵa=j,e.ɵb=I,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=k,e.ɵh=x,e.ɵi=w,e.ɵj=S,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.shared.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map index e64d2cfe0f..2efa1e916a 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ngOnInit","requestType","requestURLContainSearchValue","condition","isArray","findIndex","type","toLowerCase","method","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Toaster","ToasterService","addAll","messages"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Options","Toaster","ToasterService","addAll","messages"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js index 1972d1e12b..a9813a1bcb 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js @@ -2,16 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; -import { Actions, ofActionSuccessful } from '@ngxs/store'; -import { filter } from 'rxjs/operators'; export class ButtonComponent { - /** - * @param {?} actions - */ - constructor(actions) { - this.actions = actions; + constructor() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -23,50 +16,6 @@ export class ButtonComponent { get icon() { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - /** - * @return {?} - */ - ngOnInit() { - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - (event) => { - /** @type {?} */ - let condition = true; - if (this.requestType) { - if (!Array.isArray(this.requestType)) - this.requestType = [this.requestType]; - condition = - condition && - this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; - } - if (condition && this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - () => { - setTimeout((/** - * @return {?} - */ - () => { - this.loading = !this.loading; - }), 0); - })); - } - } } ButtonComponent.decorators = [ { type: Component, args: [{ @@ -78,18 +27,12 @@ ButtonComponent.decorators = [ ` }] } ]; -/** @nocollapse */ -ButtonComponent.ctorParameters = () => [ - { type: Actions } -]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; if (false) { /** @type {?} */ @@ -102,14 +45,5 @@ if (false) { ButtonComponent.prototype.loading; /** @type {?} */ ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.requestType; - /** @type {?} */ - ButtonComponent.prototype.requestURLContainSearchValue; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVXhDLE1BQU0sT0FBTyxlQUFlOzs7O0lBMEIxQixZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQzs7OztJQUp4QyxJQUFJLElBQUk7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7SUFDbEYsQ0FBQzs7OztJQUlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPO2lCQUNULElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLE1BQU07Ozs7WUFBQyxDQUFDLEtBQStCLEVBQUUsRUFBRTs7b0JBQ3JDLFNBQVMsR0FBRyxJQUFJO2dCQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7d0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFNUUsU0FBUzt3QkFDUCxTQUFTOzRCQUNULElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7Ozs0QkFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN0RztnQkFFRCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ2xELFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pHO2dCQUVELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsRUFBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDZCxVQUFVOzs7Z0JBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMvQixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDLEVBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7O0dBSVQ7YUFDRjs7OztZQVZRLE9BQU87OzswQkFZYixLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzsyQ0FHTCxLQUFLOzs7O0lBbEJOLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVWpELE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBVUUsZ0JBQVcsR0FBVyxpQkFBaUIsQ0FBQztRQUd4QyxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBTTlCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUs1QixDQUFDOzs7O0lBSEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2xGLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7OztHQUlUO2FBQ0Y7OzswQkFFRSxLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7Ozs7SUFaTixzQ0FDd0M7O0lBRXhDLHFDQUM4Qjs7SUFFOUIsb0NBQ2tCOztJQUVsQixrQ0FDeUI7O0lBRXpCLG1DQUMwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBbYXR0ci50eXBlXT1cImJ1dHRvblR5cGVcIiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCI+XG4gICAgICA8aSBbbmdDbGFzc109XCJpY29uXCIgY2xhc3M9XCJtci0xXCI+PC9pPjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYnV0dG9uQ2xhc3M6IHN0cmluZyA9ICdidG4gYnRuLXByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIGJ1dHRvblR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuXG4gIEBJbnB1dCgpXG4gIGljb25DbGFzczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js index b35aea0715..b988453e14 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js @@ -29,7 +29,7 @@ export default ` } .navbar .dropdown-menu { - min-width: 200px; + min-width: 215px; } .modal { @@ -76,4 +76,4 @@ export default ` /*
    -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; return ButtonComponent; }()); @@ -105,14 +47,5 @@ if (false) { ButtonComponent.prototype.loading; /** @type {?} */ ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.requestType; - /** @type {?} */ - ButtonComponent.prototype.requestURLContainSearchValue; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDO0lBa0NFLHlCQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBWWEsQ0FBQztJQUp4QyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOzs7O0lBSUQsa0NBQVE7OztJQUFSO1FBQUEsaUJBOEJDO1FBN0JDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU87aUJBQ1QsSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTTs7OztZQUFDLFVBQUMsS0FBK0I7O29CQUNqQyxTQUFTLEdBQUcsSUFBSTtnQkFDcEIsSUFBSSxLQUFJLENBQUMsV0FBVyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDO3dCQUFFLEtBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBRTVFLFNBQVM7d0JBQ1AsU0FBUzs0QkFDVCxLQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7NEJBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQXpELENBQXlELEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdEc7Z0JBRUQsSUFBSSxTQUFTLElBQUksS0FBSSxDQUFDLDRCQUE0QixFQUFFO29CQUNsRCxTQUFTO3dCQUNQLFNBQVM7NEJBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNqRztnQkFFRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLEVBQUMsQ0FDSDtpQkFDQSxTQUFTOzs7WUFBQztnQkFDVCxVQUFVOzs7Z0JBQUM7b0JBQ1QsS0FBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUNSLENBQUMsRUFBQyxDQUFDO1NBQ047SUFDSCxDQUFDOztnQkFsRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs7Z0JBVlEsT0FBTzs7OzhCQVliLEtBQUs7NkJBR0wsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSzs4QkFHTCxLQUFLOytDQUdMLEtBQUs7O0lBd0NSLHNCQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0EzRFksZUFBZTs7O0lBQzFCLHNDQUN3Qzs7SUFFeEMscUNBQzhCOztJQUU5QixvQ0FDa0I7O0lBRWxCLGtDQUN5Qjs7SUFFekIsbUNBQzBCOztJQUUxQixzQ0FDK0I7O0lBRS9CLHVEQUNxQzs7Ozs7SUFNekIsa0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXF1ZXN0VHlwZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdFVSTENvbnRhaW5TZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSB8fCB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0VHlwZSkge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0VHlwZSkpIHRoaXMucmVxdWVzdFR5cGUgPSBbdGhpcy5yZXF1ZXN0VHlwZV07XG5cbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RUeXBlLmZpbmRJbmRleCh0eXBlID0+IHR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQucGF5bG9hZC5tZXRob2QudG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbiAmJiB0aGlzLnJlcXVlc3RVUkxDb250YWluU2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5yZXF1ZXN0VVJMQ29udGFpblNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpID4gLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpEO0lBQUE7UUFVRSxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFIQyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOztnQkExQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs4QkFFRSxLQUFLOzZCQUdMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7O0lBTVIsc0JBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQW5CWSxlQUFlOzs7SUFDMUIsc0NBQ3dDOztJQUV4QyxxQ0FDOEI7O0lBRTlCLG9DQUNrQjs7SUFFbEIsa0NBQ3lCOztJQUV6QixtQ0FDMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmxvYWRpbmcgPyAnZmEgZmEtc3BpbiBmYS1zcGlubmVyJyA6IHRoaXMuaWNvbkNsYXNzIHx8ICdkLW5vbmUnfWA7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js index 26738f32b8..aae8d71577 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export default "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* [ { type: ConfirmationService } ]; +if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; +} /** * @fileoverview added by tsickle @@ -213,6 +245,18 @@ ErrorComponent.decorators = [ styles: [".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"] }] } ]; +if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; +} /** * @fileoverview added by tsickle @@ -330,17 +374,37 @@ LoaderBarComponent.propDecorators = { isLoading: [{ type: Input }], filter: [{ type: Input }] }; +if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; +} /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class ButtonComponent { - /** - * @param {?} actions - */ - constructor(actions) { - this.actions = actions; + constructor() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -352,50 +416,6 @@ class ButtonComponent { get icon() { return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`; } - /** - * @return {?} - */ - ngOnInit() { - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - (event) => { - /** @type {?} */ - let condition = true; - if (this.requestType) { - if (!Array.isArray(this.requestType)) - this.requestType = [this.requestType]; - condition = - condition && - this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - type => type.toLowerCase() === event.payload.method.toLowerCase())) > -1; - } - if (condition && this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - () => { - setTimeout((/** - * @return {?} - */ - () => { - this.loading = !this.loading; - }), 0); - })); - } - } } ButtonComponent.decorators = [ { type: Component, args: [{ @@ -407,19 +427,25 @@ ButtonComponent.decorators = [ ` }] } ]; -/** @nocollapse */ -ButtonComponent.ctorParameters = () => [ - { type: Actions } -]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; +} /** * @fileoverview added by tsickle @@ -627,6 +653,58 @@ ModalComponent.propDecorators = { modalContent: [{ type: ViewChild, args: ['abpModalContent', { static: false },] }], abpButtons: [{ type: ViewChildren, args: ['abp-button',] }] }; +if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; +} /** * @param {?} nodes * @return {?} @@ -713,7 +791,7 @@ var styles = ` } .navbar .dropdown-menu { - min-width: 200px; + min-width: 215px; } .modal { @@ -931,6 +1009,43 @@ ErrorHandler.ctorParameters = () => [ { type: Injector } ]; /** @nocollapse */ ErrorHandler.ngInjectableDef = ɵɵdefineInjectable({ factory: function ErrorHandler_Factory() { return new ErrorHandler(ɵɵinject(Actions), ɵɵinject(Store), ɵɵinject(ConfirmationService), ɵɵinject(ApplicationRef), ɵɵinject(ComponentFactoryResolver), ɵɵinject(RendererFactory2), ɵɵinject(INJECTOR)); }, token: ErrorHandler, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.actions; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.store; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.confirmationService; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.appRef; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.cfRes; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.rendererFactory; + /** + * @type {?} + * @private + */ + ErrorHandler.prototype.injector; +} /** * @fileoverview added by tsickle @@ -1054,6 +1169,16 @@ const slideFromBottom = trigger('routeAnimations', [ transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), ]); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1065,6 +1190,16 @@ var Confirmation; */ function Options() { } Confirmation.Options = Options; + if (false) { + /** @type {?|undefined} */ + Options.prototype.hideCancelBtn; + /** @type {?|undefined} */ + Options.prototype.hideYesBtn; + /** @type {?|undefined} */ + Options.prototype.cancelCopy; + /** @type {?|undefined} */ + Options.prototype.yesCopy; + } })(Confirmation || (Confirmation = {})); /** @@ -1078,8 +1213,29 @@ var Toaster; */ function Options() { } Toaster.Options = Options; + if (false) { + /** @type {?|undefined} */ + Options.prototype.id; + /** @type {?|undefined} */ + Options.prototype.closable; + /** @type {?|undefined} */ + Options.prototype.life; + /** @type {?|undefined} */ + Options.prototype.sticky; + /** @type {?|undefined} */ + Options.prototype.data; + /** @type {?|undefined} */ + Options.prototype.messageLocalizationParams; + /** @type {?|undefined} */ + Options.prototype.titleLocalizationParams; + } })(Toaster || (Toaster = {})); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1102,5 +1258,20 @@ ToasterService.decorators = [ ]; /** @nocollapse */ ToasterService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(ɵɵinject(MessageService)); }, token: ToasterService, providedIn: "root" }); +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + export { ButtonComponent, ConfirmationComponent, ConfirmationService, LoaderBarComponent, ModalComponent, ThemeSharedModule, ToastComponent, Toaster, ToasterService, appendScript, slideFromBottom, ValidationErrorComponent as ɵa, ButtonComponent as ɵb, ConfirmationComponent as ɵc, ConfirmationService as ɵd, AbstractToaster as ɵe, ToastComponent as ɵf, ModalComponent as ɵg, ErrorComponent as ɵh, LoaderBarComponent as ɵi, ErrorHandler as ɵj }; //# sourceMappingURL=abp-ng.theme.shared.js.map diff --git a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map index dc1f0d2e75..905434cc1c 100644 --- a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js index c356307871..11f8ed6b4d 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js @@ -1,5 +1,5 @@ -import { StartLoader, StopLoader, RestOccurError, CoreModule, LazyLoadService } from '@abp/ng.core'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, Renderer2, Output, ContentChild, ElementRef, ViewChild, ViewChildren, EventEmitter, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, ChangeDetectionStrategy, ViewEncapsulation, NgModule, APP_INITIALIZER } from '@angular/core'; +import { StartLoader, StopLoader, RestOccurError, LazyLoadService, CoreModule } from '@abp/ng.core'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, EventEmitter, Renderer2, Output, ContentChild, ElementRef, ViewChild, ViewChildren, ApplicationRef, ComponentFactoryResolver, RendererFactory2, Injector, INJECTOR, ChangeDetectionStrategy, ViewEncapsulation, APP_INITIALIZER, NgModule } from '@angular/core'; import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { takeUntilDestroy, ValidationErrorComponent as ValidationErrorComponent$1, NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; @@ -7,8 +7,8 @@ import { ToastModule } from 'primeng/toast'; import { Subject, timer, fromEvent, forkJoin } from 'rxjs'; import { filter, take, takeUntil, debounceTime } from 'rxjs/operators'; import { __assign, __extends, __spread } from 'tslib'; -import { Router, NavigationStart, NavigationEnd } from '@angular/router'; -import { Actions, ofActionSuccessful, Store } from '@ngxs/store'; +import { NavigationStart, NavigationEnd, Router } from '@angular/router'; +import { ofActionSuccessful, Actions, Store } from '@ngxs/store'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import snq from 'snq'; import { trigger, state, style, transition, animate } from '@angular/animations'; @@ -126,6 +126,19 @@ AbstractToaster = /** @class */ (function () { }; return AbstractToaster; }()); +if (false) { + /** @type {?} */ + AbstractToaster.prototype.status$; + /** @type {?} */ + AbstractToaster.prototype.key; + /** @type {?} */ + AbstractToaster.prototype.sticky; + /** + * @type {?} + * @protected + */ + AbstractToaster.prototype.messageService; +} /** * @fileoverview added by tsickle @@ -145,6 +158,12 @@ var ConfirmationService = /** @class */ (function (_super) { /** @nocollapse */ ConfirmationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(ɵɵinject(MessageService)); }, token: ConfirmationService, providedIn: "root" }); return ConfirmationService; }(AbstractToaster)); +if (false) { + /** @type {?} */ + ConfirmationService.prototype.key; + /** @type {?} */ + ConfirmationService.prototype.sticky; +} /** * @fileoverview added by tsickle @@ -180,6 +199,19 @@ var ConfirmationComponent = /** @class */ (function () { ]; }; return ConfirmationComponent; }()); +if (false) { + /** @type {?} */ + ConfirmationComponent.prototype.confirm; + /** @type {?} */ + ConfirmationComponent.prototype.reject; + /** @type {?} */ + ConfirmationComponent.prototype.dismiss; + /** + * @type {?} + * @private + */ + ConfirmationComponent.prototype.confirmationService; +} /** * @fileoverview added by tsickle @@ -208,6 +240,18 @@ var ErrorComponent = /** @class */ (function () { ]; return ErrorComponent; }()); +if (false) { + /** @type {?} */ + ErrorComponent.prototype.title; + /** @type {?} */ + ErrorComponent.prototype.details; + /** @type {?} */ + ErrorComponent.prototype.renderer; + /** @type {?} */ + ErrorComponent.prototype.elementRef; + /** @type {?} */ + ErrorComponent.prototype.host; +} /** * @fileoverview added by tsickle @@ -330,14 +374,37 @@ var LoaderBarComponent = /** @class */ (function () { }; return LoaderBarComponent; }()); +if (false) { + /** @type {?} */ + LoaderBarComponent.prototype.containerClass; + /** @type {?} */ + LoaderBarComponent.prototype.progressClass; + /** @type {?} */ + LoaderBarComponent.prototype.isLoading; + /** @type {?} */ + LoaderBarComponent.prototype.filter; + /** @type {?} */ + LoaderBarComponent.prototype.progressLevel; + /** @type {?} */ + LoaderBarComponent.prototype.interval; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.actions; + /** + * @type {?} + * @private + */ + LoaderBarComponent.prototype.router; +} /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var ButtonComponent = /** @class */ (function () { - function ButtonComponent(actions) { - this.actions = actions; + function ButtonComponent() { this.buttonClass = 'btn btn-primary'; this.buttonType = 'button'; this.loading = false; @@ -353,75 +420,33 @@ var ButtonComponent = /** @class */ (function () { enumerable: true, configurable: true }); - /** - * @return {?} - */ - ButtonComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.requestType || this.requestURLContainSearchValue) { - this.actions - .pipe(ofActionSuccessful(StartLoader, StopLoader), filter((/** - * @param {?} event - * @return {?} - */ - function (event) { - /** @type {?} */ - var condition = true; - if (_this.requestType) { - if (!Array.isArray(_this.requestType)) - _this.requestType = [_this.requestType]; - condition = - condition && - _this.requestType.findIndex((/** - * @param {?} type - * @return {?} - */ - function (type) { return type.toLowerCase() === event.payload.method.toLowerCase(); })) > -1; - } - if (condition && _this.requestURLContainSearchValue) { - condition = - condition && - event.payload.url.toLowerCase().indexOf(_this.requestURLContainSearchValue.toLowerCase()) > -1; - } - return condition; - }))) - .subscribe((/** - * @return {?} - */ - function () { - setTimeout((/** - * @return {?} - */ - function () { - _this.loading = !_this.loading; - }), 0); - })); - } - }; ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: "\n \n " }] } ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: Actions } - ]; }; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], buttonType: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], - disabled: [{ type: Input }], - requestType: [{ type: Input }], - requestURLContainSearchValue: [{ type: Input }] + disabled: [{ type: Input }] }; return ButtonComponent; }()); +if (false) { + /** @type {?} */ + ButtonComponent.prototype.buttonClass; + /** @type {?} */ + ButtonComponent.prototype.buttonType; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.loading; + /** @type {?} */ + ButtonComponent.prototype.disabled; +} /** * @fileoverview added by tsickle @@ -651,6 +676,58 @@ var ModalComponent = /** @class */ (function () { }; return ModalComponent; }()); +if (false) { + /** @type {?} */ + ModalComponent.prototype.centered; + /** @type {?} */ + ModalComponent.prototype.modalClass; + /** @type {?} */ + ModalComponent.prototype.size; + /** @type {?} */ + ModalComponent.prototype.height; + /** @type {?} */ + ModalComponent.prototype.minHeight; + /** @type {?} */ + ModalComponent.prototype.visibleChange; + /** @type {?} */ + ModalComponent.prototype.init; + /** @type {?} */ + ModalComponent.prototype.abpHeader; + /** @type {?} */ + ModalComponent.prototype.abpBody; + /** @type {?} */ + ModalComponent.prototype.abpFooter; + /** @type {?} */ + ModalComponent.prototype.abpClose; + /** @type {?} */ + ModalComponent.prototype.abpSubmit; + /** @type {?} */ + ModalComponent.prototype.modalContent; + /** @type {?} */ + ModalComponent.prototype.abpButtons; + /** @type {?} */ + ModalComponent.prototype._visible; + /** @type {?} */ + ModalComponent.prototype._busy; + /** @type {?} */ + ModalComponent.prototype.showModal; + /** @type {?} */ + ModalComponent.prototype.isOpenConfirmation; + /** @type {?} */ + ModalComponent.prototype.closable; + /** @type {?} */ + ModalComponent.prototype.destroy$; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.renderer; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.confirmationService; +} /** * @param {?} nodes * @return {?} @@ -695,7 +772,7 @@ var ToastComponent = /** @class */ (function () { * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n requestType: string | string[];\n\n @Input()\n requestURLContainSearchValue: string;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private actions: Actions) {}\n\n ngOnInit(): void {\n if (this.requestType || this.requestURLContainSearchValue) {\n this.actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter((event: StartLoader | StopLoader) => {\n let condition = true;\n if (this.requestType) {\n if (!Array.isArray(this.requestType)) this.requestType = [this.requestType];\n\n condition =\n condition &&\n this.requestType.findIndex(type => type.toLowerCase() === event.payload.method.toLowerCase()) > -1;\n }\n\n if (condition && this.requestURLContainSearchValue) {\n condition =\n condition &&\n event.payload.url.toLowerCase().indexOf(this.requestURLContainSearchValue.toLowerCase()) > -1;\n }\n\n return condition;\n }),\n )\n .subscribe(() => {\n setTimeout(() => {\n this.loading = !this.loading;\n }, 0);\n });\n }\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA;;;;IAOE,yBAAsB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJpD,QAAG,GAAW,UAAU,CAAC;QAEzB,WAAM,GAAY,KAAK,CAAC;KAEgC;;;;;;;IACxD,8BAAI;;;;;;IAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KACnD;;;;;;;IAED,iCAAO;;;;;;IAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,OAAW;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KACtD;;;;;;;IAED,8BAAI;;;;;;IAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KACnD;;;;;;;IAED,+BAAK;;;;;;IAAL,UAAM,OAAe,EAAE,KAAa,EAAE,OAAW;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KACpD;;;;;;;;;IAES,8BAAI;;;;;;;;IAAd,UAAe,OAAe,EAAE,KAAa,EAAE,QAA0B,EAAE,OAAW;QACpF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,YACrB,QAAQ,UAAA,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,KAAK,IACX,OAAO,IACV,GAAG,EAAE,IAAI,CAAC,GAAG,KACT,OAAO,CAAC,OAAO,wBAAK,EAAE,GAAQ,EAAE,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GACrF,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;;;;IAED,+BAAK;;;;IAAL,UAAM,MAAuB;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,4BAA2B,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;KACzB;IACH,sBAAC;CAAA,IAAA;;;IA3CC,kCAAiC;;IAEjC,8BAAyB;;IAEzB,iCAAwB;;;;;IAEZ,yCAAwC;;;;;;;;ICNbA,uCAAqC;IAD9E;QAAA,qEAKC;QAHC,SAAG,GAAW,iBAAiB,CAAC;QAEhC,YAAM,GAAY,IAAI,CAAC;;KACxB;;gBALA,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;8BAJlC;CASC,CAJwC,eAAe,GAIvD;;;IAHC,kCAAgC;;IAEhC,qCAAuB;;;;;;;ACRzB;IA0CE,+BAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAJ5D,YAAO,2BAA0B;QACjC,WAAM,yBAAyB;QAC/B,YAAO,2BAA0B;KAE+B;;;;;IAEhE,qCAAK;;;;IAAL,UAAM,MAAsB;QAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACxC;;gBA1CF,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,8pCA6BT;iBACF;;;;gBAnCQ,mBAAmB;;IA8C5B,4BAAC;CA3CD,IA2CC;;;IATC,wCAAiC;;IACjC,uCAA+B;;IAC/B,wCAAiC;;;;;IAErB,oDAAgD;;;;;;;AC1C9D;IAEA;QA6BE,UAAK,GAAG,OAAO,CAAC;QAEhB,YAAO,GAAG,8BAA8B,CAAC;KAW1C;;;;IAHC,gCAAO;;;IAAP;QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;KACrE;;gBAzCF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,g1BAuBT;;iBAEF;;IAeD,qBAAC;CA1CD,IA0CC;;;IAbC,+BAAgB;;IAEhB,iCAAyC;;IAEzC,kCAAoB;;IAEpB,oCAAuB;;IAEvB,8BAAU;;;;;;;ACvCZ;IAiCE,4BAAoB,OAAgB,EAAU,MAAc;QAA5D,iBAqBC;QArBmB,YAAO,GAAP,OAAO,CAAS;QAAU,WAAM,GAAN,MAAM,CAAQ;QAf5D,mBAAc,GAAW,gBAAgB,CAAC;QAG1C,kBAAa,GAAW,cAAc,CAAC;QAGvC,cAAS,GAAY,KAAK,CAAC;QAG3B,WAAM;;;;QAAG,UAAC,MAAgC,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAA,EAAC;QAEtG,kBAAa,GAAW,CAAC,CAAC;QAKxB,OAAO;aACJ,IAAI,CACH,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnB,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,MAAM;YACf,IAAI,MAAM,YAAY,WAAW;gBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;gBAClD,KAAI,CAAC,WAAW,EAAE,CAAC;SACzB,EAAC,CAAC;QAEL,MAAM,CAAC,MAAM;aACV,IAAI,CACH,MAAM;;;;QAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,aAAa,GAAA,EAAC,EACnF,gBAAgB,CAAC,IAAI,CAAC,CACvB;aACA,SAAS;;;;QAAC,UAAA,KAAK;YACd,IAAI,KAAK,YAAY,eAAe;gBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;gBACrD,KAAI,CAAC,WAAW,EAAE,CAAC;SACzB,EAAC,CAAC;KACN;;;;IAED,wCAAW;;;IAAX,eAAgB;;;;IAEhB,yCAAY;;;IAAZ;QAAA,iBAeC;QAdC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;YAChB,QAAQ,GAAG,WAAW;;;QAAC;YAC3B,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;gBAC3B,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;aAC1C;iBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;gBAClC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;aAC3B;iBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,GAAG,EAAE;gBACnC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;aAC3B;iBAAM;gBACL,aAAa,CAAC,QAAQ,CAAC,CAAC;aACzB;SACF,GAAE,GAAG,CAAC;QAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;;;;IAED,wCAAW;;;IAAX;QAAA,iBAQC;QAPC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,UAAU;;;QAAC;YACT,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB,GAAE,GAAG,CAAC,CAAC;KACT;;gBA5EF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,mMAIT;;iBAEF;;;;gBAXQ,OAAO;gBAFyB,MAAM;;;iCAe5C,KAAK;gCAGL,KAAK;4BAGL,KAAK;yBAGL,KAAK;;IA0DR,yBAAC;CA7ED,IA6EC;;;IAnEC,4CAC0C;;IAE1C,2CACuC;;IAEvC,uCAC2B;;IAE3B,oCACsG;;IAEtG,2CAA0B;;IAE1B,sCAAc;;;;;IAEF,qCAAwB;;;;;IAAE,oCAAsB;;;;;;;ACjC9D;IAEA;QAUE,gBAAW,GAAW,iBAAiB,CAAC;QAGxC,eAAU,GAAW,QAAQ,CAAC;QAM9B,YAAO,GAAY,KAAK,CAAC;QAGzB,aAAQ,GAAY,KAAK,CAAC;KAK3B;IAHC,sBAAI,iCAAI;;;;QAAR;YACE,OAAO,MAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAE,CAAC;SACjF;;;OAAA;;gBA1BF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,qMAIT;iBACF;;;8BAEE,KAAK;6BAGL,KAAK;4BAGL,KAAK;0BAGL,KAAK;2BAGL,KAAK;;IAMR,sBAAC;CA3BD,IA2BC;;;IAlBC,sCACwC;;IAExC,qCAC8B;;IAE9B,oCACkB;;IAElB,kCACyB;;IAEzB,mCAC0B;;;;;;;;ICHtB,iBAAiB,GAAG,GAAG;AAE7B;IAuFE,wBAAoB,QAAmB,EAAU,mBAAwC;QAArE,aAAQ,GAAR,QAAQ,CAAW;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAxChF,aAAQ,GAAY,KAAK,CAAC;QAE1B,eAAU,GAAW,EAAE,CAAC;QAExB,SAAI,GAAc,IAAI,CAAC;QAMtB,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAE5C,SAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;QAgB1C,aAAQ,GAAY,KAAK,CAAC;QAE1B,UAAK,GAAY,KAAK,CAAC;QAEvB,cAAS,GAAY,KAAK,CAAC;QAE3B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,aAAQ,GAAY,KAAK,CAAC;QAE1B,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAE8D;IAlF7F,sBACI,mCAAO;;;;QADX;YAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;;;QACD,UAAY,KAAc;YAA1B,iBAwBC;YAvBC,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO;YAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,KAAK,EAAE;oBACT,UAAU;;;oBAAC;wBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB,GAAE,CAAC,CAAC,CAAC;iBACP;gBACD,OAAO;aACR;YAED,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBACxE,UAAU;;;gBAAC;oBACT,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACvB,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB,GAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;aAC5B;SACF;;;OAzBA;IA2BD,sBACI,gCAAI;;;;QADR;YAEE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;;QACD,UAAS,KAAc;YACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,eAAe,EAAE;gBAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;aAChC;YAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;;;OAPA;;;;IAmDD,oCAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;;;;;IAED,mCAAU;;;;IAAV,UAAW,KAAc;QAAzB,iBAUC;QATC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,KAAK;cACD,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;iBAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;;YAAC,UAAA,CAAC,IAAI,QAAC,KAAI,CAAC,QAAQ,GAAG,IAAI,IAAC,EAAC;eACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;KAC7B;;;;IAED,+BAAM;;;IAAN;QAAA,iBAsBC;QArBC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;aACzB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,YAAY,CAAC,GAAG,CAAC,EACjB,MAAM;;;;QAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,QAAQ,GAAA,EAAC,CAC9E;aACA,SAAS;;;;QAAC,UAAA,CAAC;YACV,KAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAC,CAAC;QAEL,UAAU;;;QAAC;YACT,IAAI,CAAC,KAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;iBAC5C,IAAI,CACH,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,EACxB,MAAM;;;YAAC,cAAM,OAAA,CAAC,EAAE,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,YAAY,CAAC,GAAA,EAAC,CACrD;iBACA,SAAS;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,EAAC,CAAC;SAClC,GAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;;;;IAED,8BAAK;;;IAAL;QAAA,iBAyBC;QAxBC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;;YAElC,KAAK,GAAG,YAAY,CACxB,oBAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAiB,UAAU,CAC7F;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YAEpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,mBAAmB;iBACrB,IAAI,CAAC,4DAA4D,EAAE,wBAAwB,CAAC;iBAC5F,SAAS;;;;YAAC,UAAC,MAAsB;gBAChC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS;;;gBAAC;oBACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACjC,EAAC,CAAC;gBAEH,IAAI,MAAM,8BAA6B;oBACrC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB;aACF,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;;gBA1JF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,6vCAAqC;iBACtC;;;;gBAlBC,SAAS;gBAQF,mBAAmB;;;0BAYzB,KAAK;uBA8BL,KAAK;2BAYL,KAAK;6BAEL,KAAK;uBAEL,KAAK;yBAEL,KAAK;4BAEL,KAAK;gCAEL,MAAM;uBAEN,MAAM;4BAEN,YAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;0BAE3C,YAAY,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;4BAEzC,YAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;2BAE3C,YAAY,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;4BAE5D,YAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;+BAEtE,SAAS,SAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;6BAE9C,YAAY,SAAC,YAAY;;IAkF5B,qBAAC;CA3JD,IA2JC;;;IA5GC,kCAAmC;;IAEnC,oCAAiC;;IAEjC,8BAAgC;;IAEhC,gCAAwB;;IAExB,mCAA2B;;IAE3B,uCAAsD;;IAEtD,8BAA0C;;IAE1C,mCAA0E;;IAE1E,iCAAsE;;IAEtE,mCAA0E;;IAE1E,kCAAyF;;IAEzF,mCAAoG;;IAEpG,sCAA0E;;IAE1E,oCAAuC;;IAEvC,kCAA0B;;IAE1B,+BAAuB;;IAEvB,mCAA2B;;IAE3B,4CAAoC;;IAEpC,kCAA0B;;IAE1B,kCAA+B;;;;;IAEnB,kCAA2B;;;;;IAAE,6CAAgD;;;;;;AAsE3F,SAAS,YAAY,CAAC,KAAe;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;;;;;IAC7B,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,GAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAE,GAC3G,EAAE,CACH,CAAC;CACH;;;;;AAED,SAAS,UAAU,CAAC,KAAoB;IACtC,OAAO,KAAK,CAAC,SAAS;;;;IAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;CACtF;;;;;;AC7LD;IAEA;KAsB8B;;gBAtB7B,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,y0BAkBT;iBACF;;IAC4B,qBAAC;CAtB9B;;;;;;ACFA,aAAe,miCAyEd,CAAC;;;;;;ACzEF;IAkBM,QAAQ,GAAG;IACf,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,kCAAkC;KAC5C;IAED,eAAe,EAAE;QACf,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,2EAA2E;KACrF;IAED,eAAe,EAAE;QACf,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,gDAAgD;KAC1D;IAED,eAAe,EAAE;QACf,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,uDAAuD;KACjE;CACF;AAED;IAEE,sBACU,OAAgB,EAChB,KAAY,EACZ,mBAAwC,EACxC,MAAsB,EACtB,KAA+B,EAC/B,eAAiC,EACjC,QAAkB;QAP5B,iBAyDC;QAxDS,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAAO;QACZ,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAgB;QACtB,UAAK,GAAL,KAAK,CAA0B;QAC/B,oBAAe,GAAf,eAAe,CAAkB;QACjC,aAAQ,GAAR,QAAQ,CAAU;QAE1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;;;;QAAC,UAAA,GAAG;YACpD,IAAA,gBAA4C,EAA5C,kDAA4C;;gBAC9C,IAAI,GAAG,GAAG;;;YAAC,cAAM,OAAA,oBAAC,GAAG,IAAuB,KAAK,CAAC,KAAK,GAAA,GAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;YAE7F,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;;oBAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBAEtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACtB,aAAa,CAAC,SAAS;;;oBAAC;wBACtB,KAAI,CAAC,eAAe,EAAE,CAAC;qBACxB,EAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,QAAQ,oBAAC,GAAG,IAAuB,MAAM;oBACvC,KAAK,GAAG;wBACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;wBAAC;4BAC3F,OAAA,KAAI,CAAC,eAAe,EAAE;yBAAA,EACvB,CAAC;wBACF,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,oBAAoB,CAAC;4BACxB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;4BACvC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;yBAC1C,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBACnF,MAAM;oBACR,KAAK,GAAG;wBACN,KAAI,CAAC,oBAAoB,CAAC;4BACxB,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,wCAAwC;yBAClD,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,oBAAC,GAAG,IAAuB,UAAU,KAAK,eAAe,EAAE;4BAC7D,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,eAAe;gCACtB,OAAO,EAAE,wCAAwC;6BAClD,CAAC,CAAC;yBACJ;wBACD,MAAM;oBACR;wBACE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC7E,MAAM;iBACT;aACF;SACF,EAAC,CAAC;KACJ;;;;;;;;IAEO,gCAAS;;;;;;;IAAjB,UAAkB,OAAgB,EAAE,KAAc,EAAE,IAAU;QAC5D,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;aACtB;iBAAM;gBACL,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;aACzD;SACF;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;YACpD,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;;;;;IAEO,sCAAe;;;;IAAvB;QACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;YACrC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;SACzE,CAAC,CACH,CAAC;KACH;;;;;IAED,2CAAoB;;;;IAApB,UAAqB,QAAiC;;YAC9C,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;YAC1D,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;;YAEnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE7F,KAAK,IAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;YACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAC7C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC5C;SACF;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAC,YAAY,CAAC,QAAQ,IAA0B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC;QACzD,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;KACnC;;gBAvGF,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;gBA7BzB,OAAO;gBAAsB,KAAK;gBAIlC,mBAAmB;gBAZ1B,cAAc;gBACd,wBAAwB;gBAIxB,gBAAgB;gBADhB,QAAQ;;;uBAPV;CAwCA,IAwGC;;;;;;IArGG,+BAAwB;;;;;IACxB,6BAAoB;;;;;IACpB,2CAAgD;;;;;IAChD,8BAA8B;;;;;IAC9B,6BAAuC;;;;;IACvC,uCAAyC;;;;;IACzC,gCAA0B;;;;;;;;ICpCgBA,4CAAc;IAV5D;;KA4BC;IAjBC,sBAAI,+CAAS;;;;QAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG;;;;YAAC,UAAA,KAAK;gBACpC,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;;oBAE3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;gBAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACtF;iBACH;gBAED,OAAO,KAAK,CAAC;aACd,EAAC,CAAC;SACJ;;;OAAA;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oLAIT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;iBACtC;;IAmBD,+BAAC;CAAA,CAlB6CC,0BAAc;;;;;;ACb5D;;;;AAkBA,SAAgB,YAAY,CAAC,QAAkB;;QACvC,EAAE;;;IAAG;;YACH,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAEtE,OAAO,QAAQ,CACb,eAAe,CAAC,IAAI,CAClB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,CACb,qDACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACjB,CAAA;IAED,OAAO,EAAE,CAAC;CACX;AAED;IAAA;KA8CC;;;;IAdQ,yBAAO;;;IAAd;QACE,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;oBAC9B,UAAU,EAAE,YAAY;iBACzB;gBACD,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE;aACtD;SACF,CAAC;KACH;;gBA7CF,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,qBAAqB,CAAC,OAAO,CAAC;4BAC5B,cAAc,EAAE,aAAa;4BAC7B,UAAU,EAAE;gCACV,KAAK,EAAE,+CAA+C;gCACtD,GAAG,EAAE,sEAAsE;gCAC3E,SAAS,EAAE,iFAAiF;gCAC5F,GAAG,EAAE,sGAAsG;gCAC3G,SAAS,EAAE,sGAAsG;gCACjH,QAAQ,EAAE,kCAAkC;gCAC5C,gBAAgB,EAAE,kDAAkD;6BACrE;4BACD,aAAa,EAAE,wBAAwB;yBACxC,CAAC;qBACH;oBACD,YAAY,EAAE;wBACZ,eAAe;wBACf,qBAAqB;wBACrB,cAAc;wBACd,cAAc;wBACd,cAAc;wBACd,kBAAkB;wBAClB,wBAAwB;qBACzB;oBACD,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;oBACrH,eAAe,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;iBAC5D;;IAgBD,wBAAC;CA9CD;;;;;;ACpCA;AACA,IAAa,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE;IACxD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/F,CAAC;;;;;;;;;;;;;;;;ACHF,IAAiB,YAAY,CAO5B;AAPD,WAAiB,YAAY;;;;IAC3B,sBAKC;;;;QAJC,gCAAwB;;QACxB,6BAAqB;;QACrB,6BAAoB;;QACpB,0BAAiB;;CAEpB,EAPgB,YAAY,KAAZ,YAAY,QAO5B;;;;;;ACTD,IAAiB,OAAO,CAkBvB;AAlBD,WAAiB,OAAO;;;;IACtB,sBAQC;;;;QAPC,qBAAS;;QACT,2BAAmB;;QACnB,uBAAc;;QACd,yBAAiB;;QACjB,uBAAW;;QACX,4CAAqC;;QACrC,0CAAmC;;CAUtC,EAlBgB,OAAO,KAAP,OAAO,QAkBvB;;;;;;;;;;;;ICbmCD,kCAAe;IADnD;;KAKC;;;;;IAHC,+BAAM;;;;IAAN,UAAO,QAAmB;QAA1B,iBAEC;QADC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;QAAC,UAAA,OAAO,IAAI,mBAAG,GAAG,EAAE,KAAI,CAAC,GAAG,IAAK,OAAO,KAAG,EAAC,CAAC,CAAC;KACtF;;gBAJF,UAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;yBAJlC;CASC,CAJmC,eAAe;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts index a3ece15409..bbc4eb683a 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts @@ -1,15 +1,8 @@ -import { OnInit } from '@angular/core'; -import { Actions } from '@ngxs/store'; -export declare class ButtonComponent implements OnInit { - private actions; +export declare class ButtonComponent { buttonClass: string; buttonType: string; iconClass: string; loading: boolean; disabled: boolean; - requestType: string | string[]; - requestURLContainSearchValue: string; readonly icon: string; - constructor(actions: Actions); - ngOnInit(): void; } diff --git a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts index cfc632a8cf..1d18808ead 100644 --- a/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/contants/styles.d.ts @@ -1,2 +1,2 @@ -declare const _default: "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 200px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Date: Thu, 15 Aug 2019 20:13:17 +0300 Subject: [PATCH 048/149] v0.8.2 --- npm/lerna.json | 2 +- npm/ng-packs/dist/account/package.json | 4 ++-- npm/ng-packs/dist/core/package.json | 2 +- npm/ng-packs/dist/identity/package.json | 4 ++-- npm/ng-packs/dist/permission-management/package.json | 4 ++-- npm/ng-packs/dist/tenant-management/package.json | 4 ++-- npm/ng-packs/dist/theme-basic/package.json | 4 ++-- npm/ng-packs/dist/theme-shared/package.json | 4 ++-- npm/packs/chart.js/package.json | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/npm/lerna.json b/npm/lerna.json index c8098eb991..e3565a293f 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.8.1", + "version": "0.8.2", "packages": [ "ng-packs/dist/*", "packs/*" diff --git a/npm/ng-packs/dist/account/package.json b/npm/ng-packs/dist/account/package.json index 2d03865487..89ccbcd4ff 100644 --- a/npm/ng-packs/dist/account/package.json +++ b/npm/ng-packs/dist/account/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.account", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.2", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/core/package.json b/npm/ng-packs/dist/core/package.json index fb387a2b25..fd73a03043 100644 --- a/npm/ng-packs/dist/core/package.json +++ b/npm/ng-packs/dist/core/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.core", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { "@ngxs/router-plugin": "^3.5.0", "@ngxs/storage-plugin": "^3.5.0", diff --git a/npm/ng-packs/dist/identity/package.json b/npm/ng-packs/dist/identity/package.json index 013f9359d7..4b1cfcd9a1 100644 --- a/npm/ng-packs/dist/identity/package.json +++ b/npm/ng-packs/dist/identity/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.identity", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.permission-management": "^0.8.0", + "@abp/ng.permission-management": "^0.8.2", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/permission-management/package.json b/npm/ng-packs/dist/permission-management/package.json index 32fe9f3035..4168f5b7d7 100644 --- a/npm/ng-packs/dist/permission-management/package.json +++ b/npm/ng-packs/dist/permission-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.permission-management", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.2", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/tenant-management/package.json b/npm/ng-packs/dist/tenant-management/package.json index f238c4641d..ff97cfb8b9 100644 --- a/npm/ng-packs/dist/tenant-management/package.json +++ b/npm/ng-packs/dist/tenant-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.tenant-management", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.2", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-basic/package.json b/npm/ng-packs/dist/theme-basic/package.json index d38574f664..7e402ff1c6 100644 --- a/npm/ng-packs/dist/theme-basic/package.json +++ b/npm/ng-packs/dist/theme-basic/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.basic", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.2", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-shared/package.json b/npm/ng-packs/dist/theme-shared/package.json index df90956b84..2620c5ed0b 100644 --- a/npm/ng-packs/dist/theme-shared/package.json +++ b/npm/ng-packs/dist/theme-shared/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.shared", - "version": "0.8.0", + "version": "0.8.2", "dependencies": { - "@abp/ng.core": "^0.8.0", + "@abp/ng.core": "^0.8.2", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", "@ngx-validate/core": "^0.0.4", diff --git a/npm/packs/chart.js/package.json b/npm/packs/chart.js/package.json index bd88b3f957..9d0ac13e21 100644 --- a/npm/packs/chart.js/package.json +++ b/npm/packs/chart.js/package.json @@ -1,5 +1,5 @@ { - "version": "0.8.1", + "version": "0.8.2", "name": "@abp/chart.js", "publishConfig": { "access": "public" From f608d8b5f093d8a204c5e2004a8247baa8f9841b Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 15 Aug 2019 20:28:08 +0300 Subject: [PATCH 049/149] pgrade @abp npm dependencies to latest version --- .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 18 +- .../package.json | 2 +- .../yarn.lock | 192 ++++++------ .../app/Volo.BloggingTestApp/package.json | 4 +- .../app/Volo.BloggingTestApp/yarn.lock | 276 +++++++++--------- .../Volo.ClientSimulation.Demo/package.json | 2 +- .../demo/Volo.ClientSimulation.Demo/yarn.lock | 206 ++++++------- modules/docs/app/VoloDocs.Web/package.json | 4 +- modules/docs/app/VoloDocs.Web/yarn.lock | 264 ++++++++--------- .../Acme.BookStore.HttpApi.Host/package.json | 2 +- .../src/Acme.BookStore.HttpApi.Host/yarn.lock | 206 ++++++------- .../src/Acme.BookStore.Web/package.json | 2 +- .../src/Acme.BookStore.Web/yarn.lock | 206 ++++++------- .../src/DashboardDemo.Web/package.json | 4 +- .../src/DashboardDemo.Web/yarn.lock | 213 +++++++------- .../applications/AuthServer.Host/package.json | 2 +- .../applications/AuthServer.Host/yarn.lock | 206 ++++++------- .../BackendAdminApp.Host/package.json | 2 +- .../BackendAdminApp.Host/yarn.lock | 206 ++++++------- .../PublicWebSite.Host/package.json | 4 +- .../applications/PublicWebSite.Host/yarn.lock | 276 +++++++++--------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- .../package.json | 2 +- .../MyCompanyName.MyProjectName.Web/yarn.lock | 206 ++++++------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- .../package.json | 2 +- .../yarn.lock | 206 ++++++------- 35 files changed, 1880 insertions(+), 1873 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index ea061c4bd8..38602ac1e7 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -43,17 +43,17 @@ namespace Volo.Abp.Cli.Commands public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { - await UpdateNugetPackages(commandLineArgs); + //await UpdateNugetPackages(commandLineArgs); UpdateNpmPackages(); - var options = commandLineArgs.Options - .Select(x => x.Key).ToList(); - await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto - { - Tool = _options.ToolName, - Command = commandLineArgs.Command, - Options = _jsonSerializer.Serialize(options) - }); + //var options = commandLineArgs.Options + // .Select(x => x.Key).ToList(); + //await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto + //{ + // Tool = _options.ToolName, + // Command = commandLineArgs.Command, + // Options = _jsonSerializer.Serialize(options) + //}); } private void UpdateNpmPackages() 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 e21bd73f90..9aff9ba3f2 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": "^0.6.6", + "@abp/aspnetcore.mvc.ui.theme.shared": "^0.8.0", "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 4a9ada37cb..4790bcac53 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,28 +2,28 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -32,121 +32,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index 3db73df6d7..41bc04f901 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": "^0.6.6", - "@abp/blogging": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0", + "@abp/blogging": "^0.8.0" } } \ 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 d1087fdd23..bd5ea4eca3 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,172 +39,172 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/blogging@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.6.tgz#da2cf4f725f629ef7af3afd312c849423875cd95" - integrity sha512-4bhvGG42IyuWlqmlOQYa2OT8+97HHsugJ66wGMZSFr3Y0t/Y39hlpB2eHRM/q3vddynj/dDCyWLARdRTD4pzJg== +"@abp/blogging@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.8.0.tgz#21d4a904be7657bfa7cd5b769b973d83e63f1242" + integrity sha512-V9UDSctX7hq9goYBN3sMvFGGGgs6H5jj0QScrErMfjH2YV1EwmaigvoREug/hxzOhvO3O4HpiuTBOP5WGVztJQ== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - "@abp/owl.carousel" "^0.6.5" - "@abp/tui-editor" "^0.6.5" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + "@abp/owl.carousel" "^0.8.0" + "@abp/tui-editor" "^0.8.0" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/codemirror@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.5.tgz#776df36d5ff1181a993785d5515faf953ba20e67" - integrity sha512-pkBAX/s9L/npJUDzJ7jyfWpqJmTcrGQZkWkQPuy/LOVK/Mwv/HPeK4VyvJ9qSP/G47GoLpmFNFqbcyTxP8KGPg== +"@abp/codemirror@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.8.0.tgz#f68101d95239d91e0c93a9da0b5ec6fc8e4efc29" + integrity sha512-mYuCLVsGmB0wHE/vHXLRfo67UgmXqGXmyFvYcjoUdUsp8SMgJnfUgiKXNugWJ0TjTi6VhU8/9+7HgrL6dvG7hA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" codemirror "^5.38.0" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/highlight.js@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.5.tgz#86e978af55e970661e4f318e31dc86446d8f7851" - integrity sha512-x0bPx8xNNaWV5VlWY8BWG3aJCvRWk5QwlQa8lkRSjrxVxdKFRA9oLk1vChtSIDf1hUyrEFx5aXipfbtLibOH2Q== +"@abp/highlight.js@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.8.0.tgz#50950d4072f3b99bd33247d4065d4dbbda96bfa5" + integrity sha512-s2AEhSLkuOJEKslkcNBdM8Bj7IgNm/XSKYFIEqo+1zu6GXlXAXDFIGTJttlAmLs5gWj184hZlHCDI+S6ujL6Hw== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.5.tgz#773648c5d2fd7c6a20fac080ae88a170e83802ce" - integrity sha512-y7CIoBs4K/b5dNeZeQXKwIlIx0/hGGJ87v1sxIHWR+UH9+vNoX5PR3HRyMm4hpcsWpLcUqZ/bAVMR5IPysNKNA== +"@abp/markdown-it@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.8.0.tgz#fc8979fcbabed40e0bef0a506ad748eaa98f8cce" + integrity sha512-YblkkKp934ko64d1N6bt6EI5d0YWXXpW3DcGBaU2L5i/O+nVn71U4rNVhvCyQ4o10CvYyG7ObXOTkCNnN1zGCw== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" markdown-it "^8.4.1" -"@abp/owl.carousel@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.5.tgz#bad8b8d54a572723a27e7bcca375aabb31671bac" - integrity sha512-pqfprY8g3mW1dxyFiGIicE9gcmYTUeCLJfdGtL/08hxZWxUTULPSe0ml417IPBkJYYc2EV1AVXRm+8bbvoduww== +"@abp/owl.carousel@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.8.0.tgz#eade683b88a6bfbc9f30b1e7e06fd8c52cb7b5ec" + integrity sha512-4cvPqjRnBAQs4eQlAVcsRxkgVqqkqsbLCYdj8/5Nmq47c/2FjfNQE5Alh/nPMB3HOHumYu+4ukHWZ8wE96K5XQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" owl.carousel "^2.3.4" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" -"@abp/tui-editor@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.5.tgz#1ea0ccb9f94734539b7ee23faf4b4a01d0f8ea51" - integrity sha512-KJ1h8nAb1ze7pqdzWIiDjGpw8N2IjwIogrODgRy8qRZ6m0tQwBROwQ0BZGA6eMNmBj3c2+37JstXuK5CYYgxJw== +"@abp/tui-editor@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.8.0.tgz#56dbd0fd184c7602c1ef38dba3963f9671bc297a" + integrity sha512-3/nyWzCSdZQ/TZ1CT2MKNPrnCfeA6xRqmGALcLwkeuJRYOBgeogRcDbqXwfGO4LEzEMbrvzxxcwfmC5MrQsGpA== dependencies: - "@abp/codemirror" "^0.6.5" - "@abp/highlight.js" "^0.6.5" - "@abp/jquery" "^0.6.5" - "@abp/markdown-it" "^0.6.5" + "@abp/codemirror" "^0.8.0" + "@abp/highlight.js" "^0.8.0" + "@abp/jquery" "^0.8.0" + "@abp/markdown-it" "^0.8.0" tui-editor "^1.2.6" "@types/codemirror@0.0.71": diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index a756355d93..d47cf9a694 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 cc9aad8182..f2df994d21 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index 075c2e0f70..105d2cca1f 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": "^0.6.6", - "@abp/docs": "^0.6.5" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0", + "@abp/docs": "^0.8.0" } } \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index 84a97d17b1..6ed98273a2 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,43 +2,43 @@ # yarn lockfile v1 -"@abp/anchor-js@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-0.6.5.tgz#d298a74ac099030013d98620c2f36b35d51716a9" - integrity sha512-dDwrY6f1ZdznHnnHUhpfJ7i68Jj6YmsaK+GZOsCA+JxrJVwIMvIYsbUbTOtFvXMQfDGj7RHqs8JaIhlmf+lUmA== +"@abp/anchor-js@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-0.8.0.tgz#0abba1dbbcc93bb2257d4077830ac29a14768229" + integrity sha512-H2SyNLw8BVX+dO4hxUd5KDlymJu9yKJS2I+URbdmIDporNJQdTQI7W2qFvIjMEoRukWt6/XIJKC1cn+o/vDotg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" anchor-js "^4.1.1" -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -47,156 +47,156 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/clipboard@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-0.6.5.tgz#e8fc5712d3353d1a0ca83e892c12ca8d0095d655" - integrity sha512-mpqjiJ9V6QBURhTQKf1qcuMvxzNsBJs2KCjkQhvRYNGaaXt49PmUJcWo0QmexZTgjLFiT+evDcMvm87GZybtzQ== +"@abp/clipboard@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-0.8.0.tgz#c0b7c047ccbbb28229b8c8ed9b30388fad062f5d" + integrity sha512-sh2QQ0aazI8R5E8aGFhb2HoZAJHqrXVNFSFOVJ2DyZiuNNHFUj3t1BzijVLXiuctUqkMxHWJrOc8yOlGmJtkOQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" clipboard "^2.0.4" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/docs@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-0.6.5.tgz#b9836f5068077a71d298cd02d0f8ca0b75215f8e" - integrity sha512-/CLegDWMXAtu45htZQDQbBZzoSDXKqomvQ5vZll9wfE+3YN9jwxat7X7ueAK7lcejOETbKGCrHJHT80RuRkqyA== +"@abp/docs@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-0.8.0.tgz#a362ecc4a772296ad0ef5178b5d2283056cdc58d" + integrity sha512-+99y8xbq9fvmiP0hZW/UCdQ2DMCzkt7DlTFoOU8du6tj4Gv9JltzkByCacrxppKn60VAeN7lB0OhHerlnjjEVQ== dependencies: - "@abp/anchor-js" "^0.6.5" - "@abp/clipboard" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/popper.js" "^0.6.5" - "@abp/prismjs" "^0.6.5" + "@abp/anchor-js" "^0.8.0" + "@abp/clipboard" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/popper.js" "^0.8.0" + "@abp/prismjs" "^0.8.0" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/popper.js@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-0.6.5.tgz#f04f99b16870accd5f950eb00b29c2e20bc120ac" - integrity sha512-beDZqvW1RXGsjbr/dcZhpzwo4NR+icyr7TpeKKBzMTyN1afYleee6YheNB6b4brzty3YZwIMkdh6vygBub+lRQ== +"@abp/popper.js@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-0.8.0.tgz#563a66b3204b79252898008a68b22921c9400536" + integrity sha512-IaCtsRGGz6XkbVeVjQp5BOxmgIpHwdcZlLDSn9il4vxoL6M7nAnZAZP7lWsLFq/iomhOk7mSxLm64sAsSRHYmA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" popper.js "^1.14.6" -"@abp/prismjs@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-0.6.5.tgz#1a72942287c33ff8f61075e645e6f18020a0011a" - integrity sha512-aFmD1PuNGNowJSGtr3CdI2z3kCnYO9hUyK5jX/Lx+GONuSwYz5/a41bt4I4lmOzBBus2SQy8E6p3tIopWK63zQ== +"@abp/prismjs@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-0.8.0.tgz#3092ad94c972520cbf31ab6e9e438de13ae1e1c0" + integrity sha512-tnnGOcM/6GqK/Tz1ZXNiSDC+sW6d7o6shNjEXSiaLcwxMJiAqP2hkY/FGp6pPvcnGPAkNT5KZlLSoZ6Mlr0ARQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" prismjs "^1.15.0" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json index 91ca77a88b..577ec7abea 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ No newline at end of file diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock index 5b3ba1f94e..264e02c8a7 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/BookStore/src/Acme.BookStore.Web/package.json b/samples/BookStore/src/Acme.BookStore.Web/package.json index 91ca77a88b..577ec7abea 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/package.json +++ b/samples/BookStore/src/Acme.BookStore.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ No newline at end of file diff --git a/samples/BookStore/src/Acme.BookStore.Web/yarn.lock b/samples/BookStore/src/Acme.BookStore.Web/yarn.lock index 5b3ba1f94e..264e02c8a7 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/yarn.lock +++ b/samples/BookStore/src/Acme.BookStore.Web/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/package.json b/samples/DashboardDemo/src/DashboardDemo.Web/package.json index 606f1fa89b..e7a6196206 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/package.json +++ b/samples/DashboardDemo/src/DashboardDemo.Web/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.6", - "@abp/chart.js": "^0.8.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0", + "@abp/chart.js": "^0.8.2" } } \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock b/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock index e2994f7199..d14de9dbe0 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock +++ b/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,128 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/chart.js@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@abp/chart.js/-/chart.js-0.8.2.tgz#e5764da1eacce39251effdc02c9d73d4fcdd5073" + integrity sha512-3m+oUQ7gQhOI8IBSRviMQ9mkh1hSvM6f321aw/Zw2GGi74K1W7gP54kaX64pjvBVBTLhsY9GDMTj/kuT+g8woQ== + dependencies: + chart.js "^2.8.0" + +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/package.json b/samples/MicroserviceDemo/applications/AuthServer.Host/package.json index 01b287a1b6..4f1ea85013 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 f87b264fb9..08c495f6da 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json index e53861c4ad..ff38880785 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 f87b264fb9..08c495f6da 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json b/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json index f0e43bd59b..bec2933dd6 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": "^0.6.6", - "@abp/blogging": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0", + "@abp/blogging": "^0.8.0" } } \ 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 1af84c2829..1552b3b0e7 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,172 +39,172 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/blogging@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.6.tgz#da2cf4f725f629ef7af3afd312c849423875cd95" - integrity sha512-4bhvGG42IyuWlqmlOQYa2OT8+97HHsugJ66wGMZSFr3Y0t/Y39hlpB2eHRM/q3vddynj/dDCyWLARdRTD4pzJg== +"@abp/blogging@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.8.0.tgz#21d4a904be7657bfa7cd5b769b973d83e63f1242" + integrity sha512-V9UDSctX7hq9goYBN3sMvFGGGgs6H5jj0QScrErMfjH2YV1EwmaigvoREug/hxzOhvO3O4HpiuTBOP5WGVztJQ== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - "@abp/owl.carousel" "^0.6.5" - "@abp/tui-editor" "^0.6.5" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + "@abp/owl.carousel" "^0.8.0" + "@abp/tui-editor" "^0.8.0" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/codemirror@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.5.tgz#776df36d5ff1181a993785d5515faf953ba20e67" - integrity sha512-pkBAX/s9L/npJUDzJ7jyfWpqJmTcrGQZkWkQPuy/LOVK/Mwv/HPeK4VyvJ9qSP/G47GoLpmFNFqbcyTxP8KGPg== +"@abp/codemirror@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.8.0.tgz#f68101d95239d91e0c93a9da0b5ec6fc8e4efc29" + integrity sha512-mYuCLVsGmB0wHE/vHXLRfo67UgmXqGXmyFvYcjoUdUsp8SMgJnfUgiKXNugWJ0TjTi6VhU8/9+7HgrL6dvG7hA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" codemirror "^5.38.0" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/highlight.js@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.5.tgz#86e978af55e970661e4f318e31dc86446d8f7851" - integrity sha512-x0bPx8xNNaWV5VlWY8BWG3aJCvRWk5QwlQa8lkRSjrxVxdKFRA9oLk1vChtSIDf1hUyrEFx5aXipfbtLibOH2Q== +"@abp/highlight.js@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.8.0.tgz#50950d4072f3b99bd33247d4065d4dbbda96bfa5" + integrity sha512-s2AEhSLkuOJEKslkcNBdM8Bj7IgNm/XSKYFIEqo+1zu6GXlXAXDFIGTJttlAmLs5gWj184hZlHCDI+S6ujL6Hw== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.5.tgz#773648c5d2fd7c6a20fac080ae88a170e83802ce" - integrity sha512-y7CIoBs4K/b5dNeZeQXKwIlIx0/hGGJ87v1sxIHWR+UH9+vNoX5PR3HRyMm4hpcsWpLcUqZ/bAVMR5IPysNKNA== +"@abp/markdown-it@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.8.0.tgz#fc8979fcbabed40e0bef0a506ad748eaa98f8cce" + integrity sha512-YblkkKp934ko64d1N6bt6EI5d0YWXXpW3DcGBaU2L5i/O+nVn71U4rNVhvCyQ4o10CvYyG7ObXOTkCNnN1zGCw== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" markdown-it "^8.4.1" -"@abp/owl.carousel@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.5.tgz#bad8b8d54a572723a27e7bcca375aabb31671bac" - integrity sha512-pqfprY8g3mW1dxyFiGIicE9gcmYTUeCLJfdGtL/08hxZWxUTULPSe0ml417IPBkJYYc2EV1AVXRm+8bbvoduww== +"@abp/owl.carousel@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.8.0.tgz#eade683b88a6bfbc9f30b1e7e06fd8c52cb7b5ec" + integrity sha512-4cvPqjRnBAQs4eQlAVcsRxkgVqqkqsbLCYdj8/5Nmq47c/2FjfNQE5Alh/nPMB3HOHumYu+4ukHWZ8wE96K5XQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" owl.carousel "^2.3.4" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" -"@abp/tui-editor@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.5.tgz#1ea0ccb9f94734539b7ee23faf4b4a01d0f8ea51" - integrity sha512-KJ1h8nAb1ze7pqdzWIiDjGpw8N2IjwIogrODgRy8qRZ6m0tQwBROwQ0BZGA6eMNmBj3c2+37JstXuK5CYYgxJw== +"@abp/tui-editor@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.8.0.tgz#56dbd0fd184c7602c1ef38dba3963f9671bc297a" + integrity sha512-3/nyWzCSdZQ/TZ1CT2MKNPrnCfeA6xRqmGALcLwkeuJRYOBgeogRcDbqXwfGO4LEzEMbrvzxxcwfmC5MrQsGpA== dependencies: - "@abp/codemirror" "^0.6.5" - "@abp/highlight.js" "^0.6.5" - "@abp/jquery" "^0.6.5" - "@abp/markdown-it" "^0.6.5" + "@abp/codemirror" "^0.8.0" + "@abp/highlight.js" "^0.8.0" + "@abp/jquery" "^0.8.0" + "@abp/markdown-it" "^0.8.0" tui-editor "^1.2.6" abbrev@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 91ca77a88b..577ec7abea 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 5b3ba1f94e..264e02c8a7 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,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 45c32d5410..b88580ee1c 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 236d66b41b..3e63f02fd4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 91ca77a88b..577ec7abea 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 236d66b41b..3e63f02fd4 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,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 91ca77a88b..577ec7abea 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 5b3ba1f94e..264e02c8a7 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 45c32d5410..b88580ee1c 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 236d66b41b..3e63f02fd4 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 91ca77a88b..577ec7abea 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": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 236d66b41b..3e63f02fd4 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,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: 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 fcdf70d75a..05c8ba7ea0 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": "demo-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.6" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0" } } \ 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 e8ea374658..81dad6d559 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,35 +2,35 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.6.tgz#5a71e7f578092cc4550bb8295996e9b1d1b3f1be" - integrity sha512-1yFqyxqvfXBeNyOyBvKgL+DB/T8q0eWlFJ1/6ifCsDQ6nvgBqFWFwiRLB1Rb18q43o/1warGBTXdNb//C3jbdA== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.6" - -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.6.tgz#390625c457390ff399e8230c155f53c2f0bb3bcd" - integrity sha512-+qs1KoOfgbc6uKthZVVrWPyUgXQt6PXS3ugPT8IaqKVCLYRKTEOUQpOugMajnP+GZlw7toFwsN8jjk4T3AIsvQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.5" - "@abp/datatables.net-bs4" "^0.6.5" - "@abp/font-awesome" "^0.6.5" - "@abp/jquery-form" "^0.6.5" - "@abp/jquery-validation-unobtrusive" "^0.6.5" - "@abp/lodash" "^0.6.5" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" - "@abp/select2" "^0.6.5" - "@abp/sweetalert" "^0.6.5" - "@abp/timeago" "^0.6.5" - "@abp/toastr" "^0.6.5" - -"@abp/aspnetcore.mvc.ui@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.6.4.tgz#db28bce4eaf57b28e8a4465373809976cea6b950" - integrity sha512-wPDPtrxY6sRksxrmOZE9fYLmgOD7eCTL8gugLGsp6rXZUykYAMmKhyswN3BP/Vml08RM2CvcMiz+AC3H75vldA== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9" + integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56" + integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA== + dependencies: + "@abp/aspnetcore.mvc.ui" "^0.8.0" + "@abp/bootstrap" "^0.8.0" + "@abp/datatables.net-bs4" "^0.8.0" + "@abp/font-awesome" "^0.8.0" + "@abp/jquery-form" "^0.8.0" + "@abp/jquery-validation-unobtrusive" "^0.8.0" + "@abp/lodash" "^0.8.0" + "@abp/malihu-custom-scrollbar-plugin" "^0.8.0" + "@abp/select2" "^0.8.0" + "@abp/sweetalert" "^0.8.0" + "@abp/timeago" "^0.8.0" + "@abp/toastr" "^0.8.0" + +"@abp/aspnetcore.mvc.ui@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5" + integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw== dependencies: ansi-colors "^3.2.4" extend-object "^1.0.0" @@ -39,121 +39,121 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" - integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== +"@abp/bootstrap@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb" + integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" bootstrap "^4.1.1" -"@abp/core@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" - integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== +"@abp/core@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14" + integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA== -"@abp/datatables.net-bs4@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" - integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== +"@abp/datatables.net-bs4@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38" + integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw== dependencies: - "@abp/datatables.net" "^0.6.5" + "@abp/datatables.net" "^0.8.0" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" - integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== +"@abp/datatables.net@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a" + integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" - integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== +"@abp/font-awesome@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1" + integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" font-awesome "^4.7.0" -"@abp/jquery-form@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" - integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== +"@abp/jquery-form@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c" + integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" - integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== +"@abp/jquery-validation-unobtrusive@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac" + integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q== dependencies: - "@abp/jquery-validation" "^0.6.5" + "@abp/jquery-validation" "^0.8.0" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" - integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== +"@abp/jquery-validation@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60" + integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" - integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== +"@abp/jquery@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2" + integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" jquery "^3.3.1" -"@abp/lodash@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" - integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== +"@abp/lodash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d" + integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" - integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== +"@abp/malihu-custom-scrollbar-plugin@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7" + integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" - integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== +"@abp/select2@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85" + integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" select2 "^4.0.5" -"@abp/sweetalert@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" - integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== +"@abp/sweetalert@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4" + integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug== dependencies: - "@abp/core" "^0.6.5" + "@abp/core" "^0.8.0" sweetalert "^2.1.0" -"@abp/timeago@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" - integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== +"@abp/timeago@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29" + integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" timeago "^1.6.3" -"@abp/toastr@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" - integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== +"@abp/toastr@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480" + integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ== dependencies: - "@abp/jquery" "^0.6.5" + "@abp/jquery" "^0.8.0" toastr "^2.1.4" abbrev@1: From a14aa1d8e32b72c240bb9806333cd861840c6951 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 15 Aug 2019 20:32:31 +0300 Subject: [PATCH 050/149] revert accidently pushed changes --- .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index 38602ac1e7..ea061c4bd8 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -43,17 +43,17 @@ namespace Volo.Abp.Cli.Commands public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { - //await UpdateNugetPackages(commandLineArgs); + await UpdateNugetPackages(commandLineArgs); UpdateNpmPackages(); - //var options = commandLineArgs.Options - // .Select(x => x.Key).ToList(); - //await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto - //{ - // Tool = _options.ToolName, - // Command = commandLineArgs.Command, - // Options = _jsonSerializer.Serialize(options) - //}); + var options = commandLineArgs.Options + .Select(x => x.Key).ToList(); + await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto + { + Tool = _options.ToolName, + Command = commandLineArgs.Command, + Options = _jsonSerializer.Serialize(options) + }); } private void UpdateNpmPackages() From 8ce98d11402b8e01dc02e8f9cb02d7937582b017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 20:57:40 +0300 Subject: [PATCH 051/149] Remove deleted Volo.Abp.AspNetCore.Mvc.UI.Dashboards package --- nupkg/common.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index 24a73876a7..26f9c571b0 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -35,7 +35,6 @@ $projects = ( "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling", "framework/src/Volo.Abp.AspNetCore.Mvc.UI", - "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards", "framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy", "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages", "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", From e6ebcf953d0f6c808a135150a0e7b9a67219d344 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 08:29:16 +0300 Subject: [PATCH 052/149] docs(blog): update post.md --- docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md index c915f508a5..408e94d6b4 100644 --- a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md +++ b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md @@ -16,9 +16,8 @@ Finally, ABP has a **SPA UI** option with the latest [Angular](https://angular.i We've created the template, document and infrastructure based on the latest Angular tools and trends: -* Uses [PrimeNG](https://www.primefaces.org/primeng/) as the main UI component library. You can use your favorite library, no problem, but pre-built modules works with PrimeNG components for datagrid and some other components. +* Uses [NgBootstrap](https://ng-bootstrap.github.io/) and [PrimeNG](https://www.primefaces.org/primeng/) as the UI component libraries. You can use your favorite library, no problem, but pre-built modules work with these libraries. * Uses [NGXS](https://ngxs.gitbook.io/ngxs/) as the state management library. -* ... Angular was the first SPA UI option, but it is not the last. After v1.0 release, we will start to work on a second UI option. Not decided yet, but candidates are Blazor, React and Vue.js. Waiting your feedback. You can thumb up using the following issues: From 64f9956d8d456e6a877952f1bed93a91a449dae4 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 16 Aug 2019 13:47:05 +0800 Subject: [PATCH 053/149] Upgrade to IdentityServer 2.5.2 --- .../Abp/IdentityServer/Clients/ClientConsts.cs | 2 ++ .../Volo.Abp.IdentityServer.Domain.csproj | 4 ++-- .../IdentityServer/ApiResources/ApiResource.cs | 3 +++ .../Volo/Abp/IdentityServer/Clients/Client.cs | 6 ++++++ .../IdentityResources/IdentityResource.cs | 4 ++++ ...ntityServerDbContextModelCreatingExtensions.cs | 15 ++++++++++++++- .../Volo.Abp.IdentityServer.Domain.Tests.csproj | 2 +- ...dentityServer.EntityFrameworkCore.Tests.csproj | 6 +++--- .../Volo.Abp.IdentityServer.MongoDB.Tests.csproj | 4 ++-- .../Volo.Abp.IdentityServer.TestBase.csproj | 4 ++-- 10 files changed, 39 insertions(+), 11 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientConsts.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientConsts.cs index 312a6d70ef..40cc90259b 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientConsts.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientConsts.cs @@ -21,5 +21,7 @@ public const int ClientClaimsPrefixMaxLength = 200; public const int PairWiseSubjectSaltMaxLength = 200; + + public const int UserCodeTypeMaxLength = 100; } } \ No newline at end of file diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo.Abp.IdentityServer.Domain.csproj b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo.Abp.IdentityServer.Domain.csproj index 01b2f8da5a..f642574118 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo.Abp.IdentityServer.Domain.csproj +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo.Abp.IdentityServer.Domain.csproj @@ -22,8 +22,8 @@
    - - + + diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs index 12865c653d..d2b1a630d4 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs @@ -24,6 +24,8 @@ namespace Volo.Abp.IdentityServer.ApiResources public virtual List UserClaims { get; protected set; } + public virtual Dictionary Properties { get; protected set; } + protected ApiResource() { @@ -45,6 +47,7 @@ namespace Volo.Abp.IdentityServer.ApiResources Secrets = new List(); Scopes = new List(); UserClaims = new List(); + Properties = new Dictionary(); Scopes.Add(new ApiScope(id, name, displayName, description)); } diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs index 35aaa20652..031aa86bfc 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs @@ -78,6 +78,12 @@ namespace Volo.Abp.IdentityServer.Clients public virtual string PairWiseSubjectSalt { get; set; } + public virtual int? UserSsoLifetime { get; set; } + + public virtual string UserCodeType { get; set; } + + public virtual int DeviceCodeLifetime { get; set; } = 300; + public virtual List AllowedScopes { get; set; } public virtual List ClientSecrets { get; set; } diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityResources/IdentityResource.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityResources/IdentityResource.cs index 574f3aa322..f5d6f6c39c 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityResources/IdentityResource.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityResources/IdentityResource.cs @@ -24,6 +24,8 @@ namespace Volo.Abp.IdentityServer.IdentityResources public virtual List UserClaims { get; set; } + public virtual Dictionary Properties { get; set; } + protected IdentityResource() { @@ -51,6 +53,7 @@ namespace Volo.Abp.IdentityServer.IdentityResources ShowInDiscoveryDocument = showInDiscoveryDocument; UserClaims = new List(); + Properties = new Dictionary(); } public IdentityResource(Guid id, IdentityServer4.Models.IdentityResource resource) @@ -64,6 +67,7 @@ namespace Volo.Abp.IdentityServer.IdentityResources Emphasize = resource.Emphasize; ShowInDiscoveryDocument = resource.ShowInDiscoveryDocument; UserClaims = resource.UserClaims.Select(claimType => new IdentityClaim(id, claimType)).ToList(); + Properties = resource.Properties.ToDictionary(x => x.Key, x => x.Value); } public virtual void AddUserClaim([NotNull] string type) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs index 67009a2deb..1c0adbc6b6 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs @@ -1,5 +1,7 @@ -using JetBrains.Annotations; +using System.Collections.Generic; +using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; +using Newtonsoft.Json; using Volo.Abp.EntityFrameworkCore.Modeling; using Volo.Abp.IdentityServer.ApiResources; using Volo.Abp.IdentityServer.Clients; @@ -38,6 +40,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore client.Property(x => x.BackChannelLogoutUri).HasMaxLength(ClientConsts.BackChannelLogoutUriMaxLength); client.Property(x => x.ClientClaimsPrefix).HasMaxLength(ClientConsts.ClientClaimsPrefixMaxLength); client.Property(x => x.PairWiseSubjectSalt).HasMaxLength(ClientConsts.PairWiseSubjectSaltMaxLength); + client.Property(x => x.UserCodeType).HasMaxLength(ClientConsts.UserCodeTypeMaxLength); client.HasMany(x => x.AllowedScopes).WithOne().HasForeignKey(x => x.ClientId).IsRequired(); client.HasMany(x => x.ClientSecrets).WithOne().HasForeignKey(x => x.ClientId).IsRequired(); @@ -164,6 +167,11 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore identityResource.Property(x => x.Name).HasMaxLength(IdentityResourceConsts.NameMaxLength).IsRequired(); identityResource.Property(x => x.DisplayName).HasMaxLength(IdentityResourceConsts.DisplayNameMaxLength); identityResource.Property(x => x.Description).HasMaxLength(IdentityResourceConsts.DescriptionMaxLength); + identityResource.Property(x => x.Properties) + .HasConversion( + d => JsonConvert.SerializeObject(d, Formatting.None), + s => JsonConvert.DeserializeObject>(s) + ); identityResource.HasMany(x => x.UserClaims).WithOne().HasForeignKey(x => x.IdentityResourceId).IsRequired(); }); @@ -186,6 +194,11 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore apiResource.Property(x => x.Name).HasMaxLength(ApiResourceConsts.NameMaxLength).IsRequired(); apiResource.Property(x => x.DisplayName).HasMaxLength(ApiResourceConsts.DisplayNameMaxLength); apiResource.Property(x => x.Description).HasMaxLength(ApiResourceConsts.DescriptionMaxLength); + apiResource.Property(x => x.Properties) + .HasConversion( + d => JsonConvert.SerializeObject(d, Formatting.None), + s => JsonConvert.DeserializeObject>(s) + ); apiResource.HasMany(x => x.Secrets).WithOne().HasForeignKey(x => x.ApiResourceId).IsRequired(); apiResource.HasMany(x => x.Scopes).WithOne().HasForeignKey(x => x.ApiResourceId).IsRequired(); diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj index ab9f99a791..b6c251bd3f 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests.csproj index 5a12ee07ed..10325012d9 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests.csproj +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj index 1c6030753c..0565ad07fc 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj @@ -19,8 +19,8 @@ - - + + diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo.Abp.IdentityServer.TestBase.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo.Abp.IdentityServer.TestBase.csproj index d0cb84ddba..60e1791280 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo.Abp.IdentityServer.TestBase.csproj +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo.Abp.IdentityServer.TestBase.csproj @@ -19,8 +19,8 @@ - - + + From 7a066c35e2cfd70f3f5fd667bfe1f52bf3ae8b2b Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 09:05:55 +0300 Subject: [PATCH 054/149] refactor(account): login & register component --- .../lib/components/login/login.component.html | 4 ++-- .../register/register.component.html | 4 ++-- .../components/register/register.component.ts | 22 ++++++++++++++++--- .../lib/components/button/button.component.ts | 4 ++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/npm/ng-packs/packages/account/src/lib/components/login/login.component.html b/npm/ng-packs/packages/account/src/lib/components/login/login.component.html index 170db44a8e..0b8f12b20c 100644 --- a/npm/ng-packs/packages/account/src/lib/components/login/login.component.html +++ b/npm/ng-packs/packages/account/src/lib/components/login/login.component.html @@ -28,9 +28,9 @@
    - +
    diff --git a/npm/ng-packs/packages/account/src/lib/components/register/register.component.html b/npm/ng-packs/packages/account/src/lib/components/register/register.component.html index b834d9c6c4..43ef7e2aaa 100644 --- a/npm/ng-packs/packages/account/src/lib/components/register/register.component.html +++ b/npm/ng-packs/packages/account/src/lib/components/register/register.component.html @@ -18,9 +18,9 @@ *
    - +
    {{ 'AbpAccount::Login' | abpLocalization }} diff --git a/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts b/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts index 8b47ed16a9..e70bc35b7f 100644 --- a/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts @@ -1,8 +1,12 @@ +import { ConfigState, GetAppConfiguration } from '@abp/ng.core'; import { ToasterService } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { throwError } from 'rxjs'; -import { catchError, finalize, take } from 'rxjs/operators'; +import { Navigate } from '@ngxs/router-plugin'; +import { Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; +import { from, throwError } from 'rxjs'; +import { catchError, finalize, switchMap, take, tap } from 'rxjs/operators'; import snq from 'snq'; import { RegisterRequest } from '../../models'; import { AccountService } from '../../services/account.service'; @@ -17,7 +21,16 @@ export class RegisterComponent { inProgress: boolean; - constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) { + constructor( + private fb: FormBuilder, + private accountService: AccountService, + private oauthService: OAuthService, + private store: Store, + private toasterService: ToasterService, + ) { + this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); + this.form = this.fb.group({ username: ['', [required, maxLength(255)]], password: ['', [required, maxLength(32)]], @@ -40,6 +53,9 @@ export class RegisterComponent { this.accountService .register(newUser) .pipe( + switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))), + switchMap(() => this.store.dispatch(new GetAppConfiguration())), + tap(() => this.store.dispatch(new Navigate(['/']))), take(1), catchError(err => { this.toasterService.error( diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts index 3fdf506a1c..0196ad19ec 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -3,7 +3,7 @@ import { Component, Input } from '@angular/core'; @Component({ selector: 'abp-button', template: ` - `, @@ -13,7 +13,7 @@ export class ButtonComponent { buttonClass: string = 'btn btn-primary'; @Input() - buttonType: string = 'button'; + type: string = 'button'; @Input() iconClass: string; From 700d768807d317b68e764a563732ad717dadaae2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 09:22:00 +0300 Subject: [PATCH 055/149] fix(theme-shared): validation-error component --- .../src/lib/components/errors/validation-error.component.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/errors/validation-error.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/errors/validation-error.component.ts index 7590d74b91..97724c0786 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/errors/validation-error.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/errors/validation-error.component.ts @@ -13,7 +13,9 @@ import { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-val }) export class ValidationErrorComponent extends ErrorComponent { get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } { - return this.validationErrors.map(error => { + if (!this.errors || !this.errors.length) return []; + + return this.errors.map(error => { if (!error.message) return error; const index = error.message.indexOf('['); From 8ccb7efc200e21b26e9775928e61004a28abbfde Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 09:24:33 +0300 Subject: [PATCH 056/149] Build ng packages --- .../dist/account/abp-ng.account.metadata.json | 2 +- .../account/bundles/abp-ng.account.umd.js | 33 ++++++++++++-- .../account/bundles/abp-ng.account.umd.js.map | 2 +- .../account/bundles/abp-ng.account.umd.min.js | 2 +- .../bundles/abp-ng.account.umd.min.js.map | 2 +- .../lib/components/login/login.component.js | 4 +- .../components/register/register.component.js | 43 ++++++++++++++++--- .../lib/components/login/login.component.js | 4 +- .../components/register/register.component.js | 41 +++++++++++++++--- .../dist/account/fesm2015/abp-ng.account.js | 35 +++++++++++++-- .../account/fesm2015/abp-ng.account.js.map | 2 +- .../dist/account/fesm5/abp-ng.account.js | 33 ++++++++++++-- .../dist/account/fesm5/abp-ng.account.js.map | 2 +- .../register/register.component.d.ts | 6 ++- npm/ng-packs/dist/account/package.json | 4 +- npm/ng-packs/dist/core/package.json | 2 +- npm/ng-packs/dist/identity/package.json | 4 +- .../dist/permission-management/package.json | 4 +- .../dist/tenant-management/package.json | 4 +- npm/ng-packs/dist/theme-basic/package.json | 4 +- .../abp-ng.theme.shared.metadata.json | 2 +- .../bundles/abp-ng.theme.shared.umd.js | 12 +++--- .../bundles/abp-ng.theme.shared.umd.js.map | 2 +- .../bundles/abp-ng.theme.shared.umd.min.js | 2 +- .../abp-ng.theme.shared.umd.min.js.map | 2 +- .../lib/components/button/button.component.js | 10 ++--- .../errors/validation-error.component.js | 6 ++- .../lib/components/button/button.component.js | 10 ++--- .../errors/validation-error.component.js | 6 ++- .../fesm2015/abp-ng.theme.shared.js | 12 +++--- .../fesm2015/abp-ng.theme.shared.js.map | 2 +- .../theme-shared/fesm5/abp-ng.theme.shared.js | 12 +++--- .../fesm5/abp-ng.theme.shared.js.map | 2 +- .../components/button/button.component.d.ts | 2 +- npm/ng-packs/dist/theme-shared/package.json | 4 +- 35 files changed, 235 insertions(+), 84 deletions(-) diff --git a/npm/ng-packs/dist/account/abp-ng.account.metadata.json b/npm/ng-packs/dist/account/abp-ng.account.metadata.json index a9a805e3ea..d970c2f0f2 100644 --- a/npm/ng-packs/dist/account/abp-ng.account.metadata.json +++ b/npm/ng-packs/dist/account/abp-ng.account.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/options"},{"from":"./lib/user"},{"from":"./lib/tenant"}],"metadata":{"AccountModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":12},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":15,"character":46},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":15,"character":65},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":15,"character":78},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":15,"character":97}],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AccountModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":"ACCOUNT_OPTIONS","useFactory":{"__symbolic":"reference","name":"ɵg"},"deps":[{"__symbolic":"reference","name":"ɵh"}]}]}}}},"ACCOUNT_ROUTES":[{"name":"Account","path":"account","invisible":true,"layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":7,"character":12},"member":"application"},"children":[{"path":"login","name":"Login","order":1},{"path":"register","name":"Register","order":2}]}],"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-login","template":"
    \n
    \n \n\n \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":17},"arguments":["ACCOUNT_OPTIONS"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":25,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":26,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":27,"character":28},{"__symbolic":"reference","name":"ɵb"}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"interface"},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-register","template":"
    \n
    \n \n\n \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":19,"character":26},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":19,"character":103}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"findTenant":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-tenant-box","template":"\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n
    \n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":14,"character":29},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":14,"character":60},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSwitch":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":12},"member":"forChild"},"arguments":[[{"path":"","pathMatch":"full","redirectTo":"login"},{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"children":[{"path":"login","component":{"__symbolic":"reference","name":"ɵa"}},{"path":"register","component":{"__symbolic":"reference","name":"ɵc"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":12}]}]}],"members":{}},"ɵg":{"__symbolic":"function","parameters":["options"],"value":{"redirectUrl":"/"}},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":35},"arguments":["ACCOUNT_OPTIONS"]}},"origins":{"AccountModule":"./lib/account.module","ACCOUNT_ROUTES":"./lib/constants/routes","ɵa":"./lib/components/login/login.component","ɵb":"./lib/models/options","ɵc":"./lib/components/register/register.component","ɵd":"./lib/services/account.service","ɵe":"./lib/components/tenant-box/tenant-box.component","ɵf":"./lib/account-routing.module","ɵg":"./lib/tokens/options.token","ɵh":"./lib/tokens/options.token"},"importAs":"@abp/ng.account"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/options"},{"from":"./lib/user"},{"from":"./lib/tenant"}],"metadata":{"AccountModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":12},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":15,"character":46},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":15,"character":65},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":15,"character":78},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":15,"character":97}],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AccountModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":"ACCOUNT_OPTIONS","useFactory":{"__symbolic":"reference","name":"ɵg"},"deps":[{"__symbolic":"reference","name":"ɵh"}]}]}}}},"ACCOUNT_ROUTES":[{"name":"Account","path":"account","invisible":true,"layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":7,"character":12},"member":"application"},"children":[{"path":"login","name":"Login","order":1},{"path":"register","name":"Register","order":2}]}],"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-login","template":"
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":17},"arguments":["ACCOUNT_OPTIONS"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":25,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":26,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":27,"character":28},{"__symbolic":"reference","name":"ɵb"}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"interface"},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-register","template":"
    \n
    \n \n\n \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":26,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":27,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":28,"character":28}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"findTenant":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-tenant-box","template":"\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":14,"character":29},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":14,"character":60},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSwitch":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":12},"member":"forChild"},"arguments":[[{"path":"","pathMatch":"full","redirectTo":"login"},{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"children":[{"path":"login","component":{"__symbolic":"reference","name":"ɵa"}},{"path":"register","component":{"__symbolic":"reference","name":"ɵc"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":12}]}]}],"members":{}},"ɵg":{"__symbolic":"function","parameters":["options"],"value":{"redirectUrl":"/"}},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":35},"arguments":["ACCOUNT_OPTIONS"]}},"origins":{"AccountModule":"./lib/account.module","ACCOUNT_ROUTES":"./lib/constants/routes","ɵa":"./lib/components/login/login.component","ɵb":"./lib/models/options","ɵc":"./lib/components/register/register.component","ɵd":"./lib/services/account.service","ɵe":"./lib/components/tenant-box/tenant-box.component","ɵf":"./lib/account-routing.module","ɵg":"./lib/tokens/options.token","ɵh":"./lib/tokens/options.token"},"importAs":"@abp/ng.account"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js index 6c81249cb1..a9f3de735c 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js @@ -272,7 +272,7 @@ LoginComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -384,10 +384,14 @@ */ var maxLength$1 = forms.Validators.maxLength, minLength$1 = forms.Validators.minLength, required$1 = forms.Validators.required, email = forms.Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, accountService, toasterService) { + function RegisterComponent(fb, accountService, oauthService, store, toasterService) { this.fb = fb; this.accountService = accountService; + this.oauthService = oauthService; + this.store = store; this.toasterService = toasterService; + this.oauthService.configure(this.store.selectSnapshot(ng_core.ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], password: ['', [required$1, maxLength$1(32)]], @@ -414,7 +418,16 @@ })); this.accountService .register(newUser) - .pipe(operators.take(1), operators.catchError((/** + .pipe(operators.switchMap((/** + * @return {?} + */ + function () { return rxjs.from(_this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password)); })), operators.switchMap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new ng_core.GetAppConfiguration()); })), operators.tap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new routerPlugin.Navigate(['/'])); })), operators.take(1), operators.catchError((/** * @param {?} err * @return {?} */ @@ -437,13 +450,15 @@ RegisterComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: forms.FormBuilder }, { type: AccountService }, + { type: angularOauth2Oidc.OAuthService }, + { type: store.Store }, { type: ng_theme_shared.ToasterService } ]; }; return RegisterComponent; @@ -463,6 +478,16 @@ * @private */ RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.store; /** * @type {?} * @private diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map index 3734ddaf50..ad9ebb3ed0 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js index 199f8b1a5a..118bd592be 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n \n\n \n
    \n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,t,n){this.fb=e,this.accountService=t,this.toasterService=n,this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(t).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:u.ToasterService}]},e}();var x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],L=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return g({redirectUrl:"/"},e)}var C=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:C,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[C]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,L,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=C,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=L,e.ɵg=N,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,n,r,o,a){this.fb=e,this.accountService=n,this.oauthService=r,this.store=o,this.toasterService=a,this.oauthService.configure(this.store.selectSnapshot(t.ConfigState.getOne("environment")).oAuthConfig),this.oauthService.loadDiscoveryDocument(),this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var n={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(n).pipe(p.switchMap(function(){return c.from(e.oauthService.fetchTokenUsingPasswordFlow(n.userName,n.password))}),p.switchMap(function(){return e.store.dispatch(new t.GetAppConfiguration)}),p.tap(function(){return e.store.dispatch(new a.Navigate(["/"]))}),p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService}]},e}();var x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],C=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return f({redirectUrl:"/"},e)}var L=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:L,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[L]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,C,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=L,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=C,e.ɵg=N,e.ɵh=L,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.account.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map index 677331cae6..88b698a9eb 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"ulCA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YCzBxB,IAAAQ,EAAAC,EAAAC,WAAAF,UAAsBG,GAAXF,EAAAC,WAAAE,UAAWH,EAAAC,WAAAC,UAE9BE,EAAA,WASE,SAAAA,EACUC,EACAC,EACAC,EACAC,EACuCC,GAJvCX,KAAAO,GAAAA,EACAP,KAAAQ,aAAAA,EACAR,KAAAS,MAAAA,EACAT,KAAAU,eAAAA,EACuCV,KAAAW,QAAAA,EAE/CX,KAAKQ,aAAaI,UAAUZ,KAAKS,MAAMI,eAAeC,EAAAA,YAAYC,OAAO,gBAAgBC,aACzFhB,KAAKQ,aAAaS,wBAElBjB,KAAKkB,KAAOlB,KAAKO,GAAGY,MAAM,CACxBC,SAAU,CAAC,GAAI,CAAChB,EAAUH,EAAU,OACpCoB,SAAU,CAAC,GAAI,CAACjB,EAAUH,EAAU,MACpCqB,SAAU,EAAC,KA+BjB,OA3BEhB,EAAAV,UAAA2B,SAAA,WAAA,IAAAC,EAAAxB,KACMA,KAAKkB,KAAKO,UACdzB,KAAKQ,aAAakB,WAAW1B,KAAKkB,KAAKS,MAAML,SAAWM,aAAeC,gBAEvE7B,KAAK8B,YAAa,EAClBC,EAAAA,KACE/B,KAAKQ,aAAawB,4BAA4BhC,KAAKkB,KAAKe,IAAI,YAAYN,MAAO3B,KAAKkB,KAAKe,IAAI,YAAYN,QAExGO,KACCC,EAAAA,UAAS,WAAO,OAAAX,EAAKf,MAAM2B,SAAS,IAAIC,EAAAA,uBACxCC,EAAAA,IAAG,eACKC,EAAcC,EAAG,WAAO,OAAAC,OAAOC,QAAQC,QAAOJ,cAAgBf,EAAKb,SAAW,IAAI4B,aAAe,IACvGf,EAAKf,MAAM2B,SAAS,IAAIQ,EAAAA,SAAS,CAACL,OAEpCM,EAAAA,WAAU,SAACC,GAOT,OANAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,qBAClBR,EAAG,WAAO,OAAAM,EAAIC,MAAMA,MAAME,SAAS,mCACrC,QACA,CAAEC,KAAM,MAEHC,EAAAA,WAAWL,KAEpBM,EAAAA,SAAQ,WAAO,OAAC5B,EAAKM,YAAa,KAEnCuB,kCAnDNC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,mtDAdOC,EAAAA,mBAGAC,EAAAA,oBADAC,EAAAA,aAIAC,EAAAA,+CAoBJC,EAAAA,UAAQ,CAAAC,KAAIC,EAAAA,OAAMT,KAAA,CAAC,wBAuCxBjD,EArDA,GCdA,IAAA2D,EAAA,WASE,SAAAA,EAAoBC,GAAAlE,KAAAkE,KAAAA,SAEpBD,EAAArE,UAAAuE,WAAA,SAAWC,OACHC,EAA8B,CAClCC,OAAQ,MACRC,IAAK,sCAAsCH,GAG7C,OAAOpE,KAAKkE,KAAKG,QAAgCA,IAGnDJ,EAAArE,UAAA4E,SAAA,SAASC,OACDJ,EAAyC,CAC7CC,OAAQ,OACRC,IAAK,wBACLE,KAAIA,GAGN,OAAOzE,KAAKkE,KAAKG,QAA2CA,EAAS,CAAEK,UAAU,yBAtBpFC,EAAAA,WAAUpB,KAAA,CAAC,CACVqB,WAAY,oDAJLC,EAAAA,iJAFT,GCYQ,IAAA5E,EAAAA,EAAAA,WAAAA,UAAsBG,GAAXC,EAAAA,WAAAA,UAAWD,EAAAA,WAAAA,UAAU0E,EAAA5E,EAAAC,WAAA2E,MAExCC,EAAA,WASE,SAAAA,EACUxE,EACAyE,EACAxE,EACAC,EACAC,GAJAV,KAAAO,GAAAA,EACAP,KAAAgF,eAAAA,EACAhF,KAAAQ,aAAAA,EACAR,KAAAS,MAAAA,EACAT,KAAAU,eAAAA,EAERV,KAAKQ,aAAaI,UAAUZ,KAAKS,MAAMI,eAAeC,EAAAA,YAAYC,OAAO,gBAAgBC,aACzFhB,KAAKQ,aAAaS,wBAElBjB,KAAKkB,KAAOlB,KAAKO,GAAGY,MAAM,CACxBC,SAAU,CAAC,GAAI,CAAChB,EAAUH,EAAU,OACpCoB,SAAU,CAAC,GAAI,CAACjB,EAAUH,EAAU,MACpC6E,MAAO,CAAC,GAAI,CAAC1E,EAAU0E,MAoC7B,OAhCEC,EAAAnF,UAAA2B,SAAA,WAAA,IAAAC,EAAAxB,KACE,IAAIA,KAAKkB,KAAKO,QAAd,CAEAzB,KAAK8B,YAAa,MAEZmD,EAAO,CACXC,SAAUlF,KAAKkB,KAAKe,IAAI,YAAYN,MACpCN,SAAUrB,KAAKkB,KAAKe,IAAI,YAAYN,MACpCwD,aAAcnF,KAAKkB,KAAKe,IAAI,SAASN,MACrCyD,QAAS,WAGXpF,KAAKgF,eACFR,SAASS,GACT/C,KACCC,EAAAA,UAAS,WAAO,OAAAJ,EAAAA,KAAKP,EAAKhB,aAAawB,4BAA4BiD,EAAQC,SAAUD,EAAQ5D,aAC7Fc,EAAAA,UAAS,WAAO,OAAAX,EAAKf,MAAM2B,SAAS,IAAIC,EAAAA,uBACxCC,EAAAA,IAAG,WAAO,OAAAd,EAAKf,MAAM2B,SAAS,IAAIQ,EAAAA,SAAS,CAAC,SAC5CyC,EAAAA,KAAK,GACLxC,EAAAA,WAAU,SAACC,GAOT,OANAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,qBAClBR,EAAG,WAAO,OAAAM,EAAIC,MAAMA,MAAME,SAAS,mCACrC,QACA,CAAEC,KAAM,MAEHC,EAAAA,WAAWL,KAEpBM,EAAAA,SAAQ,WAAO,OAAC5B,EAAKM,YAAa,KAEnCuB,kCAxDNC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAA,28CAbOC,EAAAA,mBAQAO,SALAN,EAAAA,oBADAC,EAAAA,aAJAC,EAAAA,kBAuETkB,EA1DA,OCRMO,EAAiB,CACrB,CAAEC,KAAM,GAAIC,UAAW,OAAQC,WAAY,SAC3C,CACEF,KAAM,GACNG,UAAWC,EAAAA,uBACXC,SAAU,CAAC,CAAEL,KAAM,QAASG,UAAWpF,GAAkB,CAAEiF,KAAM,WAAYG,UAAWX,MAI5Fc,EAAA,WAAA,SAAAA,KAImC,2BAJlCC,EAAAA,SAAQvC,KAAA,CAAC,CACRwC,QAAS,CAACC,EAAAA,aAAaC,SAASX,IAChCY,QAAS,CAACF,EAAAA,kBAEuBH,EAJnC,GCfAM,EAAA,WAcE,SAAAA,EAAoB1F,EAAsBC,EAAwCsE,GAA9DhF,KAAAS,MAAAA,EAAsBT,KAAAU,eAAAA,EAAwCV,KAAAgF,eAAAA,EAElFhF,KAAAoG,OAAM,GAmDR,OA7CED,EAAAvG,UAAAyG,SAAA,WACErG,KAAKoG,OAASpG,KAAKS,MAAMI,eAAeyF,EAAAA,aAAaC,YAAU,GAC/DvG,KAAKoE,WAAapE,KAAKoG,OAAOI,MAAQ,IAGxCL,EAAAvG,UAAA6G,SAAA,WACEzG,KAAK0G,gBAAiB,GAGxBP,EAAAvG,UAAA+G,KAAA,WAAA,IAAAnF,EAAAxB,KACMA,KAAKoG,OAAOI,KACdxG,KAAKgF,eACFb,WAAWnE,KAAKoG,OAAOI,MACvBtE,KACCmD,EAAAA,KAAK,GACLxC,EAAAA,WAAU,SAACC,GAKT,OAJAtB,EAAKd,eAAeqC,MAClBP,EAAG,WAAO,OAAAM,EAAIC,MAAMC,mBAAmB,8BACvC,gBAEKG,EAAAA,WAAWL,MAGrBO,UAAS,SAAEuD,OAAEC,EAAAD,EAAAC,QAASC,EAAAF,EAAAE,SACjBD,GACFrF,EAAK4E,OAAS,CACZW,GAAID,EACJN,KAAMhF,EAAK4E,OAAOI,MAEpBhF,EAAK4C,WAAa5C,EAAK4E,OAAOI,KAC9BhF,EAAKkF,gBAAiB,IAEtBlF,EAAKd,eAAeqC,MAAM,+CAAgD,eAAgB,CACxFiE,0BAA2B,CAACxF,EAAK4E,OAAOI,QAE1ChF,EAAK4E,OAAM,IAEb5E,EAAKf,MAAM2B,SAAS,IAAI6E,EAAAA,UAAUJ,EAAUrF,EAAK4E,OAAS,UAG9DpG,KAAKS,MAAM2B,SAAS,IAAI6E,EAAAA,UAAU,OAClCjH,KAAKoE,WAAa,KAClBpE,KAAK0G,gBAAiB,wBAvD3BpD,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,iBACVC,SAAA,8gDAROG,EAAAA,aAFAC,EAAAA,sBAMAI,KA4DTkC,EAnEA,GCGA,SAAgBe,EAAevG,GAC7B,OAAAzB,EAAA,CACEqD,YAAa,KACV5B,GAIP,IAAawG,EAAkB,IAAIC,EAAAA,eAAe,mBCVlDC,EAAA,WAaA,SAAAA,KAmBA,OAbSA,EAAAC,QAAP,SAAe3G,GACb,YADa,IAAAA,IAAAA,EAAA,IACN,CACL4G,SAAUF,EACVG,UAAW,CACT,CAAEC,QAASN,EAAiBO,SAAU/G,GACtC,CACE8G,QAAS,kBACTE,WAAYT,EACZU,KAAM,CAACT,2BAdhBrB,EAAAA,SAAQvC,KAAA,CAAC,CACRsE,aAAc,CAACvH,EAAgByE,EAAmBoB,GAClDJ,QAAS,CAAC+B,EAAAA,WAAYjC,EAAsBkC,EAAAA,kBAAmBC,EAAAA,YAAaC,EAAAA,kBAAmBC,EAAAA,uBAC/FhC,QAAS,OAgBXmB,EAhCA,wCCE2B,CACzB,CACEb,KAAM,UACNjB,KAAM,UACN4C,WAAW,EACXC,OAAM,cACNxC,SAAU,CAAC,CAAEL,KAAM,QAASiB,KAAM,QAAS6B,MAAO,GAAK,CAAE9C,KAAM,WAAYiB,KAAM,WAAY6B,MAAO","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js index de25084538..6f3bbce59a 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js @@ -81,7 +81,7 @@ export class LoginComponent { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -123,4 +123,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZ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QkFBdUI7Ozs7O0lBQ3ZCLHNDQUFrQzs7Ozs7SUFDbEMsK0JBQW9COzs7OztJQUNwQix3Q0FBc0M7Ozs7O0lBQ3RDLGlDQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0FDQ09VTlRfT1BUSU9OUycpIHByaXZhdGUgb3B0aW9uczogT3B0aW9ucyxcbiAgKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdlbnZpcm9ubWVudCcpKS5vQXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgcmVtZW1iZXI6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXRTdG9yYWdlKHRoaXMuZm9ybS52YWx1ZS5yZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKTtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgZnJvbShcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLCB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gc25xKCgpID0+IHdpbmRvdy5oaXN0b3J5LnN0YXRlKS5yZWRpcmVjdFVybCB8fCAodGhpcy5vcHRpb25zIHx8IHt9KS5yZWRpcmVjdFVybCB8fCAnLyc7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRS9ELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoSDthQUNFLElBQUksQ0FDSCxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBQyxFQUMvRCxHQUFHOzs7UUFBQyxHQUFHLEVBQUU7O2tCQUNELFdBQVcsR0FBRyxHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEdBQUc7WUFDMUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLEdBQUc7OztZQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUM7Z0JBQ3BDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFDdkUsT0FBTyxFQUNQLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNmLENBQUM7WUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUMsRUFDRixRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUMsQ0FDMUM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUFwREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw2dERBQXFDO2FBQ3RDOzs7O1lBZlEsV0FBVztZQUdYLFlBQVk7WUFEWixLQUFLO1lBSUwsY0FBYzs0Q0FvQmxCLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCOzs7O0lBVHZDLDhCQUFnQjs7SUFFaEIsb0NBQW9COzs7OztJQUdsQiw0QkFBdUI7Ozs7O0lBQ3ZCLHNDQUFrQzs7Ozs7SUFDbEMsK0JBQW9COzs7OztJQUNwQix3Q0FBc0M7Ozs7O0lBQ3RDLGlDQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0FDQ09VTlRfT1BUSU9OUycpIHByaXZhdGUgb3B0aW9uczogT3B0aW9ucyxcbiAgKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdlbnZpcm9ubWVudCcpKS5vQXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgcmVtZW1iZXI6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXRTdG9yYWdlKHRoaXMuZm9ybS52YWx1ZS5yZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKTtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgZnJvbShcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLCB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gc25xKCgpID0+IHdpbmRvdy5oaXN0b3J5LnN0YXRlKS5yZWRpcmVjdFVybCB8fCAodGhpcy5vcHRpb25zIHx8IHt9KS5yZWRpcmVjdFVybCB8fCAnLyc7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js index 24b6716d7f..5ec249a888 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js @@ -2,11 +2,15 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ConfigState, GetAppConfiguration } from '@abp/ng.core'; import { ToasterService } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { throwError } from 'rxjs'; -import { catchError, finalize, take } from 'rxjs/operators'; +import { Navigate } from '@ngxs/router-plugin'; +import { Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; +import { from, throwError } from 'rxjs'; +import { catchError, finalize, switchMap, take, tap } from 'rxjs/operators'; import snq from 'snq'; import { AccountService } from '../../services/account.service'; const { maxLength, minLength, required, email } = Validators; @@ -14,12 +18,18 @@ export class RegisterComponent { /** * @param {?} fb * @param {?} accountService + * @param {?} oauthService + * @param {?} store * @param {?} toasterService */ - constructor(fb, accountService, toasterService) { + constructor(fb, accountService, oauthService, store, toasterService) { this.fb = fb; this.accountService = accountService; + this.oauthService = oauthService; + this.store = store; this.toasterService = toasterService; + this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); this.form = this.fb.group({ username: ['', [required, maxLength(255)]], password: ['', [required, maxLength(32)]], @@ -42,7 +52,16 @@ export class RegisterComponent { })); this.accountService .register(newUser) - .pipe(take(1), catchError((/** + .pipe(switchMap((/** + * @return {?} + */ + () => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password)))), switchMap((/** + * @return {?} + */ + () => this.store.dispatch(new GetAppConfiguration()))), tap((/** + * @return {?} + */ + () => this.store.dispatch(new Navigate(['/'])))), take(1), catchError((/** * @param {?} err * @return {?} */ @@ -66,13 +85,15 @@ export class RegisterComponent { RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = () => [ { type: FormBuilder }, { type: AccountService }, + { type: OAuthService }, + { type: Store }, { type: ToasterService } ]; if (false) { @@ -90,10 +111,20 @@ if (false) { * @private */ RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.store; /** * @type {?} * @private */ RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUMxRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBSzVCLFlBQW9CLEVBQWUsRUFBVSxjQUE4QixFQUFVLGNBQThCO1FBQS9GLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7Y0FFakIsT0FBTyxHQUFHLG1CQUFBO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUs7WUFDMUMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFBbUI7UUFFcEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUNqQixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUN2QixHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFDO2dCQUNwQyxHQUFHOzs7Z0JBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFFLGlDQUFpQyxDQUFDLEVBQ3ZFLE9BQU8sRUFDUCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFDLEVBQ0YsUUFBUTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFDLENBQzFDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsdWdEQUF3QzthQUN6Qzs7OztZQVhRLFdBQVc7WUFLWCxjQUFjO1lBUGQsY0FBYzs7OztJQWVyQixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFFUiwrQkFBdUI7Ozs7O0lBQUUsMkNBQXNDOzs7OztJQUFFLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgZW1haWw6IFsnJywgW3JlcXVpcmVkLCBlbWFpbF1dLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgY29uc3QgbmV3VXNlciA9IHtcbiAgICAgIHVzZXJOYW1lOiB0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICBlbWFpbEFkZHJlc3M6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWUsXG4gICAgICBhcHBOYW1lOiAnYW5ndWxhcicsXG4gICAgfSBhcyBSZWdpc3RlclJlcXVlc3Q7XG5cbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXG4gICAgICAucmVnaXN0ZXIobmV3VXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUMxRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7SUFLNUIsWUFDVSxFQUFlLEVBQ2YsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCO1FBSjlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFD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TGQsWUFBWTtZQURaLEtBQUs7WUFKTCxjQUFjOzs7O0lBa0JyQixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFHbEIsK0JBQXVCOzs7OztJQUN2QiwyQ0FBc0M7Ozs7O0lBQ3RDLHlDQUFrQzs7Ozs7SUFDbEMsa0NBQW9COzs7OztJQUNwQiwyQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZSwgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRPbmUoJ2Vudmlyb25tZW50JykpLm9BdXRoQ29uZmlnKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpXV0sXG4gICAgICBlbWFpbDogWycnLCBbcmVxdWlyZWQsIGVtYWlsXV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICBjb25zdCBuZXdVc2VyID0ge1xuICAgICAgdXNlck5hbWU6IHRoaXMuZm9ybS5nZXQoJ3VzZXJuYW1lJykudmFsdWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgIGVtYWlsQWRkcmVzczogdGhpcy5mb3JtLmdldCgnZW1haWwnKS52YWx1ZSxcbiAgICAgIGFwcE5hbWU6ICdhbmd1bGFyJyxcbiAgICB9IGFzIFJlZ2lzdGVyUmVxdWVzdDtcblxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2VcbiAgICAgIC5yZWdpc3RlcihuZXdVc2VyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tKHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhuZXdVc2VyLnVzZXJOYW1lLCBuZXdVc2VyLnBhc3N3b3JkKSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0QXBwQ29uZmlndXJhdGlvbigpKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbJy8nXSkpKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js index e797f0be5b..5db9759100 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js @@ -77,7 +77,7 @@ var LoginComponent = /** @class */ (function () { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -122,4 +122,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMs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O1NBakRZLGNBQWM7OztJQUN6Qiw4QkFBZ0I7O0lBRWhCLG9DQUFvQjs7Ozs7SUFHbEIsNEJBQXVCOzs7OztJQUN2QixzQ0FBa0M7Ozs7O0lBQ2xDLCtCQUFvQjs7Ozs7SUFDcEIsd0NBQXNDOzs7OztJQUN0QyxpQ0FBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdBQ0NPVU5UX09QVElPTlMnKSBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIHJlbWVtYmVyOiBbZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZSh0aGlzLmZvcm0udmFsdWUucmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSk7XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGZyb20oXG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3codGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSwgdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHNucSgoKSA9PiB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkucmVkaXJlY3RVcmwgfHwgKHRoaXMub3B0aW9ucyB8fCB7fSkucmVkaXJlY3RVcmwgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFtyZWRpcmVjdFVybF0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikgfHxcbiAgICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMs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O1NBakRZLGNBQWM7OztJQUN6Qiw4QkFBZ0I7O0lBRWhCLG9DQUFvQjs7Ozs7SUFHbEIsNEJBQXVCOzs7OztJQUN2QixzQ0FBa0M7Ozs7O0lBQ2xDLCtCQUFvQjs7Ozs7SUFDcEIsd0NBQXNDOzs7OztJQUN0QyxpQ0FBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdBQ0NPVU5UX09QVElPTlMnKSBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIHJlbWVtYmVyOiBbZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZSh0aGlzLmZvcm0udmFsdWUucmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSk7XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGZyb20oXG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3codGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSwgdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHNucSgoKSA9PiB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkucmVkaXJlY3RVcmwgfHwgKHRoaXMub3B0aW9ucyB8fCB7fSkucmVkaXJlY3RVcmwgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFtyZWRpcmVjdFVybF0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikgfHxcbiAgICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js index d73e10a7b1..1530e63c41 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js @@ -2,19 +2,27 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { ConfigState, GetAppConfiguration } from '@abp/ng.core'; import { ToasterService } from '@abp/ng.theme.shared'; import { Component } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; -import { throwError } from 'rxjs'; -import { catchError, finalize, take } from 'rxjs/operators'; +import { Navigate } from '@ngxs/router-plugin'; +import { Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; +import { from, throwError } from 'rxjs'; +import { catchError, finalize, switchMap, take, tap } from 'rxjs/operators'; import snq from 'snq'; import { AccountService } from '../../services/account.service'; var maxLength = Validators.maxLength, minLength = Validators.minLength, required = Validators.required, email = Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, accountService, toasterService) { + function RegisterComponent(fb, accountService, oauthService, store, toasterService) { this.fb = fb; this.accountService = accountService; + this.oauthService = oauthService; + this.store = store; this.toasterService = toasterService; + this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); this.form = this.fb.group({ username: ['', [required, maxLength(255)]], password: ['', [required, maxLength(32)]], @@ -41,7 +49,16 @@ var RegisterComponent = /** @class */ (function () { })); this.accountService .register(newUser) - .pipe(take(1), catchError((/** + .pipe(switchMap((/** + * @return {?} + */ + function () { return from(_this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password)); })), switchMap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new GetAppConfiguration()); })), tap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new Navigate(['/'])); })), take(1), catchError((/** * @param {?} err * @return {?} */ @@ -64,13 +81,15 @@ var RegisterComponent = /** @class */ (function () { RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: FormBuilder }, { type: AccountService }, + { type: OAuthService }, + { type: Store }, { type: ToasterService } ]; }; return RegisterComponent; @@ -91,10 +110,20 @@ if (false) { * @private */ RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.store; /** * @type {?} * @private */ RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBU0UsMkJBQW9CLEVBQWUsRUFBVSxjQUE4QixFQUFVLGNBQThCO1FBQS9GLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsb0NBQVE7OztJQUFSO1FBQUEsaUJBNEJDO1FBM0JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7WUFFakIsT0FBTyxHQUFHLG1CQUFBO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUs7WUFDMUMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFBbUI7UUFFcEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUNqQixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7UUFBQyxVQUFBLEdBQUc7WUFDWixLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDdkIsR0FBRzs7O1lBQUMsY0FBTSxPQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQTNCLENBQTJCLEVBQUM7Z0JBQ3BDLEdBQUc7OztnQkFBQyxjQUFNLE9BQUEsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUF2QixDQUF1QixHQUFFLGlDQUFpQyxDQUFDLEVBQ3ZFLE9BQU8sRUFDUCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFDLEVBQ0YsUUFBUTs7O1FBQUMsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsRUFBekIsQ0FBeUIsRUFBQyxDQUMxQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dCQTdDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLHVnREFBd0M7aUJBQ3pDOzs7O2dCQVhRLFdBQVc7Z0JBS1gsY0FBYztnQkFQZCxjQUFjOztJQXdEdkIsd0JBQUM7Q0FBQSxBQTlDRCxJQThDQztTQTFDWSxpQkFBaUI7OztJQUM1QixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFFUiwrQkFBdUI7Ozs7O0lBQUUsMkNBQXNDOzs7OztJQUFFLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgZW1haWw6IFsnJywgW3JlcXVpcmVkLCBlbWFpbF1dLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgY29uc3QgbmV3VXNlciA9IHtcbiAgICAgIHVzZXJOYW1lOiB0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICBlbWFpbEFkZHJlc3M6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWUsXG4gICAgICBhcHBOYW1lOiAnYW5ndWxhcicsXG4gICAgfSBhcyBSZWdpc3RlclJlcXVlc3Q7XG5cbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXG4gICAgICAucmVnaXN0ZXIobmV3VXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBU0UsMkJBQ1UsRUFBZSxFQUNmLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QjtRQUo5QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUss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OztnQkFkUSxXQUFXO2dCQVFYLGNBQWM7Z0JBTGQsWUFBWTtnQkFEWixLQUFLO2dCQUpMLGNBQWM7O0lBdUV2Qix3QkFBQztDQUFBLEFBMURELElBMERDO1NBdERZLGlCQUFpQjs7O0lBQzVCLGlDQUFnQjs7SUFFaEIsdUNBQW9COzs7OztJQUdsQiwrQkFBdUI7Ozs7O0lBQ3ZCLDJDQUFzQzs7Ozs7SUFDdEMseUNBQWtDOzs7OztJQUNsQyxrQ0FBb0I7Ozs7O0lBQ3BCLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlLCBHZXRBcHBDb25maWd1cmF0aW9uIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIGVtYWlsOiBbJycsIFtyZXF1aXJlZCwgZW1haWxdXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcblxuICAgIGNvbnN0IG5ld1VzZXIgPSB7XG4gICAgICB1c2VyTmFtZTogdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgZW1haWxBZGRyZXNzOiB0aGlzLmZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlLFxuICAgICAgYXBwTmFtZTogJ2FuZ3VsYXInLFxuICAgIH0gYXMgUmVnaXN0ZXJSZXF1ZXN0O1xuXG4gICAgdGhpcy5hY2NvdW50U2VydmljZVxuICAgICAgLnJlZ2lzdGVyKG5ld1VzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGZyb20odGhpcy5vYXV0aFNlcnZpY2UuZmV0Y2hUb2tlblVzaW5nUGFzc3dvcmRGbG93KG5ld1VzZXIudXNlck5hbWUsIG5ld1VzZXIucGFzc3dvcmQpKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFsnLyddKSkpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js index 649b54a06b..49c5b2ba28 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js @@ -86,7 +86,7 @@ class LoginComponent { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -193,12 +193,18 @@ class RegisterComponent { /** * @param {?} fb * @param {?} accountService + * @param {?} oauthService + * @param {?} store * @param {?} toasterService */ - constructor(fb, accountService, toasterService) { + constructor(fb, accountService, oauthService, store, toasterService) { this.fb = fb; this.accountService = accountService; + this.oauthService = oauthService; + this.store = store; this.toasterService = toasterService; + this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], password: ['', [required$1, maxLength$1(32)]], @@ -221,7 +227,16 @@ class RegisterComponent { })); this.accountService .register(newUser) - .pipe(take(1), catchError((/** + .pipe(switchMap((/** + * @return {?} + */ + () => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password)))), switchMap((/** + * @return {?} + */ + () => this.store.dispatch(new GetAppConfiguration()))), tap((/** + * @return {?} + */ + () => this.store.dispatch(new Navigate(['/'])))), take(1), catchError((/** * @param {?} err * @return {?} */ @@ -245,13 +260,15 @@ class RegisterComponent { RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = () => [ { type: FormBuilder }, { type: AccountService }, + { type: OAuthService }, + { type: Store }, { type: ToasterService } ]; if (false) { @@ -269,6 +286,16 @@ if (false) { * @private */ RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.store; /** * @type {?} * @private diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map index d0841e616b..7de2632633 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js index 1ee3bcc97a..62f551ef77 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js @@ -83,7 +83,7 @@ var LoginComponent = /** @class */ (function () { LoginComponent.decorators = [ { type: Component, args: [{ selector: 'abp-login', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -195,10 +195,14 @@ if (false) { */ var maxLength$1 = Validators.maxLength, minLength$1 = Validators.minLength, required$1 = Validators.required, email = Validators.email; var RegisterComponent = /** @class */ (function () { - function RegisterComponent(fb, accountService, toasterService) { + function RegisterComponent(fb, accountService, oauthService, store, toasterService) { this.fb = fb; this.accountService = accountService; + this.oauthService = oauthService; + this.store = store; this.toasterService = toasterService; + this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig); + this.oauthService.loadDiscoveryDocument(); this.form = this.fb.group({ username: ['', [required$1, maxLength$1(255)]], password: ['', [required$1, maxLength$1(32)]], @@ -225,7 +229,16 @@ var RegisterComponent = /** @class */ (function () { })); this.accountService .register(newUser) - .pipe(take(1), catchError((/** + .pipe(switchMap((/** + * @return {?} + */ + function () { return from(_this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password)); })), switchMap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new GetAppConfiguration()); })), tap((/** + * @return {?} + */ + function () { return _this.store.dispatch(new Navigate(['/'])); })), take(1), catchError((/** * @param {?} err * @return {?} */ @@ -248,13 +261,15 @@ var RegisterComponent = /** @class */ (function () { RegisterComponent.decorators = [ { type: Component, args: [{ selector: 'abp-register', - template: "
    \n
    \n \n\n \n
    \n
    \n" + template: "
    \n
    \n \n\n \n
    \n
    \n" }] } ]; /** @nocollapse */ RegisterComponent.ctorParameters = function () { return [ { type: FormBuilder }, { type: AccountService }, + { type: OAuthService }, + { type: Store }, { type: ToasterService } ]; }; return RegisterComponent; @@ -274,6 +289,16 @@ if (false) { * @private */ RegisterComponent.prototype.accountService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.oauthService; + /** + * @type {?} + * @private + */ + RegisterComponent.prototype.store; /** * @type {?} * @private diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map index 02d35b5926..5a4e4df1c9 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(private fb: FormBuilder, private accountService: AccountService, private toasterService: ToasterService) {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,AAYQ,IAAA,gCAAS,EAAE,gCAAS,EAAE,8BAAQ;AAEtC;IASE,wBACU,EAAe,EACf,YAA0B,EAC1B,KAAY,EACZ,cAA8B,EACS,OAAgB;QAJvD,OAAE,GAAF,EAAE,CAAa;QACf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAO;QACZ,mBAAc,GAAd,cAAc,CAAgB;QACS,YAAO,GAAP,OAAO,CAAS;QAE/D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC;KACJ;;;;IAED,iCAAQ;;;IAAR;QAAA,iBA0BC;QAzBC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC,CAAC;QAEvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CACF,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAChH;aACE,IAAI,CACH,SAAS;;;QAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,GAAA,EAAC,EAC/D,GAAG;;;QAAC;;gBACI,WAAW,GAAG,GAAG;;;YAAC,cAAM,OAAA,MAAM,CAAC,OAAO,CAAC,KAAK,GAAA,EAAC,CAAC,WAAW,IAAI,CAAC,KAAI,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,IAAI,GAAG;YAC1G,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAClD,EAAC,EACF,UAAU;;;;QAAC,UAAA,GAAG;YACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,EAAC;gBACpC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,UAAU,GAAG,KAAK,IAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;gBApDF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,qxDAAqC;iBACtC;;;;gBAfQ,WAAW;gBAGX,YAAY;gBADZ,KAAK;gBAIL,cAAc;gDAoBlB,QAAQ,YAAI,MAAM,SAAC,iBAAiB;;IAuCzC,qBAAC;CArDD,IAqDC;;;IAhDC,8BAAgB;;IAEhB,oCAAoB;;;;;IAGlB,4BAAuB;;;;;IACvB,sCAAkC;;;;;IAClC,+BAAoB;;;;;IACpB,wCAAsC;;;;;IACtC,iCAA+D;;;;;;;AC5BnE;IASE,wBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,mCAAU;;;;IAAV,UAAW,UAAkB;;YACrB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,wCAAsC,UAAY;SACxD;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;KAC3D;;;;;IAED,iCAAQ;;;;IAAR,UAAS,IAAqB;;YACtB,OAAO,GAAkC;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,uBAAuB;YAC5B,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1F;;gBAvBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;yBAFpB;CAKA,IAwBC;;;;;;IApBa,8BAAyB;;;;;;;ACTvC,AAQQ,IAAAA,kCAAS,EAAEC,kCAAS,EAAEC,gCAAQ,EAAE,wBAAK;AAE7C;IASE,2BAAoB,EAAe,EAAU,cAA8B,EAAU,cAA8B;QAA/F,OAAE,GAAF,EAAE,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QACjH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACA,UAAQ,EAAEF,WAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAEF,WAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,KAAK,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAE,KAAK,CAAC,CAAC;SAC/B,CAAC,CAAC;KACJ;;;;IAED,oCAAQ;;;IAAR;QAAA,iBA4BC;QA3BC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;YAEjB,OAAO,sBAAG;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK;YAC1C,OAAO,EAAE,SAAS;SACnB,EAAmB;QAEpB,IAAI,CAAC,cAAc;aAChB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;QAAC,UAAA,GAAG;YACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,EAAC;gBACpC,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,UAAU,GAAG,KAAK,IAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;gBA7CF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,ugDAAwC;iBACzC;;;;gBAXQ,WAAW;gBAKX,cAAc;gBAPd,cAAc;;IAwDvB,wBAAC;CA9CD,IA8CC;;;IAzCC,iCAAgB;;IAEhB,uCAAoB;;;;;IAER,+BAAuB;;;;;IAAE,2CAAsC;;;;;IAAE,2CAAsC;;;;;;;ACnBrH;IAMM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;IACpD;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;KAC7G;CACF;AAED;IAAA;KAIoC;;gBAJnC,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;;IACkC,2BAAC;CAJpC;;;;;;ACfA;IAcE,4BAAoB,KAAY,EAAU,cAA8B,EAAU,cAA8B;QAA5F,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAEhH,WAAM,sBAAG,EAAE,EAAiB,CAAC;KAFuF;;;;IAQpH,qCAAQ;;;IAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,wBAAK,EAAE,GAAkB,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;KAC1C;;;;IAED,qCAAQ;;;IAAR;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;IAED,iCAAI;;;IAAJ;QAAA,iBAmCC;QAlCC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,cAAc;iBAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC5B,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;YAAC,UAAA,GAAG;gBACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;gBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAA,GAAE,4BAA4B,CAAC,EACpE,cAAc,CACf,CAAC;gBACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;aACxB,EAAC,CACH;iBACA,SAAS;;;;YAAC,UAAC,EAAqB;oBAAnB,oBAAO,EAAE,sBAAQ;gBAC7B,IAAI,OAAO,EAAE;oBACX,KAAI,CAAC,MAAM,GAAG;wBACZ,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,KAAI,CAAC,MAAM,CAAC,IAAI;qBACvB,CAAC;oBACF,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACnC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBAAM;oBACL,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8CAA8C,EAAE,cAAc,EAAE;wBACxF,yBAAyB,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC9C,CAAC,CAAC;oBACH,KAAI,CAAC,MAAM,sBAAG,EAAE,EAAiB,CAAC;iBACnC;gBACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;aAClE,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;;gBAzDF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,0gDAA0C;iBAC3C;;;;gBATQ,KAAK;gBAFL,cAAc;gBAMd,cAAc;;IA4DvB,yBAAC;CA1DD,IA0DC;;;IAnDC,oCAA6B;;IAE7B,wCAAmB;;IAEnB,4CAAwB;;;;;IANZ,mCAAoB;;;;;IAAE,4CAAsC;;;;;IAAE,4CAAsC;;;;;;;;;;;ACXlH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,kBACE,WAAW,EAAE,GAAG,IACb,OAAO,EACV;CACH;;AAED,IAAa,eAAe,GAAG,IAAI,cAAc,CAAC,iBAAiB,CAAC;;;;;;ACVpE;IAaA;KAmBC;;;;;IAbQ,qBAAO;;;;IAAd,UAAe,OAAuB;QAAvB,wBAAA,EAAA,6BAAU,EAAE,EAAW;QACpC,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC/C;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF;SACF,CAAC;KACH;;gBAlBF,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;oBACrE,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;oBACrH,OAAO,EAAE,EAAE;iBACZ;;IAeD,oBAAC;CAnBD;;;;;;;;;;;;ACXA,IAAa,cAAc,sBAAG;IAC5B;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,IAAI;QACf,MAAM;QACN,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACzG;CACF,EAAmB;;;;;;;;;;;;;;ACVpB,sBAEC;;;IADC,8BAAqB;;;;;;;;;;ACDvB,8BAKC;;;IAJC,mCAAiB;;IACjB,uCAAqB;;IACrB,mCAAiB;;IACjB,kCAAiB;;;;;AAGnB,+BAqBC;;;IApBC,oCAAiB;;IACjB,oCAAiB;;IACjB,gCAAa;;IACb,mCAAgB;;IAChB,iCAAc;;IACd,0CAAwB;;IACxB,uCAAoB;;IACpB,gDAA8B;;IAC9B,4CAA0B;;IAC1B,0CAAwB;;IACxB,sCAAmB;;IACnB,4CAAyB;;IACzB,qCAAmB;;IACnB,qCAAkB;;IAClB,wCAAqB;;IACrB,gDAA6B;;IAC7B,0CAAuB;;IACvB,wCAAqB;;IACrB,qCAAkB;;IAClB,8BAAW;;;;;;;;;;AC3Bb,+BAGC;;;IAFC,mCAAiB;;IACjB,oCAAiB;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts b/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts index b6c35d5325..e7cbf3e446 100644 --- a/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts +++ b/npm/ng-packs/dist/account/lib/components/register/register.component.d.ts @@ -1,12 +1,16 @@ import { ToasterService } from '@abp/ng.theme.shared'; import { FormBuilder, FormGroup } from '@angular/forms'; +import { Store } from '@ngxs/store'; +import { OAuthService } from 'angular-oauth2-oidc'; import { AccountService } from '../../services/account.service'; export declare class RegisterComponent { private fb; private accountService; + private oauthService; + private store; private toasterService; form: FormGroup; inProgress: boolean; - constructor(fb: FormBuilder, accountService: AccountService, toasterService: ToasterService); + constructor(fb: FormBuilder, accountService: AccountService, oauthService: OAuthService, store: Store, toasterService: ToasterService); onSubmit(): void; } diff --git a/npm/ng-packs/dist/account/package.json b/npm/ng-packs/dist/account/package.json index 89ccbcd4ff..2d03865487 100644 --- a/npm/ng-packs/dist/account/package.json +++ b/npm/ng-packs/dist/account/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.account", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.theme.shared": "^0.8.2", + "@abp/ng.theme.shared": "^0.8.0", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/core/package.json b/npm/ng-packs/dist/core/package.json index fd73a03043..fb387a2b25 100644 --- a/npm/ng-packs/dist/core/package.json +++ b/npm/ng-packs/dist/core/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.core", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { "@ngxs/router-plugin": "^3.5.0", "@ngxs/storage-plugin": "^3.5.0", diff --git a/npm/ng-packs/dist/identity/package.json b/npm/ng-packs/dist/identity/package.json index 4b1cfcd9a1..013f9359d7 100644 --- a/npm/ng-packs/dist/identity/package.json +++ b/npm/ng-packs/dist/identity/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.identity", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.permission-management": "^0.8.2", + "@abp/ng.permission-management": "^0.8.0", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/permission-management/package.json b/npm/ng-packs/dist/permission-management/package.json index 4168f5b7d7..32fe9f3035 100644 --- a/npm/ng-packs/dist/permission-management/package.json +++ b/npm/ng-packs/dist/permission-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.permission-management", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.theme.shared": "^0.8.2", + "@abp/ng.theme.shared": "^0.8.0", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/tenant-management/package.json b/npm/ng-packs/dist/tenant-management/package.json index ff97cfb8b9..f238c4641d 100644 --- a/npm/ng-packs/dist/tenant-management/package.json +++ b/npm/ng-packs/dist/tenant-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.tenant-management", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.theme.shared": "^0.8.2", + "@abp/ng.theme.shared": "^0.8.0", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-basic/package.json b/npm/ng-packs/dist/theme-basic/package.json index 7e402ff1c6..d38574f664 100644 --- a/npm/ng-packs/dist/theme-basic/package.json +++ b/npm/ng-packs/dist/theme-basic/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.basic", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.theme.shared": "^0.8.2", + "@abp/ng.theme.shared": "^0.8.0", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json index 4862430bad..e8fcc219cb 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"buttonType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js index 4723ad30b6..ae713292e4 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js @@ -596,7 +596,7 @@ var ButtonComponent = /** @class */ (function () { function ButtonComponent() { this.buttonClass = 'btn btn-primary'; - this.buttonType = 'button'; + this.type = 'button'; this.loading = false; this.disabled = false; } @@ -613,12 +613,12 @@ ButtonComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-button', - template: "\n \n " + template: "\n \n " }] } ]; ButtonComponent.propDecorators = { buttonClass: [{ type: core.Input }], - buttonType: [{ type: core.Input }], + type: [{ type: core.Input }], iconClass: [{ type: core.Input }], loading: [{ type: core.Input }], disabled: [{ type: core.Input }] @@ -629,7 +629,7 @@ /** @type {?} */ ButtonComponent.prototype.buttonClass; /** @type {?} */ - ButtonComponent.prototype.buttonType; + ButtonComponent.prototype.type; /** @type {?} */ ButtonComponent.prototype.iconClass; /** @type {?} */ @@ -1196,7 +1196,9 @@ * @return {?} */ function () { - return this.validationErrors.map((/** + if (!this.errors || !this.errors.length) + return []; + return this.errors.map((/** * @param {?} error * @return {?} */ diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map index a1c5758fd7..202b6e56fb 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":";;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;;;;AC/LD;;;;QAOE,yBAAsB,cAA8B;YAA9B,mBAAc,GAAd,cAAc,CAAgB;YAJpD,QAAG,GAAW,UAAU,CAAC;YAEzB,WAAM,GAAY,KAAK,CAAC;SAEgC;;;;;;;QACxD,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,iCAAO;;;;;;QAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,OAAW;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACtD;;;;;;;QAED,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,+BAAK;;;;;;QAAL,UAAM,OAAe,EAAE,KAAa,EAAE,OAAW;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACpD;;;;;;;;;QAES,8BAAI;;;;;;;;QAAd,UAAe,OAAe,EAAE,KAAa,EAAE,QAA0B,EAAE,OAAW;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,YACrB,QAAQ,UAAA,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,KAAK,IACX,OAAO,IACV,GAAG,EAAE,IAAI,CAAC,GAAG,KACT,OAAO,CAAC,OAAO,wBAAK,EAAE,GAAQ,EAAE,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GACrF,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAIA,YAAO,EAAkB,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;;;;;QAED,+BAAK;;;;QAAL,UAAM,MAAuB;YAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,4BAA2B,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SACzB;QACH,sBAAC;KAAA,IAAA;;;QA3CC,kCAAiC;;QAEjC,8BAAyB;;QAEzB,iCAAwB;;;;;QAEZ,yCAAwC;;;;;;;;QCNbC,uCAAqC;QAD9E;YAAA,qEAKC;YAHC,SAAG,GAAW,iBAAiB,CAAC;YAEhC,YAAM,GAAY,IAAI,CAAC;;SACxB;;oBALAC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;kCAJlC;KASC,CAJwC,eAAe,GAIvD;;;QAHC,kCAAgC;;QAEhC,qCAAuB;;;;;;;ACRzB;QA0CE,+BAAoB,mBAAwC;YAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;YAJ5D,YAAO,2BAA0B;YACjC,WAAM,yBAAyB;YAC/B,YAAO,2BAA0B;SAE+B;;;;;QAEhE,qCAAK;;;;QAAL,UAAM,MAAsB;YAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxC;;oBA1CFC,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,8pCA6BT;qBACF;;;;oBAnCQ,mBAAmB;;QA8C5B,4BAAC;KA3CD,IA2CC;;;QATC,wCAAiC;;QACjC,uCAA+B;;QAC/B,wCAAiC;;;;;QAErB,oDAAgD;;;;;;;AC1C9D;QAEA;YA6BE,UAAK,GAAG,OAAO,CAAC;YAEhB,YAAO,GAAG,8BAA8B,CAAC;SAW1C;;;;QAHC,gCAAO;;;QAAP;YACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACrE;;oBAzCFA,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,g1BAuBT;;qBAEF;;QAeD,qBAAC;KA1CD,IA0CC;;;QAbC,+BAAgB;;QAEhB,iCAAyC;;QAEzC,kCAAoB;;QAEpB,oCAAuB;;QAEvB,8BAAU;;;;;;;ACvCZ;QAiCE,4BAAoB,OAAgB,EAAUC,QAAc;YAA5D,iBAqBC;YArBmB,YAAO,GAAP,OAAO,CAAS;YAAU,WAAM,GAANA,QAAM,CAAQ;YAf5D,mBAAc,GAAW,gBAAgB,CAAC;YAG1C,kBAAa,GAAW,cAAc,CAAC;YAGvC,cAAS,GAAY,KAAK,CAAC;YAG3B,WAAM;;;;YAAG,UAAC,MAAgC,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAA,EAAC;YAEtG,kBAAa,GAAW,CAAC,CAAC;YAKxB,OAAO;iBACJ,IAAI,CACHC,wBAAkB,CAACC,mBAAW,EAAEC,kBAAU,CAAC,EAC3CC,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnBC,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,MAAM;gBACf,IAAI,MAAM,YAAYH,mBAAW;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBAClD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;YAELF,QAAM,CAAC,MAAM;iBACV,IAAI,CACHI,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAYE,sBAAe,IAAI,KAAK,YAAYC,oBAAa,GAAA,EAAC,EACnFF,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,KAAK;gBACd,IAAI,KAAK,YAAYC,sBAAe;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBACrD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;SACN;;;;QAED,wCAAW;;;QAAX,eAAgB;;;;QAEhB,yCAAY;;;QAAZ;YAAA,iBAeC;YAdC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAChB,QAAQ,GAAG,WAAW;;;YAAC;gBAC3B,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAC3B,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC1C;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAClC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,GAAG,EAAE;oBACnC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM;oBACL,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACzB;aACF,GAAE,GAAG,CAAC;YAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;;;;QAED,wCAAW;;;QAAX;YAAA,iBAQC;YAPC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,UAAU;;;YAAC;gBACT,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB,GAAE,GAAG,CAAC,CAAC;SACT;;oBA5EFP,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,mMAIT;;qBAEF;;;;oBAXQS,aAAO;oBAFyBC,aAAM;;;qCAe5CC,UAAK;oCAGLA,UAAK;gCAGLA,UAAK;6BAGLA,UAAK;;QA0DR,yBAAC;KA7ED,IA6EC;;;QAnEC,4CAC0C;;QAE1C,2CACuC;;QAEvC,uCAC2B;;QAE3B,oCACsG;;QAEtG,2CAA0B;;QAE1B,sCAAc;;;;;QAEF,qCAAwB;;;;;QAAE,oCAAsB;;;;;;;ACjC9D;QAEA;YAUE,gBAAW,GAAW,iBAAiB,CAAC;YAGxC,SAAI,GAAW,QAAQ,CAAC;YAMxB,YAAO,GAAY,KAAK,CAAC;YAGzB,aAAQ,GAAY,KAAK,CAAC;SAK3B;QAHC,sBAAI,iCAAI;;;;YAAR;gBACE,OAAO,MAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAE,CAAC;aACjF;;;WAAA;;oBA1BFX,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,+LAIT;qBACF;;;kCAEEW,UAAK;2BAGLA,UAAK;gCAGLA,UAAK;8BAGLA,UAAK;+BAGLA,UAAK;;QAMR,sBAAC;KA3BD,IA2BC;;;QAlBC,sCACwC;;QAExC,+BACwB;;QAExB,oCACkB;;QAElB,kCACyB;;QAEzB,mCAC0B;;;;;;;;QCHtB,iBAAiB,GAAG,GAAG;AAE7B;QAuFE,wBAAoB,QAAmB,EAAU,mBAAwC;YAArE,aAAQ,GAAR,QAAQ,CAAW;YAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;YAxChF,aAAQ,GAAY,KAAK,CAAC;YAE1B,eAAU,GAAW,EAAE,CAAC;YAExB,SAAI,GAAc,IAAI,CAAC;YAMtB,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAE5C,SAAI,GAAG,IAAIA,iBAAY,EAAQ,CAAC;YAgB1C,aAAQ,GAAY,KAAK,CAAC;YAE1B,UAAK,GAAY,KAAK,CAAC;YAEvB,cAAS,GAAY,KAAK,CAAC;YAE3B,uBAAkB,GAAY,KAAK,CAAC;YAEpC,aAAQ,GAAY,KAAK,CAAC;YAE1B,aAAQ,GAAG,IAAIf,YAAO,EAAQ,CAAC;SAE8D;QAlF7F,sBACI,mCAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YACD,UAAY,KAAc;gBAA1B,iBAwBC;gBAvBC,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,OAAO;gBAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACtB,IAAI,KAAK,EAAE;wBACT,UAAU;;;wBAAC;4BACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACtB,GAAE,CAAC,CAAC,CAAC;qBACP;oBACD,OAAO;iBACR;gBAED,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;oBACxE,UAAU;;;oBAAC;wBACT,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB,GAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;iBAC5B;aACF;;;WAzBA;QA2BD,sBACI,gCAAI;;;;YADR;gBAEE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;;;YACD,UAAS,KAAc;gBACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,eAAe,EAAE;oBAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAChC;gBAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;;;WAPA;;;;QAmDD,oCAAW;;;QAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;;;;;QAED,mCAAU;;;;QAAV,UAAW,KAAc;YAAzB,iBAUC;YATC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,KAAK;kBACDgB,UAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;qBAC3B,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC;qBACb,SAAS;;;;gBAAC,UAAA,CAAC,IAAI,QAAC,KAAI,CAAC,QAAQ,GAAG,IAAI,IAAC,EAAC;mBACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;SAC7B;;;;QAED,+BAAM;;;QAAN;YAAA,iBAsBC;YArBCC,cAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACzB,IAAI,CACHC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxBC,sBAAY,CAAC,GAAG,CAAC,EACjBZ,gBAAM;;;;YAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,QAAQ,GAAA,EAAC,CAC9E;iBACA,SAAS;;;;YAAC,UAAA,CAAC;gBACV,KAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YAEL,UAAU;;;YAAC;gBACT,IAAI,CAAC,KAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC3BU,cAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;qBAC5C,IAAI,CACHC,mBAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,EACxBX,gBAAM;;;gBAAC,cAAM,OAAA,CAAC,EAAE,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,YAAY,CAAC,GAAA,EAAC,CACrD;qBACA,SAAS;;;gBAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,EAAC,CAAC;aAClC,GAAE,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;;;;QAED,8BAAK;;;QAAL;YAAA,iBAyBC;YAxBC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO;;gBAElC,KAAK,GAAG,YAAY,CACxB,oBAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAiB,UAAU,CAC7F;YAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI,IAAI,CAAC,kBAAkB;oBAAE,OAAO;gBAEpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,mBAAmB;qBACrB,IAAI,CAAC,4DAA4D,EAAE,wBAAwB,CAAC;qBAC5F,SAAS;;;;gBAAC,UAAC,MAAsB;oBAChCQ,UAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS;;;oBAAC;wBACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;qBACjC,EAAC,CAAC;oBAEH,IAAI,MAAM,8BAA6B;wBACrC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;iBACF,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBA1JFb,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,6vCAAqC;qBACtC;;;;oBAlBCkB,cAAS;oBAQF,mBAAmB;;;8BAYzBP,UAAK;2BA8BLA,UAAK;+BAYLA,UAAK;iCAELA,UAAK;2BAELA,UAAK;6BAELA,UAAK;gCAELA,UAAK;oCAELQ,WAAM;2BAENA,WAAM;gCAENC,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;8BAE3CA,iBAAY,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gCAEzCA,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;+BAE3CA,iBAAY,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEC,eAAU,EAAE;gCAE5DD,iBAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;mCAEtEE,cAAS,SAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAE9CC,iBAAY,SAAC,YAAY;;QAkF5B,qBAAC;KA3JD,IA2JC;;;QA5GC,kCAAmC;;QAEnC,oCAAiC;;QAEjC,8BAAgC;;QAEhC,gCAAwB;;QAExB,mCAA2B;;QAE3B,uCAAsD;;QAEtD,8BAA0C;;QAE1C,mCAA0E;;QAE1E,iCAAsE;;QAEtE,mCAA0E;;QAE1E,kCAAyF;;QAEzF,mCAAoG;;QAEpG,sCAA0E;;QAE1E,oCAAuC;;QAEvC,kCAA0B;;QAE1B,+BAAuB;;QAEvB,mCAA2B;;QAE3B,4CAAoC;;QAEpC,kCAA0B;;QAE1B,kCAA+B;;;;;QAEnB,kCAA2B;;;;;QAAE,6CAAgD;;;;;;IAsE3F,SAAS,YAAY,CAAC,KAAe;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;;;;;QAC7B,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,GAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAE,GAC3G,EAAE,CACH,CAAC;KACH;;;;;IAED,SAAS,UAAU,CAAC,KAAoB;QACtC,OAAO,KAAK,CAAC,SAAS;;;;QAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;KACtF;;;;;;AC7LD;QAEA;SAsB8B;;oBAtB7BvB,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,y0BAkBT;qBACF;;QAC4B,qBAAC;KAtB9B;;;;;;ICFA,aAAe,miCAyEd,CAAC;;;;;;ICzEF;QAkBM,QAAQ,GAAG;QACf,YAAY,EAAE;YACZ,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,kCAAkC;SAC5C;QAED,eAAe,EAAE;YACf,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,2EAA2E;SACrF;QAED,eAAe,EAAE;YACf,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,gDAAgD;SAC1D;QAED,eAAe,EAAE;YACf,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,uDAAuD;SACjE;KACF;AAED;QAEE,sBACU,OAAgB,EAChBwB,OAAY,EACZ,mBAAwC,EACxC,MAAsB,EACtB,KAA+B,EAC/B,eAAiC,EACjC,QAAkB;YAP5B,iBAyDC;YAxDS,YAAO,GAAP,OAAO,CAAS;YAChB,UAAK,GAALA,OAAK,CAAO;YACZ,wBAAmB,GAAnB,mBAAmB,CAAqB;YACxC,WAAM,GAAN,MAAM,CAAgB;YACtB,UAAK,GAAL,KAAK,CAA0B;YAC/B,oBAAe,GAAf,eAAe,CAAkB;YACjC,aAAQ,GAAR,QAAQ,CAAU;YAE1B,OAAO,CAAC,IAAI,CAACtB,wBAAkB,CAACuB,sBAAc,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,GAAG;gBACpD,IAAA,gBAA4C,EAA5C,kDAA4C;;oBAC9C,IAAI,GAAG,GAAG;;;gBAAC,cAAM,OAAA,oBAAC,GAAG,IAAuB,KAAK,CAAC,KAAK,GAAA,GAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAE7F,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;;wBAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;oBAEtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;wBACtB,aAAa,CAAC,SAAS;;;wBAAC;4BACtB,KAAI,CAAC,eAAe,EAAE,CAAC;yBACxB,EAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,QAAQ,oBAAC,GAAG,IAAuB,MAAM;wBACvC,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;4BAAC;gCAC3F,OAAA,KAAI,CAAC,eAAe,EAAE;6BAAA,EACvB,CAAC;4BACF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;gCACvC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;6BAC1C,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;4BACnF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,KAAK;gCACZ,OAAO,EAAE,wCAAwC;6BAClD,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,CAAC;4BACJ,IAAI,oBAAC,GAAG,IAAuB,UAAU,KAAK,eAAe,EAAE;gCAC7D,KAAI,CAAC,oBAAoB,CAAC;oCACxB,KAAK,EAAE,eAAe;oCACtB,OAAO,EAAE,wCAAwC;iCAClD,CAAC,CAAC;6BACJ;4BACD,MAAM;wBACR;4BACE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;4BAC7E,MAAM;qBACT;iBACF;aACF,EAAC,CAAC;SACJ;;;;;;;;QAEO,gCAAS;;;;;;;QAAjB,UAAkB,OAAgB,EAAE,KAAc,EAAE,IAAU;YAC5D,IAAI,IAAI,EAAE;gBACR,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACvB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;iBACtB;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;iBACzD;aACF;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;gBACpD,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;;;;;QAEO,sCAAe;;;;QAAvB;YACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAIC,qBAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;gBACrC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAACC,wBAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;aACzE,CAAC,CACH,CAAC;SACH;;;;;QAED,2CAAoB;;;;QAApB,UAAqB,QAAiC;;gBAC9C,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;gBAC1D,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;;gBAEnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE7F,KAAK,IAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC7C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC5C;aACF;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAC,YAAY,CAAC,QAAQ,IAA0B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzF,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC;YACzD,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACnC;;oBAvGF5B,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBA7BzBU,aAAO;oBAAsBmB,WAAK;oBAIlC,mBAAmB;oBAZ1BC,mBAAc;oBACdC,6BAAwB;oBAIxBC,qBAAgB;oBADhBC,aAAQ;;;2BAPV;KAwCA,IAwGC;;;;;;QArGG,+BAAwB;;;;;QACxB,6BAAoB;;;;;QACpB,2CAAgD;;;;;QAChD,8BAA8B;;;;;QAC9B,6BAAuC;;;;;QACvC,uCAAyC;;;;;QACzC,gCAA0B;;;;;;;;QCpCgBlC,4CAAc;QAV5D;;SA8BC;QAnBC,sBAAI,+CAAS;;;;YAAb;gBACE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;;;;gBAAC,UAAA,KAAK;oBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;;wBAE3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;wBACd,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACtF;qBACH;oBAED,OAAO,KAAK,CAAC;iBACd,EAAC,CAAC;aACJ;;;WAAA;;oBA7BFE,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,QAAQ,EAAE,oLAIT;wBACD,eAAe,EAAEiC,4BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;qBACtC;;QAqBD,+BAAC;KAAA,CApB6CC,+BAAc;;;;;;ICb5D;;;;IAkBA,SAAgB,YAAY,CAAC,QAAkB;;YACvC,EAAE;;;QAAG;;gBACH,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAACC,uBAAe,CAAC;YAEtE,OAAOC,aAAQ,CACb,eAAe,CAAC,IAAI,CAClB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,CACb,qDACF,CAAC,IAAI,CAACvB,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjB,CAAA;QAED,OAAO,EAAE,CAAC;KACX;AAED;QAAA;SA8CC;;;;QAdQ,yBAAO;;;QAAd;YACE,OAAO;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEwB,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACN,aAAQ,EAAE,YAAY,CAAC;wBAC9B,UAAU,EAAE,YAAY;qBACzB;oBACD,EAAE,OAAO,EAAEO,6BAAc,EAAE,QAAQ,EAAEA,6BAAc,EAAE;iBACtD;aACF,CAAC;SACH;;oBA7CFC,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,kBAAU;4BACVC,iBAAW;4BACXC,0BAAc;4BACdC,4BAAqB,CAAC,OAAO,CAAC;gCAC5B,cAAc,EAAE,aAAa;gCAC7B,UAAU,EAAE;oCACV,KAAK,EAAE,+CAA+C;oCACtD,GAAG,EAAE,sEAAsE;oCAC3E,SAAS,EAAE,iFAAiF;oCAC5F,GAAG,EAAE,sGAAsG;oCAC3G,SAAS,EAAE,sGAAsG;oCACjH,QAAQ,EAAE,kCAAkC;oCAC5C,gBAAgB,EAAE,kDAAkD;iCACrE;gCACD,aAAa,EAAE,wBAAwB;6BACxC,CAAC;yBACH;wBACD,YAAY,EAAE;4BACZ,eAAe;4BACf,qBAAqB;4BACrB,cAAc;4BACd,cAAc;4BACd,cAAc;4BACd,kBAAkB;4BAClB,wBAAwB;yBACzB;wBACD,OAAO,EAAE,CAACD,0BAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;wBACrH,eAAe,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;qBAC5D;;QAgBD,wBAAC;KA9CD;;;;;;ICpCA;AACA,QAAa,eAAe,GAAGE,kBAAO,CAAC,iBAAiB,EAAE;QACxDC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5DD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxDC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAAC,eAAe,EAAEF,gBAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/F,CAAC;;;;;;;;;;;;;;;;ICHF,IAAiB,YAAY,CAO5B;IAPD,WAAiB,YAAY;;;;QAC3B,sBAKC;;;;YAJC,gCAAwB;;YACxB,6BAAqB;;YACrB,6BAAoB;;YACpB,0BAAiB;;KAEpB,EAPgB,YAAY,KAAZ,YAAY,QAO5B;;;;;;ACTD,AAkBC;IAlBD,WAAiB,OAAO;;;;QACtB,sBAQC;;;;YAPC,qBAAS;;YACT,2BAAmB;;YACnB,uBAAc;;YACd,yBAAiB;;YACjB,uBAAW;;YACX,4CAAqC;;YACrC,0CAAmC;;KAUtC,EAlBgBG,eAAO,KAAPA,eAAO,QAkBvB;;;;;;;;;;;;QCbmCpD,kCAAe;QADnD;;SAKC;;;;;QAHC,+BAAM;;;;QAAN,UAAO,QAAmB;YAA1B,iBAEC;YADC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;YAAC,UAAA,OAAO,IAAI,mBAAG,GAAG,EAAE,KAAI,CAAC,GAAG,IAAK,OAAO,KAAG,EAAC,CAAC,CAAC;SACtF;;oBAJFC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;6BAJlC;KASC,CAJmC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js index 9d9c4c5b4a..dc678192e7 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,c,l,p,d,u,m){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new s.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);var C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}();var x=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var w=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var I=function(){function e(){this.buttonClass="btn btn-primary",this.buttonType="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],buttonType:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new s.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof I&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?s.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;s.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&s.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[I,{static:!1,read:I}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),E="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return s.forkJoin(n.load(null,"style",E,"head","afterbegin")).pipe(c.take(1))}}var T,M=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,S],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,a.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[I,C,A,k,x,w,j],exports:[o.NgbModalModule,I,C,A,k,w],entryComponents:[x,j]}]}],e}(),P=m.trigger("routeAnimations",[m.state("void",m.style({"margin-top":"20px",opacity:"0"})),m.state("*",m.style({"margin-top":"0px",opacity:"1"})),m.transition(":enter",[m.animate("0.2s ease-out",m.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(T||(T={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}();var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=I,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=w,e.ModalComponent=k,e.ThemeSharedModule=M,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=P,e.ɵa=j,e.ɵb=I,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=k,e.ɵh=x,e.ɵi=w,e.ɵj=S,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,s,a,c,l,p,d,u,m){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)s.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return s}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new a.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);var C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}();var x=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var w=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var I=function(){function e(){this.buttonClass="btn btn-primary",this.type="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],type:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new a.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof I&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?a.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;a.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&a.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[I,{static:!1,read:I}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),L="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e}):[]},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return a.forkJoin(n.load(null,"style",L,"head","afterbegin")).pipe(c.take(1))}}var M,T=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,S],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,s.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[I,C,A,k,x,w,j],exports:[o.NgbModalModule,I,C,A,k,w],entryComponents:[x,j]}]}],e}(),P=m.trigger("routeAnimations",[m.state("void",m.style({"margin-top":"20px",opacity:"0"})),m.state("*",m.style({"margin-top":"0px",opacity:"1"})),m.transition(":enter",[m.animate("0.2s ease-out",m.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(M||(M={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}();var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=I,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=w,e.ModalComponent=k,e.ThemeSharedModule=T,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=P,e.ɵa=j,e.ɵb=I,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=k,e.ɵh=x,e.ɵi=w,e.ɵj=S,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.shared.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map index 2efa1e916a..9f06633b69 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","buttonType","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","validationErrors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Options","Toaster","ToasterService","addAll","messages"],"mappings":"8mCAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IAGrB,SAASO,EAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,GAG5E,IAAIK,EAAW,WAQlB,OAPAA,EAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,IAEKO,MAAMb,KAAMU,YAkFzB,SAASI,EAAOC,EAAGN,GACtB,IAAIO,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UACjD,IAAKF,EAAG,OAAOD,EACf,IAAmBI,EAAYC,EAA3BZ,EAAIQ,EAAEJ,KAAKG,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANZ,GAAgBA,KAAM,MAAQU,EAAIX,EAAEc,QAAQC,MAAMF,EAAGG,KAAKL,EAAEM,OAExE,MAAOC,GAASN,EAAI,CAAEM,MAAOA,GACjC,QACQ,IACQP,IAAMA,EAAEI,OAASP,EAAIR,EAAU,SAAIQ,EAAEJ,KAAKJ,GAE1D,QAAkB,GAAIY,EAAG,MAAMA,EAAEM,OAE7B,OAAOL,ECjIX,iBAOE,SAAAM,EAAsBC,GAAA5B,KAAA4B,eAAAA,EAJtB5B,KAAA6B,IAAc,WAEd7B,KAAA8B,QAAkB,EAuCpB,OApCEH,EAAAzB,UAAA6B,KAAA,SAAKC,EAAiBC,EAAeC,GACnC,OAAOlC,KAAKmC,KAAKH,EAASC,EAAO,OAAQC,IAG3CP,EAAAzB,UAAAkC,QAAA,SAAQJ,EAAiBC,EAAeC,GACtC,OAAOlC,KAAKmC,KAAKH,EAASC,EAAO,UAAWC,IAG9CP,EAAAzB,UAAAmC,KAAA,SAAKL,EAAiBC,EAAeC,GACnC,OAAOlC,KAAKmC,KAAKH,EAASC,EAAO,OAAQC,IAG3CP,EAAAzB,UAAAwB,MAAA,SAAMM,EAAiBC,EAAeC,GACpC,OAAOlC,KAAKmC,KAAKH,EAASC,EAAO,QAASC,IAGlCP,EAAAzB,UAAAiC,KAAV,SAAeH,EAAiBC,EAAeK,EAA4BJ,GAYzE,OAXAlC,KAAK4B,eAAeW,MAAMvC,KAAK6B,KAE/B7B,KAAK4B,eAAeY,IAAGpC,EAAA,CACrBkC,SAAQA,EACRG,OAAQT,EACRU,QAAST,GACNC,EAAO,CACVL,IAAK7B,KAAK6B,UACqC,KAAnCK,GAAO,IAAiBJ,QAA0B,CAAEA,OAAQ9B,KAAK8B,UAE/E9B,KAAK2C,QAAU,IAAIC,EAAAA,QACZ5C,KAAK2C,SAGdhB,EAAAzB,UAAAqC,MAAA,SAAMM,GACJ7C,KAAK4B,eAAeW,MAAMvC,KAAK6B,KAC/B7B,KAAK2C,QAAQrB,KAAKuB,GAAM,WACxB7C,KAAK2C,QAAQG,YAEjBnB,uBC5CA,SAAAoB,IAAA,IAAAC,EAAA,OAAAC,GAAAA,EAAApC,MAAAb,KAAAU,YAAAV,YAEEgD,EAAAnB,IAAc,kBAEdmB,EAAAlB,QAAkB,WAHqBoB,EAAAA,EAAAA,uBADxCC,EAAAA,WAAUC,KAAA,CAAC,CAAEC,WAAY,iJACe1B,GCLzC,IAAA2B,EAAA,WA0CE,SAAAA,EAAoBC,GAAAvD,KAAAuD,oBAAAA,EAJpBvD,KAAAwD,QAAO,UACPxD,KAAAyD,OAAM,SACNzD,KAAA0D,QAAO,UAOT,OAHEJ,EAAApD,UAAAyD,MAAA,SAAMd,GACJ7C,KAAKuD,oBAAoBhB,MAAMM,wBAzClCe,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,mBACVC,SAAU,wqCALHf,KA8CTO,EA/CA,GCAA,IAAAS,EAAA,WAEA,SAAAA,IA6BE/D,KAAAiC,MAAQ,QAERjC,KAAAgE,QAAU,+BAWZ,OAHED,EAAA7D,UAAA+D,QAAA,WACEjE,KAAKkE,SAASC,YAAYnE,KAAKoE,KAAMpE,KAAKqE,WAAWC,oCAxCxDV,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,YACVC,SAAU,w+BAwCZC,EA5CA,GCAA,IAAAQ,EAAA,WAiCE,SAAAA,EAAoBC,EAA0BC,GAA9C,IAAAzB,EAAAhD,KAAoBA,KAAAwE,QAAAA,EAA0BxE,KAAAyE,OAAAA,EAf9CzE,KAAA0E,eAAyB,iBAGzB1E,KAAA2E,cAAwB,eAGxB3E,KAAA4E,WAAqB,EAGrB5E,KAAA6E,OAAM,SAAIC,GAAqC,OAAAA,EAAOC,QAAQC,IAAIC,QAAQ,wBAA0B,GAEpGjF,KAAAkF,cAAwB,EAKtBV,EACGW,KACCC,EAAAA,mBAAmBC,EAAAA,YAAaC,EAAAA,YAChCT,EAAAA,OAAO7E,KAAK6E,QACZU,EAAAA,iBAAiBvF,OAElBwF,UAAS,SAACV,GACLA,aAAkBO,EAAAA,YAAarC,EAAKyC,eACnCzC,EAAK0C,gBAGdjB,EAAOkB,OACJR,KACCN,EAAAA,OAAM,SAACe,GAAS,OAAAA,aAAiBC,EAAAA,iBAAmBD,aAAiBE,EAAAA,gBACrEP,EAAAA,iBAAiBvF,OAElBwF,UAAS,SAACI,GACLA,aAAiBC,EAAAA,gBAAiB7C,EAAKyC,eACtCzC,EAAK0C,gBAgClB,OA5BEnB,EAAArE,UAAA6F,YAAA,aAEAxB,EAAArE,UAAAuF,aAAA,WAAA,IAAAzC,EAAAhD,KACEA,KAAK4E,WAAY,MACXoB,EAAWC,YAAW,WACtBjD,EAAKkC,cAAgB,GACvBlC,EAAKkC,eAAiC,GAAhBgB,KAAKC,SAClBnD,EAAKkC,cAAgB,GAC9BlC,EAAKkC,eAAiB,GACblC,EAAKkC,cAAgB,IAC9BlC,EAAKkC,eAAiB,GAEtBkB,cAAcJ,IAEf,KAEHhG,KAAKgG,SAAWA,GAGlBzB,EAAArE,UAAAwF,YAAA,WAAA,IAAA1C,EAAAhD,KACEoG,cAAcpG,KAAKgG,UACnBhG,KAAKkF,cAAgB,IACrBlF,KAAK4E,WAAY,EAEjByB,WAAU,WACRrD,EAAKkC,cAAgB,GACpB,0BA3ENtB,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,iBACVC,SAAU,oiBALHwC,EAAAA,eAFgCC,EAAAA,kDAetCC,EAAAA,6BAGAA,EAAAA,yBAGAA,EAAAA,sBAGAA,EAAAA,SA0DHjC,EApFA,GCAA,IAAAkC,EAAA,WAEA,SAAAA,IAUEzG,KAAA0G,YAAsB,kBAGtB1G,KAAA2G,WAAqB,SAMrB3G,KAAA4G,SAAmB,EAGnB5G,KAAA6G,UAAoB,EAKtB,OAHErH,OAAAsH,eAAIL,EAAAvG,UAAA,OAAI,KAAR,WACE,MAAO,IAAGF,KAAK4G,QAAU,wBAA0B5G,KAAK+G,WAAa,+DAzBxEnD,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,aACVC,SAAU,qOAOT0C,EAAAA,0BAGAA,EAAAA,yBAGAA,EAAAA,uBAGAA,EAAAA,wBAGAA,EAAAA,SAMHC,EA7BA,OCuBAO,EAAA,WAuFE,SAAAA,EAAoB9C,EAA6BX,GAA7BvD,KAAAkE,SAAAA,EAA6BlE,KAAAuD,oBAAAA,EAxCxCvD,KAAAiH,UAAoB,EAEpBjH,KAAAkH,WAAqB,GAErBlH,KAAAmH,KAAkB,KAMjBnH,KAAAoH,cAAgB,IAAIC,EAAAA,aAEpBrH,KAAAsH,KAAO,IAAID,EAAAA,aAgBrBrH,KAAAuH,UAAoB,EAEpBvH,KAAAwH,OAAiB,EAEjBxH,KAAAyH,WAAqB,EAErBzH,KAAA0H,oBAA8B,EAE9B1H,KAAA2H,UAAoB,EAEpB3H,KAAA4H,SAAW,IAAIhF,EAAAA,QAsEjB,OAtJEpD,OAAAsH,eACIE,EAAA9G,UAAA,UAAO,KADX,WAEE,OAAOF,KAAKuH,cAEd,SAAY9F,GAAZ,IAAAuB,EAAAhD,KACuB,kBAAVyB,IAENzB,KAAK6H,aAUNpG,GACFzB,KAAK8H,WAAWrG,GAChBzB,KAAK+H,WAEL/H,KAAK2H,UAAW,EAChB3H,KAAKkE,SAAS8D,SAAShI,KAAK6H,aAAavD,cAAe,gBACxD+B,WAAU,WACRrD,EAAK8E,WAAWrG,GAChBuB,EAAK+C,eACJkC,MAlBCxG,GACF4E,WAAU,WACRrD,EAAKyE,UAAYhG,EACjBuB,EAAKkF,QAAUzG,GACd,qCAkBTjC,OAAAsH,eACIE,EAAA9G,UAAA,OAAI,KADR,WAEE,OAAOF,KAAKwH,WAEd,SAAS/F,GACHzB,KAAKmI,WAAanI,KAAKmI,qBAAqB1B,IAC9CzG,KAAKmI,UAAUvB,QAAUnF,GAG3BzB,KAAKwH,MAAQ/F,mCA6CfuF,EAAA9G,UAAA6F,YAAA,WACE/F,KAAK4H,SAAStG,QAGhB0F,EAAA9G,UAAA4H,WAAA,SAAWrG,GAAX,IAAAuB,EAAAhD,KACEA,KAAKuH,SAAW9F,EAChBzB,KAAKoH,cAAcgB,KAAK3G,GACxBzB,KAAKyH,UAAYhG,EAEjBA,EACI4G,EAAAA,MAAMJ,KACH9C,KAAKmD,EAAAA,KAAK,IACV9C,UAAS,SAAC+C,GAAK,OAACvF,EAAK2E,UAAW,IAClC3H,KAAK2H,UAAW,GAGvBX,EAAA9G,UAAA6H,OAAA,WAAA,IAAA/E,EAAAhD,KACEwI,EAAAA,UAAUC,SAAU,SACjBtD,KACCuD,EAAAA,UAAU1I,KAAK4H,UACfe,EAAAA,aAAa,KACb9D,EAAAA,OAAM,SAAEhD,GAAuB,OAAAA,GAAoB,WAAbA,EAAI+G,MAAqB5F,EAAK2E,YAErEnC,UAAS,SAAC+C,GACTvF,EAAKW,UAGT0C,WAAU,WACHrD,EAAK6F,UACVL,EAAAA,UAAUxF,EAAK6F,SAASvE,cAAe,SACpCa,KACCuD,EAAAA,UAAU1F,EAAK4E,UACf/C,EAAAA,OAAM,WAAO,SAAG7B,EAAK2E,WAAY3E,EAAK6E,iBAEvCrC,UAAS,WAAO,OAAAxC,EAAKW,WACvB,GAEH3D,KAAKsH,KAAKc,QAGZpB,EAAA9G,UAAAyD,MAAA,WAAA,IAAAX,EAAAhD,KACE,GAAKA,KAAK2H,WAAY3H,KAAK8I,KAM3B,GA4BJ,SAAoBC,GAClB,OAAOA,EAAMC,UAAS,SAACC,GAAQ,OAACA,EAAKC,WAAa,IAAIjE,QAAQ,aAAe,KAAM,EA7B7EkE,CAqBR,SAASC,EAAaL,GACpB,OAAOpJ,MAAM0J,KAAKN,GAAOO,OAAM,SAC5BC,EAAKC,GAAQ,OP9CX,WACH,IAAK,IAAInI,EAAK,GAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3Ca,EAAKA,EAAGoI,OAAO3I,EAAOJ,UAAUF,KACpC,OAAOa,EO2COqI,CAAIH,EAASC,EAAIG,YAAcH,EAAIG,WAAWhJ,OAASyI,EAAaI,EAAIG,YAAc,CAACH,KACrG,IA5BcJ,CACXpJ,KAAK6H,aAAavD,cAAcsF,cAAc,mBAAmCD,aAG7D,CACrB,GAAI3J,KAAK0H,mBAAoB,OAE7B1H,KAAK0H,oBAAqB,EAC1B1H,KAAKuD,oBACFlB,KAAK,6DAA8D,0BACnEmD,UAAS,SAAE3C,GACVwF,EAAAA,MAjJgB,KAiJS7C,UAAS,WAChCxC,EAAK0E,oBAAqB,IAGlB,YAAN7E,IACFG,EAAKkF,SAAU,UAIrBlI,KAAKkI,SAAU,uBAxJpBtE,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,YACVC,SAAA,2uCAjBA+F,EAAAA,iBAQO9G,sCAYNyD,EAAAA,oBA8BAA,EAAAA,wBAYAA,EAAAA,0BAEAA,EAAAA,oBAEAA,EAAAA,sBAEAA,EAAAA,yBAEAA,EAAAA,6BAEAsD,EAAAA,qBAEAA,EAAAA,0BAEAC,EAAAA,aAAY3G,KAAA,CAAC,YAAa,CAAE4G,QAAQ,qBAEpCD,EAAAA,aAAY3G,KAAA,CAAC,UAAW,CAAE4G,QAAQ,uBAElCD,EAAAA,aAAY3G,KAAA,CAAC,YAAa,CAAE4G,QAAQ,sBAEpCD,EAAAA,aAAY3G,KAAA,CAAC,WAAY,CAAE4G,QAAQ,EAAOC,KAAMC,EAAAA,gCAEhDH,EAAAA,aAAY3G,KAAA,CAACqD,EAAiB,CAAEuD,QAAQ,EAAOC,KAAMxD,0BAErD0D,EAAAA,UAAS/G,KAAA,CAAC,kBAAmB,CAAE4G,QAAQ,wBAEvCI,EAAAA,aAAYhH,KAAA,CAAC,iBAkFhB4D,EA3JA,GCvBA,IAAAqD,EAAA,WAEA,SAAAA,KAsB6B,2BAtB5BzG,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,YACVC,SAAU,40BAoBiBuG,EAxB7B,GCAAC,EAAe,oiCCkBTC,EAAW,CACfC,aAAc,CACZxI,QAAS,yBACTgC,QAAS,oCAGXyG,gBAAiB,CACfzI,QAAS,6BACTgC,QAAS,6EAGX0G,gBAAiB,CACf1I,QAAS,0BACTgC,QAAS,kDAGX2G,gBAAiB,CACf3I,QAAS,sBACTgC,QAAS,0DAIb4G,EAAA,WAEE,SAAAA,EACUpG,EACAqG,EACAtH,EACAuH,EACAC,EACAC,EACAC,GAPV,IAAAjI,EAAAhD,KACUA,KAAAwE,QAAAA,EACAxE,KAAA6K,MAAAA,EACA7K,KAAAuD,oBAAAA,EACAvD,KAAA8K,OAAAA,EACA9K,KAAA+K,MAAAA,EACA/K,KAAAgL,gBAAAA,EACAhL,KAAAiL,SAAAA,EAERzG,EAAQW,KAAKC,EAAAA,mBAAmB8F,EAAAA,iBAAiB1F,UAAS,SAAC2F,GACjD,IAAAC,EAAAD,EAAApG,QAAAsG,OAAA,IAAAD,EAAA,GAAAA,EACFE,EAAOC,EAAG,WAAO,OAAA,EAA2B7J,MAAMA,OAAO6I,EAASC,aAAaxI,SAErF,GAAIqJ,EAAIG,QAAQC,IAAI,mBAAoB,KAChCC,EAAgB1I,EAAK2I,UAAU,KAAM,KAAML,GAE9B,MAAfD,EAAIxI,QACN6I,EAAclG,UAAS,WACrBxC,EAAK4I,yBAIT,OAAQ,EAA2B/I,QACjC,KAAK,IACHG,EAAK2I,UAAUpB,EAASE,gBAAgBzG,QAASuG,EAASE,gBAAgBzI,SAASwD,UAAS,WAC1F,OAAAxC,EAAK4I,oBAEP,MACF,KAAK,IACH5I,EAAK6I,qBAAqB,CACxB5J,MAAOsI,EAASG,gBAAgB1I,QAChCgC,QAASuG,EAASG,gBAAgB1G,UAEpC,MACF,KAAK,IACHhB,EAAK2I,UAAUpB,EAASI,gBAAgB3G,QAASuG,EAASI,gBAAgB3I,SAC1E,MACF,KAAK,IACHgB,EAAK6I,qBAAqB,CACxB5J,MAAO,MACP+B,QAAS,2CAEX,MACF,KAAK,EAC2C,kBAA1C,EAA2B8H,YAC7B9I,EAAK6I,qBAAqB,CACxB5J,MAAO,gBACP+B,QAAS,2CAGb,MACF,QACEhB,EAAK2I,UAAUpB,EAASC,aAAaxG,QAASuG,EAASC,aAAaxI,mBAOtE4I,EAAA1K,UAAAyL,UAAR,SAAkB3J,EAAkBC,EAAgBqJ,GAUlD,OATIA,IACEA,EAAKtH,SACPhC,EAAUsJ,EAAKtH,QACf/B,EAAQqJ,EAAKtJ,SAEbA,EAAUsJ,EAAKtJ,SAAWuI,EAASC,aAAaxI,SAI7ChC,KAAKuD,oBAAoB7B,MAAMM,EAASC,EAAO,CACpD8J,eAAe,EACfC,QAAS,QAILpB,EAAA1K,UAAA0L,gBAAR,WACE5L,KAAK6K,MAAMoB,SACT,IAAIC,EAAAA,SAAS,CAAC,kBAAmB,KAAM,CACrCC,MAAO,CAAEC,YAAapM,KAAK6K,MAAMwB,eAAeC,EAAAA,aAAaH,MAAMnH,SAKzE4F,EAAA1K,UAAA2L,qBAAA,SAAqBU,OACbrI,EAAWlE,KAAKgL,gBAAgBwB,eAAe,KAAM,MACrDpI,EAAOF,EAASuI,kBAAkB,YAAY,GAE9CC,EAAe1M,KAAK+K,MAAM4B,wBAAwB5I,GAAgB5D,OAAOH,KAAKiL,UAEpF,IAAK,IAAMpJ,KAAO6K,EAAaH,SACzBG,EAAaH,SAAS1M,eAAegC,KACvC6K,EAAaH,SAAS1K,GAAO0K,EAAS1K,IAI1C7B,KAAK8K,OAAO8B,WAAWF,EAAaG,UACpC3I,EAAS4I,YAAY1I,EAAOsI,EAAqB,SAA0BK,UAAU,IAErFL,EAAaH,SAASrI,SAAWA,EACjCwI,EAAaH,SAASlI,WAAaqI,EAAaM,SAChDN,EAAaH,SAASnI,KAAOA,uBAtGhCjB,EAAAA,WAAUC,KAAA,CAAC,CAAEC,WAAY,oDA7BjBiD,EAAAA,eAA6B2G,EAAAA,aAI7BlK,SAZPmK,EAAAA,sBACAC,EAAAA,gCAIAC,EAAAA,wBADAC,EAAAA,sSAiCF,qBCrCA,SAAAC,mDA4BA,OAlB8CpK,EAAAA,EAAAA,GAC5C1D,OAAAsH,eAAIwG,EAAApN,UAAA,YAAS,KAAb,WACE,OAAOF,KAAKuN,iBAAiBC,IAAG,SAAC9L,GAC/B,IAAKA,EAAMM,QAAS,OAAON,MAErB+L,EAAQ/L,EAAMM,QAAQiD,QAAQ,KAEpC,OAAIwI,GAAS,EACXrN,EAAA,GACKsB,EAAK,CACRM,QAASN,EAAMM,QAAQ0L,MAAM,EAAGD,GAChCE,kBAAmBjM,EAAMM,QAAQ0L,MAAMD,EAAQ,EAAG/L,EAAMM,QAAQrB,OAAS,GAAGiN,MAAM,OAI/ElM,yDAzBZkC,EAAAA,UAASR,KAAA,CAAC,CACTS,SAAU,uBACVC,SAAU,iLAKV+J,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,SAoBnCZ,GAlB8CvJ,EAAAA,0BCK9C,SAAgBoK,EAAalD,GAe3B,OAdQ,eACAmD,EAAmCnD,EAASQ,IAAI4C,EAAAA,iBAEtD,OAAOC,EAAAA,SACLF,EAAgBG,KACd,KACA,QACAjE,EACA,OACA,eAEFnF,KAAKmD,EAAAA,KAAK,KAMhB,IClCiBkG,EDkCjBC,EAAA,WAAA,SAAAA,KA8CA,OAdSA,EAAAC,QAAP,WACE,MAAO,CACLC,SAAUF,EACVG,UAAW,CACT,CACEC,QAASC,EAAAA,gBACTC,OAAO,EACPC,KAAM,CAAC3B,EAAAA,SAAUzC,GACjBqE,WAAYd,GAEd,CAAEU,QAASK,EAAAA,eAAgBC,SAAUD,EAAAA,uCA1C5CE,EAAAA,SAAQhM,KAAA,CAAC,CACRiM,QAAS,CACPC,EAAAA,WACAC,EAAAA,YACAC,EAAAA,eACAC,EAAAA,sBAAsBf,QAAQ,CAC5BgB,eAAgB,cAChBC,WAAY,CACVC,MAAO,gDACPC,IAAK,uEACLC,UAAW,kFACXC,IAAK,uGACLC,UAAW,uGACXC,SAAU,mCACVC,iBAAkB,oDAEpBC,cAAe7C,KAGnB8C,aAAc,CACZ3J,EACAnD,EACA+G,EACArD,EACAjD,EACAQ,EACA+I,GAEF+C,QAAS,CAACb,EAAAA,eAAgB/I,EAAiBnD,EAAuB+G,EAAgBrD,EAAgBzC,GAClG+L,gBAAiB,CAACvM,EAAgBuJ,OAiBpCmB,EA9CA,GEnCa8B,EAAkBC,EAAAA,QAAQ,kBAAmB,CACxDrE,EAAAA,MAAM,OAAQsE,EAAAA,MAAM,CAAEC,aAAc,OAAQC,QAAS,OACrDxE,EAAAA,MAAM,IAAKsE,EAAAA,MAAM,CAAEC,aAAc,MAAOC,QAAS,OACjDC,EAAAA,WAAW,SAAU,CAACC,EAAAA,QAAQ,gBAAiBJ,EAAAA,MAAM,CAAEE,QAAS,IAAKD,aAAc,cDFrF,SAAiBlC,GACf,SAAAsC,iBADF,CAAiBtC,IAAAA,EAAY,KEF7B,SAAiBuC,GACf,SAAAD,MADeC,EAAAA,UAAAA,EAAAA,QAAO,eAAxB,qBCIA,SAAAC,0DACoC9N,EAAAA,EAAAA,GAClC8N,EAAA9Q,UAAA+Q,OAAA,SAAOC,GAAP,IAAAlO,EAAAhD,KACEA,KAAK4B,eAAeqP,OAAOC,EAAS1D,IAAG,SAACxL,GAAW,OAAA5B,EAAA,CAAGyB,IAAKmB,EAAKnB,KAAQG,2BAH3EmB,EAAAA,WAAUC,KAAA,CAAC,CAAEC,WAAY,iJACU1B","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","type","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","errors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Options","Toaster","ToasterService","addAll","messages"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js index a9813a1bcb..e9055e40cd 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/button/button.component.js @@ -6,7 +6,7 @@ import { Component, Input } from '@angular/core'; export class ButtonComponent { constructor() { this.buttonClass = 'btn btn-primary'; - this.buttonType = 'button'; + this.type = 'button'; this.loading = false; this.disabled = false; } @@ -21,7 +21,7 @@ ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: ` - ` @@ -29,7 +29,7 @@ ButtonComponent.decorators = [ ]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], - buttonType: [{ type: Input }], + type: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], disabled: [{ type: Input }] @@ -38,7 +38,7 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.buttonClass; /** @type {?} */ - ButtonComponent.prototype.buttonType; + ButtonComponent.prototype.type; /** @type {?} */ ButtonComponent.prototype.iconClass; /** @type {?} */ @@ -46,4 +46,4 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.disabled; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVWpELE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBVUUsZ0JBQVcsR0FBVyxpQkFBaUIsQ0FBQztRQUd4QyxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBTTlCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUs1QixDQUFDOzs7O0lBSEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2xGLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7OztHQUlUO2FBQ0Y7OzswQkFFRSxLQUFLO3lCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7Ozs7SUFaTixzQ0FDd0M7O0lBRXhDLHFDQUM4Qjs7SUFFOUIsb0NBQ2tCOztJQUVsQixrQ0FDeUI7O0lBRXpCLG1DQUMwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBbYXR0ci50eXBlXT1cImJ1dHRvblR5cGVcIiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCI+XG4gICAgICA8aSBbbmdDbGFzc109XCJpY29uXCIgY2xhc3M9XCJtci0xXCI+PC9pPjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYnV0dG9uQ2xhc3M6IHN0cmluZyA9ICdidG4gYnRuLXByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIGJ1dHRvblR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuXG4gIEBJbnB1dCgpXG4gIGljb25DbGFzczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVWpELE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBVUUsZ0JBQVcsR0FBVyxpQkFBaUIsQ0FBQztRQUd4QyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBTXhCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUs1QixDQUFDOzs7O0lBSEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2xGLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7OztHQUlUO2FBQ0Y7OzswQkFFRSxLQUFLO21CQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7Ozs7SUFaTixzQ0FDd0M7O0lBRXhDLCtCQUN3Qjs7SUFFeEIsb0NBQ2tCOztJQUVsQixrQ0FDeUI7O0lBRXpCLG1DQUMwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBbYXR0ci50eXBlXT1cInR5cGVcIiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCI+XG4gICAgICA8aSBbbmdDbGFzc109XCJpY29uXCIgY2xhc3M9XCJtci0xXCI+PC9pPjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYnV0dG9uQ2xhc3M6IHN0cmluZyA9ICdidG4gYnRuLXByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuXG4gIEBJbnB1dCgpXG4gIGljb25DbGFzczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubG9hZGluZyA/ICdmYSBmYS1zcGluIGZhLXNwaW5uZXInIDogdGhpcy5pY29uQ2xhc3MgfHwgJ2Qtbm9uZSd9YDtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js index c3db3d063a..56eef48009 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/errors/validation-error.component.js @@ -9,7 +9,9 @@ export class ValidationErrorComponent extends ErrorComponent { * @return {?} */ get abpErrors() { - return this.validationErrors.map((/** + if (!this.errors || !this.errors.length) + return []; + return this.errors.map((/** * @param {?} error * @return {?} */ @@ -37,4 +39,4 @@ ValidationErrorComponent.decorators = [ encapsulation: ViewEncapsulation.None }] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQWMsd0JBQXdCLElBQUksY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFZNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7Ozs7SUFDMUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxPQUFPLEtBQUssQ0FBQzs7a0JBRTNCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFFeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QseUJBQ0ssS0FBSyxJQUNSLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUN0RjthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7O0dBSVQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb24sIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBhcyBFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC12YWxpZGF0aW9uLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhYnBFcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAge3sgZXJyb3IubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogZXJyb3IuaW50ZXJwb2xpdGVQYXJhbXMgfX1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBleHRlbmRzIEVycm9yQ29tcG9uZW50IHtcbiAgZ2V0IGFicEVycm9ycygpOiBWYWxpZGF0aW9uLkVycm9yW10gJiB7IGludGVycG9saXRlUGFyYW1zPzogc3RyaW5nW10gfSB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbkVycm9ycy5tYXAoZXJyb3IgPT4ge1xuICAgICAgaWYgKCFlcnJvci5tZXNzYWdlKSByZXR1cm4gZXJyb3I7XG5cbiAgICAgIGNvbnN0IGluZGV4ID0gZXJyb3IubWVzc2FnZS5pbmRleE9mKCdbJyk7XG5cbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZXJyb3IsXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZS5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgaW50ZXJwb2xpdGVQYXJhbXM6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoaW5kZXggKyAxLCBlcnJvci5tZXNzYWdlLmxlbmd0aCAtIDEpLnNwbGl0KCcsJyksXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQWMsd0JBQXdCLElBQUksY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFZNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7Ozs7SUFDMUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxPQUFPLEtBQUssQ0FBQzs7a0JBRTNCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFFeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QseUJBQ0ssS0FBSyxJQUNSLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUN0RjthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQTdCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7O0dBSVQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb24sIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBhcyBFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC12YWxpZGF0aW9uLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhYnBFcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAge3sgZXJyb3IubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogZXJyb3IuaW50ZXJwb2xpdGVQYXJhbXMgfX1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBleHRlbmRzIEVycm9yQ29tcG9uZW50IHtcbiAgZ2V0IGFicEVycm9ycygpOiBWYWxpZGF0aW9uLkVycm9yW10gJiB7IGludGVycG9saXRlUGFyYW1zPzogc3RyaW5nW10gfSB7XG4gICAgaWYgKCF0aGlzLmVycm9ycyB8fCAhdGhpcy5lcnJvcnMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICByZXR1cm4gdGhpcy5lcnJvcnMubWFwKGVycm9yID0+IHtcbiAgICAgIGlmICghZXJyb3IubWVzc2FnZSkgcmV0dXJuIGVycm9yO1xuXG4gICAgICBjb25zdCBpbmRleCA9IGVycm9yLm1lc3NhZ2UuaW5kZXhPZignWycpO1xuXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIGludGVycG9saXRlUGFyYW1zOiBlcnJvci5tZXNzYWdlLnNsaWNlKGluZGV4ICsgMSwgZXJyb3IubWVzc2FnZS5sZW5ndGggLSAxKS5zcGxpdCgnLCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXJyb3I7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js index 68f6a25d57..88485470d2 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/button/button.component.js @@ -6,7 +6,7 @@ import { Component, Input } from '@angular/core'; var ButtonComponent = /** @class */ (function () { function ButtonComponent() { this.buttonClass = 'btn btn-primary'; - this.buttonType = 'button'; + this.type = 'button'; this.loading = false; this.disabled = false; } @@ -23,12 +23,12 @@ var ButtonComponent = /** @class */ (function () { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', - template: "\n \n " + template: "\n \n " }] } ]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], - buttonType: [{ type: Input }], + type: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], disabled: [{ type: Input }] @@ -40,7 +40,7 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.buttonClass; /** @type {?} */ - ButtonComponent.prototype.buttonType; + ButtonComponent.prototype.type; /** @type {?} */ ButtonComponent.prototype.iconClass; /** @type {?} */ @@ -48,4 +48,4 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.disabled; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpEO0lBQUE7UUFVRSxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFNOUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFIQyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOztnQkExQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUscU1BSVQ7aUJBQ0Y7Ozs4QkFFRSxLQUFLOzZCQUdMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7O0lBTVIsc0JBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQW5CWSxlQUFlOzs7SUFDMUIsc0NBQ3dDOztJQUV4QyxxQ0FDOEI7O0lBRTlCLG9DQUNrQjs7SUFFbEIsa0NBQ3lCOztJQUV6QixtQ0FDMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJidXR0b25UeXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBidXR0b25UeXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmxvYWRpbmcgPyAnZmEgZmEtc3BpbiBmYS1zcGlubmVyJyA6IHRoaXMuaWNvbkNsYXNzIHx8ICdkLW5vbmUnfWA7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpEO0lBQUE7UUFVRSxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBR3hDLFNBQUksR0FBVyxRQUFRLENBQUM7UUFNeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFIQyxzQkFBSSxpQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxNQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBRSxDQUFDO1FBQ2xGLENBQUM7OztPQUFBOztnQkExQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsK0xBSVQ7aUJBQ0Y7Ozs4QkFFRSxLQUFLO3VCQUdMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7O0lBTVIsc0JBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQW5CWSxlQUFlOzs7SUFDMUIsc0NBQ3dDOztJQUV4QywrQkFDd0I7O0lBRXhCLG9DQUNrQjs7SUFFbEIsa0NBQ3lCOztJQUV6QixtQ0FDMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gW2F0dHIudHlwZV09XCJ0eXBlXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibXItMVwiPjwvaT48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1wcmltYXJ5JztcblxuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBpY29uQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmxvYWRpbmcgPyAnZmEgZmEtc3BpbiBmYS1zcGlubmVyJyA6IHRoaXMuaWNvbkNsYXNzIHx8ICdkLW5vbmUnfWA7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js index 93a2a89d7d..a44a93f69c 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/errors/validation-error.component.js @@ -15,7 +15,9 @@ var ValidationErrorComponent = /** @class */ (function (_super) { * @return {?} */ function () { - return this.validationErrors.map((/** + if (!this.errors || !this.errors.length) + return []; + return this.errors.map((/** * @param {?} error * @return {?} */ @@ -44,4 +46,4 @@ var ValidationErrorComponent = /** @class */ (function (_super) { return ValidationErrorComponent; }(ErrorComponent)); export { ValidationErrorComponent }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFjLHdCQUF3QixJQUFJLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVGO0lBVThDLG9EQUFjO0lBVjVEOztJQTRCQSxDQUFDO0lBakJDLHNCQUFJLCtDQUFTOzs7O1FBQWI7WUFDRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxLQUFLO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87b0JBQUUsT0FBTyxLQUFLLENBQUM7O29CQUUzQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUV4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDZCw0QkFDSyxLQUFLLElBQ1IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDdEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQ3RGO2lCQUNIO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDOzs7T0FBQTs7Z0JBM0JGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0xBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7SUFtQkQsK0JBQUM7Q0FBQSxBQTVCRCxDQVU4QyxjQUFjLEdBa0IzRDtTQWxCWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiwgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGFzIEVycm9yQ29tcG9uZW50IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXZhbGlkYXRpb24tZXJyb3InLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGFicEVycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICB7eyBlcnJvci5tZXNzYWdlIHwgYWJwTG9jYWxpemF0aW9uOiBlcnJvci5pbnRlcnBvbGl0ZVBhcmFtcyB9fVxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGV4dGVuZHMgRXJyb3JDb21wb25lbnQge1xuICBnZXQgYWJwRXJyb3JzKCk6IFZhbGlkYXRpb24uRXJyb3JbXSAmIHsgaW50ZXJwb2xpdGVQYXJhbXM/OiBzdHJpbmdbXSB9IHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uRXJyb3JzLm1hcChlcnJvciA9PiB7XG4gICAgICBpZiAoIWVycm9yLm1lc3NhZ2UpIHJldHVybiBlcnJvcjtcblxuICAgICAgY29uc3QgaW5kZXggPSBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ1snKTtcblxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5lcnJvcixcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICBpbnRlcnBvbGl0ZVBhcmFtczogZXJyb3IubWVzc2FnZS5zbGljZShpbmRleCArIDEsIGVycm9yLm1lc3NhZ2UubGVuZ3RoIC0gMSkuc3BsaXQoJywnKSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFjLHdCQUF3QixJQUFJLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVGO0lBVThDLG9EQUFjO0lBVjVEOztJQThCQSxDQUFDO0lBbkJDLHNCQUFJLCtDQUFTOzs7O1FBQWI7WUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUVuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRzs7OztZQUFDLFVBQUEsS0FBSztnQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO29CQUFFLE9BQU8sS0FBSyxDQUFDOztvQkFFM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFFeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ2QsNEJBQ0ssS0FBSyxJQUNSLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUN0RjtpQkFDSDtnQkFFRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQzs7O09BQUE7O2dCQTdCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLG9MQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7O0lBcUJELCtCQUFDO0NBQUEsQUE5QkQsQ0FVOEMsY0FBYyxHQW9CM0Q7U0FwQlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb24sIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBhcyBFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC12YWxpZGF0aW9uLWVycm9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhYnBFcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAge3sgZXJyb3IubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogZXJyb3IuaW50ZXJwb2xpdGVQYXJhbXMgfX1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBleHRlbmRzIEVycm9yQ29tcG9uZW50IHtcbiAgZ2V0IGFicEVycm9ycygpOiBWYWxpZGF0aW9uLkVycm9yW10gJiB7IGludGVycG9saXRlUGFyYW1zPzogc3RyaW5nW10gfSB7XG4gICAgaWYgKCF0aGlzLmVycm9ycyB8fCAhdGhpcy5lcnJvcnMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICByZXR1cm4gdGhpcy5lcnJvcnMubWFwKGVycm9yID0+IHtcbiAgICAgIGlmICghZXJyb3IubWVzc2FnZSkgcmV0dXJuIGVycm9yO1xuXG4gICAgICBjb25zdCBpbmRleCA9IGVycm9yLm1lc3NhZ2UuaW5kZXhPZignWycpO1xuXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIGludGVycG9saXRlUGFyYW1zOiBlcnJvci5tZXNzYWdlLnNsaWNlKGluZGV4ICsgMSwgZXJyb3IubWVzc2FnZS5sZW5ndGggLSAxKS5zcGxpdCgnLCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXJyb3I7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js index 096ea0ae9a..7d89d25385 100644 --- a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js @@ -406,7 +406,7 @@ if (false) { class ButtonComponent { constructor() { this.buttonClass = 'btn btn-primary'; - this.buttonType = 'button'; + this.type = 'button'; this.loading = false; this.disabled = false; } @@ -421,7 +421,7 @@ ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', template: ` - ` @@ -429,7 +429,7 @@ ButtonComponent.decorators = [ ]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], - buttonType: [{ type: Input }], + type: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], disabled: [{ type: Input }] @@ -438,7 +438,7 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.buttonClass; /** @type {?} */ - ButtonComponent.prototype.buttonType; + ButtonComponent.prototype.type; /** @type {?} */ ButtonComponent.prototype.iconClass; /** @type {?} */ @@ -1056,7 +1056,9 @@ class ValidationErrorComponent extends ValidationErrorComponent$1 { * @return {?} */ get abpErrors() { - return this.validationErrors.map((/** + if (!this.errors || !this.errors.length) + return []; + return this.errors.map((/** * @param {?} error * @return {?} */ diff --git a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map index 905434cc1c..8130648c15 100644 --- a/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm2015/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js index 11f8ed6b4d..86ba25a341 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js @@ -406,7 +406,7 @@ if (false) { var ButtonComponent = /** @class */ (function () { function ButtonComponent() { this.buttonClass = 'btn btn-primary'; - this.buttonType = 'button'; + this.type = 'button'; this.loading = false; this.disabled = false; } @@ -423,12 +423,12 @@ var ButtonComponent = /** @class */ (function () { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'abp-button', - template: "\n \n " + template: "\n \n " }] } ]; ButtonComponent.propDecorators = { buttonClass: [{ type: Input }], - buttonType: [{ type: Input }], + type: [{ type: Input }], iconClass: [{ type: Input }], loading: [{ type: Input }], disabled: [{ type: Input }] @@ -439,7 +439,7 @@ if (false) { /** @type {?} */ ButtonComponent.prototype.buttonClass; /** @type {?} */ - ButtonComponent.prototype.buttonType; + ButtonComponent.prototype.type; /** @type {?} */ ButtonComponent.prototype.iconClass; /** @type {?} */ @@ -1006,7 +1006,9 @@ var ValidationErrorComponent = /** @class */ (function (_super) { * @return {?} */ function () { - return this.validationErrors.map((/** + if (!this.errors || !this.errors.length) + return []; + return this.errors.map((/** * @param {?} error * @return {?} */ diff --git a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map index f2559e65ce..e7cbbee5f2 100644 --- a/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map +++ b/npm/ng-packs/dist/theme-shared/fesm5/abp-ng.theme.shared.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n buttonType: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n return this.validationErrors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.js","sources":["ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["tslib_1.__extends","ErrorComponent"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts index bbc4eb683a..01d0e8284b 100644 --- a/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts +++ b/npm/ng-packs/dist/theme-shared/lib/components/button/button.component.d.ts @@ -1,6 +1,6 @@ export declare class ButtonComponent { buttonClass: string; - buttonType: string; + type: string; iconClass: string; loading: boolean; disabled: boolean; diff --git a/npm/ng-packs/dist/theme-shared/package.json b/npm/ng-packs/dist/theme-shared/package.json index 2620c5ed0b..df90956b84 100644 --- a/npm/ng-packs/dist/theme-shared/package.json +++ b/npm/ng-packs/dist/theme-shared/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.shared", - "version": "0.8.2", + "version": "0.8.0", "dependencies": { - "@abp/ng.core": "^0.8.2", + "@abp/ng.core": "^0.8.0", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", "@ngx-validate/core": "^0.0.4", From 2dc44dd0ddb1d04d6b804d599e40b6e037e18a92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 09:25:35 +0300 Subject: [PATCH 057/149] v0.8.3 --- npm/lerna.json | 2 +- npm/ng-packs/dist/account/package.json | 4 ++-- npm/ng-packs/dist/core/package.json | 2 +- npm/ng-packs/dist/identity/package.json | 4 ++-- npm/ng-packs/dist/permission-management/package.json | 4 ++-- npm/ng-packs/dist/tenant-management/package.json | 4 ++-- npm/ng-packs/dist/theme-basic/package.json | 4 ++-- npm/ng-packs/dist/theme-shared/package.json | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/lerna.json b/npm/lerna.json index e3565a293f..c101f6c54c 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.8.2", + "version": "0.8.3", "packages": [ "ng-packs/dist/*", "packs/*" diff --git a/npm/ng-packs/dist/account/package.json b/npm/ng-packs/dist/account/package.json index 2d03865487..5001350832 100644 --- a/npm/ng-packs/dist/account/package.json +++ b/npm/ng-packs/dist/account/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.account", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/core/package.json b/npm/ng-packs/dist/core/package.json index fb387a2b25..60b3134707 100644 --- a/npm/ng-packs/dist/core/package.json +++ b/npm/ng-packs/dist/core/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.core", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { "@ngxs/router-plugin": "^3.5.0", "@ngxs/storage-plugin": "^3.5.0", diff --git a/npm/ng-packs/dist/identity/package.json b/npm/ng-packs/dist/identity/package.json index 013f9359d7..0ec7d31981 100644 --- a/npm/ng-packs/dist/identity/package.json +++ b/npm/ng-packs/dist/identity/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.identity", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.permission-management": "^0.8.0", + "@abp/ng.permission-management": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/permission-management/package.json b/npm/ng-packs/dist/permission-management/package.json index 32fe9f3035..55aab852f6 100644 --- a/npm/ng-packs/dist/permission-management/package.json +++ b/npm/ng-packs/dist/permission-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.permission-management", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/tenant-management/package.json b/npm/ng-packs/dist/tenant-management/package.json index f238c4641d..3f3a0fec58 100644 --- a/npm/ng-packs/dist/tenant-management/package.json +++ b/npm/ng-packs/dist/tenant-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.tenant-management", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-basic/package.json b/npm/ng-packs/dist/theme-basic/package.json index d38574f664..b816bf17e7 100644 --- a/npm/ng-packs/dist/theme-basic/package.json +++ b/npm/ng-packs/dist/theme-basic/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.basic", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0", + "@abp/ng.theme.shared": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/theme-shared/package.json b/npm/ng-packs/dist/theme-shared/package.json index df90956b84..0fe96d53bb 100644 --- a/npm/ng-packs/dist/theme-shared/package.json +++ b/npm/ng-packs/dist/theme-shared/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.shared", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.core": "^0.8.0", + "@abp/ng.core": "^0.8.3", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", "@ngx-validate/core": "^0.0.4", From a5048f12e4ad7c6ffbb51fb89c439855dcb0e395 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 09:29:29 +0300 Subject: [PATCH 058/149] fix(scripts): add missing import --- npm/ng-packs/scripts/sync.js | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/ng-packs/scripts/sync.js b/npm/ng-packs/scripts/sync.js index 833ea46467..d4f119cd18 100644 --- a/npm/ng-packs/scripts/sync.js +++ b/npm/ng-packs/scripts/sync.js @@ -1,5 +1,6 @@ // ESM syntax is supported. import fse from 'fs-extra'; +import execa from 'execa'; (async () => { const { projects } = await fse.readJSON('../angular.json'); From 27ef0c0b47d1069485c3dac4883cebb85bf78c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 09:32:43 +0300 Subject: [PATCH 059/149] Update source packages versions --- npm/ng-packs/packages/account/package.json | 4 ++-- npm/ng-packs/packages/core/package.json | 2 +- npm/ng-packs/packages/identity/package.json | 4 ++-- npm/ng-packs/packages/permission-management/package.json | 4 ++-- npm/ng-packs/packages/tenant-management/package.json | 4 ++-- npm/ng-packs/packages/theme-basic/package.json | 4 ++-- npm/ng-packs/packages/theme-shared/package.json | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/npm/ng-packs/packages/account/package.json b/npm/ng-packs/packages/account/package.json index e0135dbce7..0c4b42bdac 100644 --- a/npm/ng-packs/packages/account/package.json +++ b/npm/ng-packs/packages/account/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.account", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0" + "@abp/ng.theme.shared": "^0.8.3" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 5c521edced..8e23805784 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": "0.8.0", + "version": "0.8.3", "dependencies": { "@ngxs/router-plugin": "^3.5.0", "@ngxs/storage-plugin": "^3.5.0", diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index e2ddca1de4..f5c6803c1d 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.identity", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.permission-management": "^0.8.0" + "@abp/ng.permission-management": "^0.8.3" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/permission-management/package.json b/npm/ng-packs/packages/permission-management/package.json index 5bef63b1ee..69662633cc 100644 --- a/npm/ng-packs/packages/permission-management/package.json +++ b/npm/ng-packs/packages/permission-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.permission-management", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0" + "@abp/ng.theme.shared": "^0.8.3" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index 36baff41f2..73347fccd4 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.tenant-management", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0" + "@abp/ng.theme.shared": "^0.8.3" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/theme-basic/package.json b/npm/ng-packs/packages/theme-basic/package.json index a516b0e27f..f90f757524 100644 --- a/npm/ng-packs/packages/theme-basic/package.json +++ b/npm/ng-packs/packages/theme-basic/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.basic", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.0" + "@abp/ng.theme.shared": "^0.8.3" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index c3f9eb5f69..a71bc08def 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -1,8 +1,8 @@ { "name": "@abp/ng.theme.shared", - "version": "0.8.0", + "version": "0.8.3", "dependencies": { - "@abp/ng.core": "^0.8.0", + "@abp/ng.core": "^0.8.3", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", "@ngx-validate/core": "^0.0.4", From 52c43f18fabb83915921260d35edfaca6abb4c7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 09:33:41 +0300 Subject: [PATCH 060/149] Convert publish.bat to ps1 --- npm/publish.bat | 1 - npm/publish.ps1 | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 npm/publish.bat create mode 100644 npm/publish.ps1 diff --git a/npm/publish.bat b/npm/publish.bat deleted file mode 100644 index 5e83340c49..0000000000 --- a/npm/publish.bat +++ /dev/null @@ -1 +0,0 @@ -lerna publish --no-push \ No newline at end of file diff --git a/npm/publish.ps1 b/npm/publish.ps1 new file mode 100644 index 0000000000..732dad1d54 --- /dev/null +++ b/npm/publish.ps1 @@ -0,0 +1,4 @@ +& lerna publish --no-push +cd ng-packs\scripts +& npm install +& npm run sync \ No newline at end of file From 1e2736b634b4af524c7c5d8e1960081bdb0eb7cf Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 09:35:25 +0300 Subject: [PATCH 061/149] refactor(scripts): remove git push command --- npm/ng-packs/scripts/build.js | 6 ------ npm/ng-packs/scripts/sync.js | 6 ------ 2 files changed, 12 deletions(-) diff --git a/npm/ng-packs/scripts/build.js b/npm/ng-packs/scripts/build.js index 57bf8a89e8..05d7574ee0 100644 --- a/npm/ng-packs/scripts/build.js +++ b/npm/ng-packs/scripts/build.js @@ -39,11 +39,5 @@ import fse from 'fs-extra'; await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' }); await execa('git', ['commit', '-m', 'Build ng packages'], { stdout: 'inherit' }); - try { - await execa('git', ['push', 'origin']); - } catch (error) { - console.error('An error occured while pushing the git files:\n' + error.stderr); - } - process.exit(0); })(); diff --git a/npm/ng-packs/scripts/sync.js b/npm/ng-packs/scripts/sync.js index d4f119cd18..858d0e0352 100644 --- a/npm/ng-packs/scripts/sync.js +++ b/npm/ng-packs/scripts/sync.js @@ -25,11 +25,5 @@ import execa from 'execa'; await execa('git', ['add', '../packages/*', '../package.json'], { stdout: 'inherit' }); await execa('git', ['commit', '-m', 'Update source packages versions'], { stdout: 'inherit' }); - try { - await execa('git', ['push', 'origin']); - } catch (error) { - console.error('An error occured while pushing the git files:\n' + error.stderr); - } - process.exit(0); })(); From 27c8d729644f9fef64fdd1688426bd33afc34686 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 09:44:11 +0300 Subject: [PATCH 062/149] Cli update command no longer runs yarn & gulp if there is no change --- .../ProjectModification/NpmPackagesUpdater.cs | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index bad90be5c3..58b88d87a3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -34,21 +34,27 @@ namespace Volo.Abp.Cli.ProjectModification { var fileList = _packageJsonFileFinder.Find(rootDirectory); - if (fileList.Any()) + if (!fileList.Any()) { - _npmGlobalPackagesChecker.Check(); + return; + } - foreach (var file in fileList) - { - UpdatePackagesInFile(file); + _npmGlobalPackagesChecker.Check(); + foreach (var file in fileList) + { + UpdatePackagesInFile(file, out var needsYarnAndGulp); + + if (needsYarnAndGulp) + { RunYarnAndGulp(file); } } } - protected virtual void UpdatePackagesInFile(string file) + protected virtual void UpdatePackagesInFile(string file, out bool needsYarnAndGulp) { + needsYarnAndGulp = false; var fileContent = File.ReadAllText(file); var packageJson = JObject.Parse(fileContent); var abpPackages = GetAbpPackagesFromPackageJson(packageJson); @@ -60,7 +66,12 @@ namespace Volo.Abp.Cli.ProjectModification foreach (var abpPackage in abpPackages) { - UpdatePackage(file, abpPackage); + TryUpdatePackage(file, abpPackage, out var updated); + + if (updated) + { + needsYarnAndGulp = true; + } } var modifiedFileContent = packageJson.ToString(Formatting.Indented); @@ -68,7 +79,7 @@ namespace Volo.Abp.Cli.ProjectModification File.WriteAllText(file, modifiedFileContent); } - protected virtual void UpdatePackage(string file, JProperty package) + protected virtual void TryUpdatePackage(string file, JProperty package, out bool updated) { var version = GetLatestVersion(package); @@ -76,8 +87,13 @@ namespace Volo.Abp.Cli.ProjectModification if (versionWithPrefix == (string)package.Value) { + updated = false; return; } + else + { + updated = true; + } package.Value.Replace(versionWithPrefix); @@ -92,7 +108,7 @@ namespace Volo.Abp.Cli.ProjectModification } var version = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} version"); - + _fileVersionStorage[package.Name] = version; return version; From da08d67d24e45606ccfec144ec13389ddd8b7347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 09:48:24 +0300 Subject: [PATCH 063/149] Updated npm package dependencies --- .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 18 +++++++++--------- .../wwwroot/libs/squire-rte/squire.js | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index ea061c4bd8..38602ac1e7 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -43,17 +43,17 @@ namespace Volo.Abp.Cli.Commands public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { - await UpdateNugetPackages(commandLineArgs); + //await UpdateNugetPackages(commandLineArgs); UpdateNpmPackages(); - var options = commandLineArgs.Options - .Select(x => x.Key).ToList(); - await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto - { - Tool = _options.ToolName, - Command = commandLineArgs.Command, - Options = _jsonSerializer.Serialize(options) - }); + //var options = commandLineArgs.Options + // .Select(x => x.Key).ToList(); + //await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto + //{ + // Tool = _options.ToolName, + // Command = commandLineArgs.Command, + // Options = _jsonSerializer.Serialize(options) + //}); } private void UpdateNpmPackages() diff --git a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/squire-rte/squire.js b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/squire-rte/squire.js index 870905984b..a620683a68 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/squire-rte/squire.js +++ b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/squire-rte/squire.js @@ -1,2 +1,2 @@ -!function(e,t){"use strict";function n(e,t,n){this.root=this.currentNode=e,this.nodeType=t,this.filter=n||ue}function o(e,t){for(var n=e.length;n--;)if(!t(e[n]))return!1;return!0}function i(e){return e.nodeType===M&&!!pe[e.nodeName]}function r(e){switch(e.nodeType){case H:return me;case M:case z:if(de&&Ce.has(e))return Ce.get(e);break;default:return ge}var t;return t=o(e.childNodes,a)?fe.test(e.nodeName)?me:ve:Ne,de&&Ce.set(e,t),t}function a(e){return r(e)===me}function s(e){return r(e)===ve}function d(e){return r(e)===Ne}function l(e,t){var o=new n(t,q,s);return o.currentNode=e,o}function c(e,t){return e=l(e,t).previousNode(),e!==t?e:null}function h(e,t){return e=l(e,t).nextNode(),e!==t?e:null}function u(e){return!e.textContent&&!e.querySelector("IMG")}function f(e,t){return!i(e)&&e.nodeType===t.nodeType&&e.nodeName===t.nodeName&&"A"!==e.nodeName&&e.className===t.className&&(!e.style&&!t.style||e.style.cssText===t.style.cssText)}function p(e,t,n){if(e.nodeName!==t)return!1;for(var o in n)if(e.getAttribute(o)!==n[o])return!1;return!0}function g(e,t,n,o){for(;e&&e!==t;){if(p(e,n,o))return e;e=e.parentNode}return null}function m(e,t,n){for(;e&&e!==t;){if(n.test(e.nodeName))return e;e=e.parentNode}return null}function v(e,t){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function N(e,t,n){var o,i,r,a,s,d="";return e&&e!==t&&(d=N(e.parentNode,t,n),e.nodeType===M&&(d+=(d?">":"")+e.nodeName,(o=e.id)&&(d+="#"+o),(i=e.className.trim())&&(r=i.split(/\s\s*/),r.sort(),d+=".",d+=r.join(".")),(a=e.dir)&&(d+="[dir="+a+"]"),r&&(s=n.classNames,ce.call(r,s.highlight)>-1&&(d+="[backgroundColor="+e.style.backgroundColor.replace(/ /g,"")+"]"),ce.call(r,s.colour)>-1&&(d+="[color="+e.style.color.replace(/ /g,"")+"]"),ce.call(r,s.fontFamily)>-1&&(d+="[fontFamily="+e.style.fontFamily.replace(/ /g,"")+"]"),ce.call(r,s.fontSize)>-1&&(d+="[fontSize="+e.style.fontSize+"]")))),d}function C(e){var t=e.nodeType;return t===M||t===z?e.childNodes.length:e.length||0}function _(e){var t=e.parentNode;return t&&t.removeChild(e),e}function S(e,t){var n=e.parentNode;n&&n.replaceChild(t,e)}function y(e){for(var t=e.ownerDocument.createDocumentFragment(),n=e.childNodes,o=n?n.length:0;o--;)t.appendChild(e.firstChild);return t}function T(e,n,o,i){var r,a,s,d=e.createElement(n);if(o instanceof Array&&(i=o,o=null),o)for(r in o)o[r]!==t&&d.setAttribute(r,o[r]);if(i)for(a=0,s=i.length;as?t.startOffset-=1:t.startOffset===s&&(t.startContainer=o,t.startOffset=C(o))),t.endContainer===e&&(t.endOffset>s?t.endOffset-=1:t.endOffset===s&&(t.endContainer=o,t.endOffset=C(o))),_(n),n.nodeType===H?o.appendData(n.data):d.push(y(n));else if(n.nodeType===M){for(i=d.length;i--;)n.appendChild(d.pop());k(n,t)}}function L(e,t){if(e.nodeType===H&&(e=e.parentNode),e.nodeType===M){var n={startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset};k(e,n),t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)}}function A(e){var t=e.nodeName;return"TD"===t||"TH"===t||"TR"===t||"TBODY"===t||"THEAD"===t}function O(e,t,n,o){var i,r,a,s=t;if(!A(e)||!A(t)){for(;(i=s.parentNode)&&i!==o&&i.nodeType===M&&1===i.childNodes.length;)s=i;_(s),a=e.childNodes.length,r=e.lastChild,r&&"BR"===r.nodeName&&(e.removeChild(r),a-=1),e.appendChild(y(t)),n.setStart(e,a),n.collapse(!0),L(e,n),J&&(r=e.lastChild)&&"BR"===r.nodeName&&e.removeChild(r)}}function B(e,t){var n,o,i=e.previousSibling,r=e.firstChild,a=e.ownerDocument,s="LI"===e.nodeName;if((!s||r&&/^[OU]L$/.test(r.nodeName))&&!A(e))if(i&&f(i,e)){if(!d(i)){if(!s)return;o=T(a,"DIV"),o.appendChild(y(i)),i.appendChild(o)}_(e),n=!d(e),i.appendChild(y(e)),n&&b(i,t),r&&B(r,t)}else s&&(i=T(a,"DIV"),e.insertBefore(i,r),E(i,t))}function D(e){this.isShiftDown=e.shiftKey}function R(e,t,n){var o,i;if(e||(e={}),t)for(o in t)!n&&o in e||(i=t[o],e[o]=i&&i.constructor===Object?R(e[o],i,n):i);return e}function P(e,t){e.nodeType===W&&(e=e.body);var n,o=e.ownerDocument,i=o.defaultView;this._win=i,this._doc=o,this._root=e,this._events={},this._isFocused=!1,this._lastSelection=null,ae&&this.addEventListener("beforedeactivate",this.getSelection),this._hasZWS=!1,this._lastAnchorNode=null,this._lastFocusNode=null,this._path="",this._willUpdatePath=!1,"onselectionchange"in o?this.addEventListener("selectionchange",this._updatePathOnEvent):(this.addEventListener("keyup",this._updatePathOnEvent),this.addEventListener("mouseup",this._updatePathOnEvent)),this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0,this._isInUndoState=!1,this._ignoreChange=!1,this._ignoreAllChanges=!1,se?(n=new MutationObserver(this._docWasChanged.bind(this)),n.observe(e,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),this._mutation=n):this.addEventListener("keyup",this._keyUpDetectChange),this._restoreSelection=!1,this.addEventListener("blur",U),this.addEventListener("mousedown",I),this.addEventListener("touchstart",I),this.addEventListener("focus",w),this._awaitingPaste=!1,this.addEventListener(X?"beforecut":"cut",tt),this.addEventListener("copy",nt),this.addEventListener("keydown",D),this.addEventListener("keyup",D),this.addEventListener(X?"beforepaste":"paste",ot),this.addEventListener("drop",it),this.addEventListener(J?"keypress":"keydown",Ie),this._keyHandlers=Object.create(He),this.setConfig(t),X&&(i.Text.prototype.splitText=function(e){var t=this.ownerDocument.createTextNode(this.data.slice(e)),n=this.nextSibling,o=this.parentNode,i=this.length-e;return n?o.insertBefore(t,n):o.appendChild(t),i&&this.deleteData(e,i),t}),e.setAttribute("contenteditable","true");try{o.execCommand("enableObjectResizing",!1,"false"),o.execCommand("enableInlineTableEditing",!1,"false")}catch(e){}e.__squire__=this,this.setHTML("")}function U(){this._restoreSelection=!0}function I(){this._restoreSelection=!1}function w(){this._restoreSelection&&this.setSelection(this._lastSelection)}function F(e,t,n){var o,i;for(o=t.firstChild;o;o=i){if(i=o.nextSibling,a(o)){if(o.nodeType===H||"BR"===o.nodeName||"IMG"===o.nodeName){n.appendChild(o);continue}}else if(s(o)){n.appendChild(e.createDefaultBlock([F(e,o,e._doc.createDocumentFragment())]));continue}F(e,o,n)}return n}var M=1,H=3,W=9,z=11,q=1,K="​",G=e.defaultView,Z=navigator.userAgent,j=/Android/.test(Z),Q=/iP(?:ad|hone|od)/.test(Z),$=/Mac OS X/.test(Z),V=/Windows NT/.test(Z),Y=/Gecko\//.test(Z),X=/Trident\/[456]\./.test(Z),J=!!G.opera,ee=/Edge\//.test(Z),te=!ee&&/WebKit\//.test(Z),ne=/Trident\/[4567]\./.test(Z),oe=$?"meta-":"ctrl-",ie=X||J,re=X||te,ae=X,se="undefined"!=typeof MutationObserver,de="undefined"!=typeof WeakMap,le=/[^ \t\r\n]/,ce=Array.prototype.indexOf;Object.create||(Object.create=function(e){var t=function(){};return t.prototype=e,new t});var he={1:1,2:2,3:4,8:128,9:256,11:1024},ue=function(){return!0};n.prototype.nextNode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){for(e=t.firstChild;!e&&t&&t!==n;)(e=t.nextSibling)||(t=t.parentNode);if(!e)return null;if(he[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}},n.prototype.previousNode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){if(t===n)return null;if(e=t.previousSibling)for(;t=e.lastChild;)e=t;else e=t.parentNode;if(!e)return null;if(he[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}},n.prototype.previousPONode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){for(e=t.lastChild;!e&&t&&t!==n;)(e=t.previousSibling)||(t=t.parentNode);if(!e)return null;if(he[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}};var fe=/^(?:#text|A(?:BBR|CRONYM)?|B(?:R|D[IO])?|C(?:ITE|ODE)|D(?:ATA|EL|FN)|EM|FONT|I(?:FRAME|MG|NPUT|NS)?|KBD|Q|R(?:P|T|UBY)|S(?:AMP|MALL|PAN|TR(?:IKE|ONG)|U[BP])?|TIME|U|VAR|WBR)$/,pe={BR:1,HR:1,IFRAME:1,IMG:1,INPUT:1},ge=0,me=1,ve=2,Ne=3,Ce=de?new WeakMap:null,_e=function(e,t){for(var n=e.childNodes;t&&e.nodeType===M;)e=n[t-1],n=e.childNodes,t=n.length;return e},Se=function(e,t){if(e.nodeType===M){var n=e.childNodes;if(t-1,r=e.compareBoundaryPoints(1,o)<1;return!i&&!r}var a=e.compareBoundaryPoints(0,o)<1,s=e.compareBoundaryPoints(2,o)>-1;return a&&s},ke=function(e){for(var t,n=e.startContainer,o=e.startOffset,r=e.endContainer,a=e.endOffset,s=!0;n.nodeType!==H&&(t=n.childNodes[o])&&!i(t);)n=t,o=0;if(a)for(;r.nodeType!==H;){if(!(t=r.childNodes[a-1])||i(t)){if(s&&t&&"BR"===t.nodeName){a-=1,s=!1;continue}break}r=t,a=C(r)}else for(;r.nodeType!==H&&(t=r.firstChild)&&!i(t);)r=t;e.collapsed?(e.setStart(r,a),e.setEnd(n,o)):(e.setStart(n,o),e.setEnd(r,a))},Le=function(e,t,n,o){var i,r=e.startContainer,a=e.startOffset,s=e.endContainer,d=e.endOffset,l=!0;for(t||(t=e.commonAncestorContainer),n||(n=t);!a&&r!==t&&r!==o;)i=r.parentNode,a=ce.call(i.childNodes,r),r=i;for(;;){if(l&&s.nodeType!==H&&s.childNodes[d]&&"BR"===s.childNodes[d].nodeName&&(d+=1,l=!1),s===n||s===o||d!==C(s))break;i=s.parentNode,d=ce.call(i.childNodes,s)+1,s=i}e.setStart(r,a),e.setEnd(s,d)},Ae=function(e,t){var n,o=e.startContainer;return a(o)?n=c(o,t):o!==t&&s(o)?n=o:(n=_e(o,e.startOffset),n=h(n,t)),n&&xe(e,n,!0)?n:null},Oe=function(e,t){var n,o,i=e.endContainer;if(a(i))n=c(i,t);else if(i!==t&&s(i))n=i;else{if(!(n=Se(i,e.endOffset))||!v(t,n))for(n=t;o=n.lastChild;)n=o;n=c(n,t)}return n&&xe(e,n,!0)?n:null},Be=new n(null,4|q,function(e){return e.nodeType===H?le.test(e.data):"IMG"===e.nodeName}),De=function(e,t){var n,o=e.startContainer,i=e.startOffset;if(Be.root=null,o.nodeType===H){if(i)return!1;n=o}else if(n=Se(o,i),n&&!v(t,n)&&(n=null),!n&&(n=_e(o,i),n.nodeType===H&&n.length))return!1;return Be.currentNode=n,Be.root=Ae(e,t),!Be.previousNode()},Re=function(e,t){var n,o=e.endContainer,i=e.endOffset;if(Be.root=null,o.nodeType===H){if((n=o.data.length)&&i-1||!Y&&ce.call(i,"text/plain")>-1&&ce.call(i,"text/rtf")<0))return e.preventDefault(),void(!d&&(r=a.getData("text/html"))?this.insertHTML(r,!0):((r=a.getData("text/plain"))||(r=a.getData("text/uri-list")))&&this.insertPlainText(r,!0));this._awaitingPaste=!0;var f=this._doc.body,p=this.getSelection(),g=p.startContainer,m=p.startOffset,v=p.endContainer,N=p.endOffset,C=this.createElement("DIV",{contenteditable:"true",style:"position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"});f.appendChild(C),p.selectNodeContents(C),this.setSelection(p),setTimeout(function(){try{u._awaitingPaste=!1;for(var e,t,n="",o=C;C=o;)o=C.nextSibling,_(C),e=C.firstChild,e&&e===C.lastChild&&"DIV"===e.nodeName&&(C=e),n+=C.innerHTML;t=u.createRange(g,m,v,N),u.setSelection(t),n&&u.insertHTML(n,!0)}catch(e){u.didError(e)}},0)},it=function(e){for(var t=e.dataTransfer.types,n=t.length,o=!1,i=!1;n--;)switch(t[n]){case"text/plain":o=!0;break;case"text/html":i=!0;break;default:return}(i||o)&&this.saveUndoState()},rt=P.prototype,at=function(e,t,n){var o=n._doc,i=e?DOMPurify.sanitize(e,{ALLOW_UNKNOWN_PROTOCOLS:!0,WHOLE_DOCUMENT:!1,RETURN_DOM:!0,RETURN_DOM_FRAGMENT:!0}):null;return i?o.importNode(i,!0):o.createDocumentFragment()};rt.setConfig=function(e){return e=R({blockTag:"DIV",blockAttributes:null,tagAttributes:{blockquote:null,ul:null,ol:null,li:null,a:null},classNames:{colour:"colour",fontFamily:"font",fontSize:"size",highlight:"highlight"},leafNodeNames:pe,undo:{documentSizeThreshold:-1,undoLimit:-1},isInsertedHTMLSanitized:!0,isSetHTMLSanitized:!0,sanitizeToDOMFragment:"undefined"!=typeof DOMPurify&&DOMPurify.isSupported?at:null,willCutCopy:null},e,!0),e.blockTag=e.blockTag.toUpperCase(),this._config=e,this},rt.createElement=function(e,t,n){return T(this._doc,e,t,n)},rt.createDefaultBlock=function(e){var t=this._config;return E(this.createElement(t.blockTag,t.blockAttributes,e),this._root)},rt.didError=function(e){console.log(e)},rt.getDocument=function(){return this._doc},rt.getRoot=function(){return this._root},rt.modifyDocument=function(e){var t=this._mutation;t&&(t.takeRecords().length&&this._docWasChanged(),t.disconnect()),this._ignoreAllChanges=!0,e(),this._ignoreAllChanges=!1,t&&(t.observe(this._root,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),this._ignoreChange=!1)};var st={pathChange:1,select:1,input:1,undoStateChange:1};rt.fireEvent=function(e,t){var n,o,i,r=this._events[e];if(/^(?:focus|blur)/.test(e))if(n=this._root===this._doc.activeElement,"focus"===e){if(!n||this._isFocused)return this;this._isFocused=!0}else{if(n||!this._isFocused)return this;this._isFocused=!1}if(r)for(t||(t={}),t.type!==e&&(t.type=e),r=r.slice(),o=r.length;o--;){i=r[o];try{i.handleEvent?i.handleEvent(t):i.call(this,t)}catch(t){t.details="Squire: fireEvent error. Event type: "+e,this.didError(t)}}return this},rt.destroy=function(){var e,t=this._events;for(e in t)this.removeEventListener(e);this._mutation&&this._mutation.disconnect(),delete this._root.__squire__,this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0},rt.handleEvent=function(e){this.fireEvent(e.type,e)},rt.addEventListener=function(e,t){var n=this._events[e],o=this._root;return t?(n||(n=this._events[e]=[],st[e]||("selectionchange"===e&&(o=this._doc),o.addEventListener(e,this,!0))),n.push(t),this):(this.didError({name:"Squire: addEventListener with null or undefined fn",message:"Event type: "+e}),this)},rt.removeEventListener=function(e,t){var n,o=this._events[e],i=this._root;if(o){if(t)for(n=o.length;n--;)o[n]===t&&o.splice(n,1);else o.length=0;o.length||(delete this._events[e],st[e]||("selectionchange"===e&&(i=this._doc),i.removeEventListener(e,this,!0)))}return this},rt.createRange=function(e,t,n,o){if(e instanceof this._win.Range)return e.cloneRange();var i=this._doc.createRange();return i.setStart(e,t),n?i.setEnd(n,o):i.setEnd(e,t),i},rt.getCursorPosition=function(e){if(!e&&!(e=this.getSelection())||!e.getBoundingClientRect)return null;var t,n,o=e.getBoundingClientRect();return o&&!o.top&&(this._ignoreChange=!0,t=this._doc.createElement("SPAN"),t.textContent=K,ye(e,t),o=t.getBoundingClientRect(),n=t.parentNode,n.removeChild(t),L(n,e)),o},rt._moveCursorTo=function(e){var t=this._root,n=this.createRange(t,e?0:t.childNodes.length);return ke(n),this.setSelection(n),this},rt.moveCursorToStart=function(){return this._moveCursorTo(!0)},rt.moveCursorToEnd=function(){return this._moveCursorTo(!1)};var dt=function(e){return e._win.getSelection()||null};rt.setSelection=function(e){if(e)if(this._lastSelection=e,this._isFocused)if(j&&!this._restoreSelection)U.call(this),this.blur(),this.focus();else{Q&&this._win.focus();var t=dt(this);t&&(t.removeAllRanges(),t.addRange(e))}else U.call(this);return this},rt.getSelection=function(){var e,t,n,o,r=dt(this),a=this._root;return this._isFocused&&r&&r.rangeCount&&(e=r.getRangeAt(0).cloneRange(),t=e.startContainer,n=e.endContainer,t&&i(t)&&e.setStartBefore(t),n&&i(n)&&e.setEndBefore(n)),e&&v(a,e.commonAncestorContainer)?this._lastSelection=e:(e=this._lastSelection,o=e.commonAncestorContainer,v(o.ownerDocument,o)||(e=null)),e||(e=this.createRange(a.firstChild,0)),e},rt.getSelectedText=function(){var e=this.getSelection();if(!e||e.collapsed)return"";var t,o=new n(e.commonAncestorContainer,4|q,function(t){return xe(e,t,!0)}),i=e.startContainer,r=e.endContainer,s=o.currentNode=i,d="",l=!1;for(o.filter(s)||(s=o.nextNode());s;)s.nodeType===H?(t=s.data)&&/\S/.test(t)&&(s===r&&(t=t.slice(0,e.endOffset)),s===i&&(t=t.slice(e.startOffset)),d+=t,l=!0):("BR"===s.nodeName||l&&!a(s))&&(d+="\n",l=!1),s=o.nextNode();return d},rt.getPath=function(){return this._path};var lt=function(e,t){for(var o,i,r,s=new n(e,4);i=s.nextNode();)for(;(r=i.data.indexOf(K))>-1&&(!t||i.parentNode!==t);){if(1===i.length){do{o=i.parentNode,o.removeChild(i),i=o,s.currentNode=o}while(a(i)&&!C(i));break}i.deleteData(r,1)}};rt._didAddZWS=function(){this._hasZWS=!0},rt._removeZWS=function(){this._hasZWS&&(lt(this._root),this._hasZWS=!1)},rt._updatePath=function(e,t){if(e){var n,o=e.startContainer,i=e.endContainer;(t||o!==this._lastAnchorNode||i!==this._lastFocusNode)&&(this._lastAnchorNode=o,this._lastFocusNode=i,n=o&&i?o===i?N(i,this._root,this._config):"(selection)":"",this._path!==n&&(this._path=n,this.fireEvent("pathChange",{path:n}))),this.fireEvent(e.collapsed?"cursor":"select",{range:e})}},rt._updatePathOnEvent=function(e){var t=this;t._isFocused&&!t._willUpdatePath&&(t._willUpdatePath=!0,setTimeout(function(){t._willUpdatePath=!1,t._updatePath(t.getSelection())},0))}, -rt.focus=function(){return this._root.focus(),ne&&this.fireEvent("focus"),this},rt.blur=function(){return this._root.blur(),ne&&this.fireEvent("blur"),this};var ct="squire-selection-end";rt._saveRangeToBookmark=function(e){var t,n=this.createElement("INPUT",{id:"squire-selection-start",type:"hidden"}),o=this.createElement("INPUT",{id:ct,type:"hidden"});ye(e,n),e.collapse(!1),ye(e,o),2&n.compareDocumentPosition(o)&&(n.id=ct,o.id="squire-selection-start",t=n,n=o,o=t),e.setStartAfter(n),e.setEndBefore(o)},rt._getRangeAndRemoveBookmark=function(e){var t=this._root,n=t.querySelector("#squire-selection-start"),o=t.querySelector("#"+ct);if(n&&o){var i=n.parentNode,r=o.parentNode,a=ce.call(i.childNodes,n),s=ce.call(r.childNodes,o);i===r&&(s-=1),_(n),_(o),e||(e=this._doc.createRange()),e.setStart(i,a),e.setEnd(r,s),L(i,e),i!==r&&L(r,e),e.collapsed&&(i=e.startContainer,i.nodeType===H&&(r=i.childNodes[e.startOffset],r&&r.nodeType===H||(r=i.childNodes[e.startOffset-1]),r&&r.nodeType===H&&(e.setStart(r,0),e.collapse(!0))))}return e||null},rt._keyUpDetectChange=function(e){var t=e.keyCode;e.ctrlKey||e.metaKey||e.altKey||!(t<16||t>20)||!(t<33||t>45)||this._docWasChanged()},rt._docWasChanged=function(){if(de&&(Ce=new WeakMap),!this._ignoreAllChanges){if(se&&this._ignoreChange)return void(this._ignoreChange=!1);this._isInUndoState&&(this._isInUndoState=!1,this.fireEvent("undoStateChange",{canUndo:!0,canRedo:!1})),this.fireEvent("input")}},rt._recordUndoState=function(e,t){if(!this._isInUndoState||t){var n,o=this._undoIndex,i=this._undoStack,r=this._config.undo,a=r.documentSizeThreshold,s=r.undoLimit;t||(o+=1),o-1&&2*n.length>a&&s>-1&&o>s&&(i.splice(0,o-s),o=s,this._undoStackLength=s),i[o]=n,this._undoIndex=o,this._undoStackLength+=1,this._isInUndoState=!0}},rt.saveUndoState=function(e){return e===t&&(e=this.getSelection()),this._recordUndoState(e,this._isInUndoState),this._getRangeAndRemoveBookmark(e),this},rt.undo=function(){if(0!==this._undoIndex||!this._isInUndoState){this._recordUndoState(this.getSelection(),!1),this._undoIndex-=1,this._setHTML(this._undoStack[this._undoIndex]);var e=this._getRangeAndRemoveBookmark();e&&this.setSelection(e),this._isInUndoState=!0,this.fireEvent("undoStateChange",{canUndo:0!==this._undoIndex,canRedo:!0}),this.fireEvent("input")}return this},rt.redo=function(){var e=this._undoIndex,t=this._undoStackLength;if(e+1c&&h.splitText(c),h===s&&l&&(h=h.splitText(l),d===s&&(d=h,c-=l),s=h,l=0),i=this.createElement(e,t),S(h,i),i.appendChild(h))}while(r.nextNode());d.nodeType!==H&&(h.nodeType===H?(d=h,c=h.length):(d=h.parentNode,c=1)),o=this.createRange(s,l,d,c)}return o},rt._removeFormat=function(e,t,n,o){this._saveRangeToBookmark(n);var i,r=this._doc;n.collapsed&&(re?(i=r.createTextNode(K),this._didAddZWS()):i=r.createTextNode(""),ye(n,i));for(var s=n.commonAncestorContainer;a(s);)s=s.parentNode;var d=n.startContainer,l=n.startOffset,c=n.endContainer,h=n.endOffset,u=[],f=function(e,t){if(!xe(n,e,!1)){var o,i,r=e.nodeType===H;if(!xe(n,e,!0))return void("INPUT"===e.nodeName||r&&!e.data||u.push([t,e]));if(r)e===c&&h!==e.length&&u.push([t,e.splitText(h)]),e===d&&l&&(e.splitText(l),u.push([t,e]));else for(o=e.firstChild;o;o=i)i=o.nextSibling,f(o,t)}},g=Array.prototype.filter.call(s.getElementsByTagName(e),function(o){return xe(n,o,!0)&&p(o,e,t)});return o||g.forEach(function(e){f(e,e)}),u.forEach(function(e){var t=e[0].cloneNode(!1),n=e[1];S(n,t),t.appendChild(n)}),g.forEach(function(e){S(e,y(e))}),this._getRangeAndRemoveBookmark(n),i&&n.collapse(!1),L(s,n),n},rt.changeFormat=function(e,t,n,o){return n||(n=this.getSelection())?(this.saveUndoState(n),t&&(n=this._removeFormat(t.tag.toUpperCase(),t.attributes||{},n,o)),e&&(n=this._addFormat(e.tag.toUpperCase(),e.attributes||{},n)),this.setSelection(n),this._updatePath(n,!0),se||this._docWasChanged(),this):this};var ht={DT:"DD",DD:"DT",LI:"LI",PRE:"PRE"},ut=function(e,t,n,o){var i=ht[t.nodeName],r=null,a=x(n,o,t.parentNode,e._root),s=e._config;return i||(i=s.blockTag,r=s.blockAttributes),p(a,i,r)||(t=T(a.ownerDocument,i,r),a.dir&&(t.dir=a.dir),S(a,t),t.appendChild(y(a)),a=t),a};rt.forEachBlock=function(e,t,n){if(!n&&!(n=this.getSelection()))return this;t&&this.saveUndoState(n);var o=this._root,i=Ae(n,o),r=Oe(n,o);if(i&&r)do{if(e(i)||i===r)break}while(i=h(i,o));return t&&(this.setSelection(n),this._updatePath(n,!0),se||this._docWasChanged()),this},rt.modifyBlocks=function(e,t){if(!t&&!(t=this.getSelection()))return this;this._recordUndoState(t,this._isInUndoState);var n,o=this._root;return Pe(t,o),Le(t,o,o,o),n=Te(t,o,o),ye(t,e.call(this,n)),t.endOffset]+|\([^\s()<>]+\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))|([\w\-.%+]+@(?:[\w\-]+\.)+[A-Z]{2,}\b)(?:\?[^&?\s]+=[^&?\s]+(?:&[^&?\s]+=[^&?\s]+)*)?/i;var St=function(e,t,o){var i,r,a,s,d,l,c,h=e.ownerDocument,u=new n(e,4,function(e){return!g(e,t,"A")}),f=o.linkRegExp,p=o._config.tagAttributes.a;if(f)for(;i=u.nextNode();)for(r=i.data,a=i.parentNode;s=f.exec(r);)d=s.index,l=d+s[0].length,d&&(c=h.createTextNode(r.slice(0,d)),a.insertBefore(c,i)),c=o.createElement("A",R({href:s[1]?/^(?:ht|f)tps?:/i.test(s[1])?s[1]:"http://"+s[1]:"mailto:"+s[0]},p,!1)),c.textContent=r.slice(d,l),a.insertBefore(c,i),i.data=r=r.slice(l)};rt.insertHTML=function(e,t){var n,o,i,r,a,s,d,l=this._config,c=l.isInsertedHTMLSanitized?l.sanitizeToDOMFragment:null,u=this.getSelection(),f=this._doc;"function"==typeof c?r=c(e,t,this):(t&&(n=e.indexOf("\x3c!--StartFragment--\x3e"),o=e.lastIndexOf("\x3c!--EndFragment--\x3e"),n>-1&&o>-1&&(e=e.slice(n+20,o))),/<\/td>((?!<\/tr>)[\s\S])*$/i.test(e)&&(e=""+e+""),/<\/tr>((?!<\/table>)[\s\S])*$/i.test(e)&&(e=""+e+"
    "),i=this.createElement("DIV"),i.innerHTML=e,r=f.createDocumentFragment(),r.appendChild(y(i))),this.saveUndoState(u);try{for(a=this._root,s=r,d={fragment:r,preventDefault:function(){this.defaultPrevented=!0},defaultPrevented:!1},St(r,r,this),$e(r,l),Je(r,a,!1),Ve(r),r.normalize();s=h(s,r);)E(s,a);t&&this.fireEvent("willPaste",d),d.defaultPrevented||(be(u,d.fragment,a),se||this._docWasChanged(),u.collapse(!1),this._ensureBottomLine()),this.setSelection(u),this._updatePath(u,!0),t&&this.focus()}catch(e){this.didError(e)}return this};var yt=function(e){return e.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")};rt.insertPlainText=function(e,t){var n=this.getSelection();if(n.collapsed&&g(n.startContainer,this._root,"PRE")){var o,i,r=n.startContainer,a=n.startOffset;return r&&r.nodeType===H||(o=this._doc.createTextNode(""),r.insertBefore(o,r.childNodes[a]),r=o,a=0),i={text:e,preventDefault:function(){this.defaultPrevented=!0},defaultPrevented:!1},t&&this.fireEvent("willPaste",i),i.defaultPrevented||(e=i.text,r.insertData(a,e),n.setStart(r,a+e.length),n.collapse(!0)),this.setSelection(n),this}var s,d,l,c,h=e.split("\n"),u=this._config,f=u.blockTag,p=u.blockAttributes,m="",v="<"+f;for(s in p)v+=" "+s+'="'+yt(p[s])+'"';for(v+=">",d=0,l=h.length;d")+m;return this.insertHTML(h.join(""),t)};var Tt=function(e,t,n){return function(){return this[e](t,n),this.focus()}};rt.addStyles=function(e){if(e){var t=this._doc.documentElement.firstChild,n=this.createElement("STYLE",{type:"text/css"});n.appendChild(this._doc.createTextNode(e)),t.appendChild(n)}return this},rt.bold=Tt("changeFormat",{tag:"B"}),rt.italic=Tt("changeFormat",{tag:"I"}),rt.underline=Tt("changeFormat",{tag:"U"}),rt.strikethrough=Tt("changeFormat",{tag:"S"}),rt.subscript=Tt("changeFormat",{tag:"SUB"},{tag:"SUP"}),rt.superscript=Tt("changeFormat",{tag:"SUP"},{tag:"SUB"}),rt.removeBold=Tt("changeFormat",null,{tag:"B"}),rt.removeItalic=Tt("changeFormat",null,{tag:"I"}),rt.removeUnderline=Tt("changeFormat",null,{tag:"U"}),rt.removeStrikethrough=Tt("changeFormat",null,{tag:"S"}),rt.removeSubscript=Tt("changeFormat",null,{tag:"SUB"}),rt.removeSuperscript=Tt("changeFormat",null,{tag:"SUP"}),rt.makeLink=function(e,t){var n=this.getSelection();if(n.collapsed){var o=e.indexOf(":")+1;if(o)for(;"/"===e[o];)o+=1;ye(n,this._doc.createTextNode(e.slice(o)))}return t=R(R({href:e},t,!0),this._config.tagAttributes.a,!1),this.changeFormat({tag:"A",attributes:t},{tag:"A"},n),this.focus()},rt.removeLink=function(){return this.changeFormat(null,{tag:"A"},this.getSelection(),!0),this.focus()},rt.setFontFace=function(e){var t=this._config.classNames.fontFamily;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"font-family: "+e+", sans-serif;"}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},rt.setFontSize=function(e){var t=this._config.classNames.fontSize;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"font-size: "+("number"==typeof e?e+"px":e)}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},rt.setTextColour=function(e){var t=this._config.classNames.colour;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"color:"+e}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},rt.setHighlightColour=function(e){var t=this._config.classNames.highlight;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"background-color:"+e}}:e,{tag:"SPAN",attributes:{class:t}}),this.focus()},rt.setTextAlignment=function(e){return this.forEachBlock(function(t){var n=t.className.split(/\s+/).filter(function(e){return!!e&&!/^align/.test(e)}).join(" ");e?(t.className=n+" align-"+e,t.style.textAlign=e):(t.className=n,t.style.textAlign="")},!0),this.focus()},rt.setTextDirection=function(e){return this.forEachBlock(function(t){e?t.dir=e:t.removeAttribute("dir")},!0),this.focus()};var Et=function(e){for(var t,o=this._root,i=this._doc,r=i.createDocumentFragment(),a=l(e,o);t=a.nextNode();){var s,d,c=t.querySelectorAll("BR"),h=[],u=c.length;for(s=0;s-1;)a.appendChild(d.createTextNode(r.slice(0,s))),a.appendChild(d.createElement("BR")),r=r.slice(s+1);i.parentNode.insertBefore(a,i),i.data=r}b(t,l),S(t,y(t))}return e};rt.code=function(){var e=this.getSelection();return e.collapsed||d(e.commonAncestorContainer)?this.modifyBlocks(Et,e):this.changeFormat({tag:"CODE",attributes:this._config.tagAttributes.code},null,e),this.focus()},rt.removeCode=function(){var e=this.getSelection();return g(e.commonAncestorContainer,this._root,"PRE")?this.modifyBlocks(bt,e):this.changeFormat(null,{tag:"CODE"},e),this.focus()},rt.toggleCode=function(){return this.hasFormat("PRE")||this.hasFormat("CODE")?this.removeCode():this.code(),this},rt.removeAllFormatting=function(e){if(!e&&!(e=this.getSelection())||e.collapsed)return this;for(var t=this._root,n=e.commonAncestorContainer;n&&!s(n);)n=n.parentNode;if(n||(Pe(e,t),n=t),n.nodeType===H)return this;this.saveUndoState(e),Le(e,n,n,t);for(var o,i,r=n.ownerDocument,a=e.startContainer,d=e.startOffset,l=e.endContainer,c=e.endOffset,h=r.createDocumentFragment(),u=r.createDocumentFragment(),f=x(l,c,n,t),p=x(a,d,n,t);p!==f;)o=p.nextSibling,h.appendChild(p),p=o;return F(this,h,u),u.normalize(),p=u.firstChild,o=u.lastChild,i=n.childNodes,p?(n.insertBefore(u,f),d=ce.call(i,p),c=ce.call(i,o)+1):(d=ce.call(i,f),c=d),e.setStart(n,d),e.setEnd(n,c),L(n,e),ke(e),this.setSelection(e),this._updatePath(e,!0),this.focus()},rt.increaseQuoteLevel=Tt("modifyBlocks",ft),rt.decreaseQuoteLevel=Tt("modifyBlocks",pt),rt.makeUnorderedList=Tt("modifyBlocks",vt),rt.makeOrderedList=Tt("modifyBlocks",Nt),rt.removeList=Tt("modifyBlocks",Ct),P.isInline=a,P.isBlock=s,P.isContainer=d,P.getBlockWalker=l,P.getPreviousBlock=c,P.getNextBlock=h,P.areAlike=f,P.hasTagAttributes=p,P.getNearest=g,P.isOrContains=v,P.detach=_,P.replaceWith=S,P.empty=y,P.getNodeBefore=_e,P.getNodeAfter=Se,P.insertNodeInRange=ye,P.extractContentsOfRange=Te,P.deleteContentsOfRange=Ee,P.insertTreeFragmentIntoRange=be,P.isNodeContainedInRange=xe,P.moveRangeBoundariesDownTree=ke,P.moveRangeBoundariesUpTree=Le,P.getStartBlockOfRange=Ae,P.getEndBlockOfRange=Oe,P.contentWalker=Be,P.rangeDoesStartAtBlockBoundary=De,P.rangeDoesEndAtBlockBoundary=Re,P.expandRangeToBlockBoundaries=Pe,P.onPaste=ot,P.addLinks=St,P.splitBlock=ut,P.startSelectionId="squire-selection-start",P.endSelectionId=ct,"object"==typeof exports?module.exports=P:"function"==typeof define&&define.amd?define(function(){return P}):(G.Squire=P,top!==G&&"true"===e.documentElement.getAttribute("data-squireinit")&&(G.editor=new P(e),G.onEditorLoad&&(G.onEditorLoad(G.editor),G.onEditorLoad=null)))}(document); \ No newline at end of file +!function(e,t){"use strict";function n(e,t,n){this.root=this.currentNode=e,this.nodeType=t,this.filter=n||ce}function o(e,t){for(var n=e.length;n--;)if(!t(e[n]))return!1;return!0}function i(e){return e.nodeType===w&&!!ue[e.nodeName]}function r(e){switch(e.nodeType){case F:return pe;case w:case H:if(ae&&ve.has(e))return ve.get(e);break;default:return fe}var t;return t=o(e.childNodes,a)?he.test(e.nodeName)?pe:ge:me,ae&&ve.set(e,t),t}function a(e){return r(e)===pe}function s(e){return r(e)===ge}function d(e){return r(e)===me}function l(e,t){var o=new n(t,W,s);return o.currentNode=e,o}function c(e,t){return e=l(e,t).previousNode(),e!==t?e:null}function h(e,t){return e=l(e,t).nextNode(),e!==t?e:null}function u(e){return!e.textContent&&!e.querySelector("IMG")}function f(e,t){return!i(e)&&e.nodeType===t.nodeType&&e.nodeName===t.nodeName&&"A"!==e.nodeName&&e.className===t.className&&(!e.style&&!t.style||e.style.cssText===t.style.cssText)}function p(e,t,n){if(e.nodeName!==t)return!1;for(var o in n)if(e.getAttribute(o)!==n[o])return!1;return!0}function g(e,t,n,o){for(;e&&e!==t;){if(p(e,n,o))return e;e=e.parentNode}return null}function m(e,t){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function v(e,t,n){var o,i,r,a,s,d="";return e&&e!==t&&(d=v(e.parentNode,t,n),e.nodeType===w&&(d+=(d?">":"")+e.nodeName,(o=e.id)&&(d+="#"+o),(i=e.className.trim())&&(r=i.split(/\s\s*/),r.sort(),d+=".",d+=r.join(".")),(a=e.dir)&&(d+="[dir="+a+"]"),r&&(s=n.classNames,de.call(r,s.highlight)>-1&&(d+="[backgroundColor="+e.style.backgroundColor.replace(/ /g,"")+"]"),de.call(r,s.colour)>-1&&(d+="[color="+e.style.color.replace(/ /g,"")+"]"),de.call(r,s.fontFamily)>-1&&(d+="[fontFamily="+e.style.fontFamily.replace(/ /g,"")+"]"),de.call(r,s.fontSize)>-1&&(d+="[fontSize="+e.style.fontSize+"]")))),d}function C(e){var t=e.nodeType;return t===w||t===H?e.childNodes.length:e.length||0}function _(e){var t=e.parentNode;return t&&t.removeChild(e),e}function N(e,t){var n=e.parentNode;n&&n.replaceChild(t,e)}function S(e){for(var t=e.ownerDocument.createDocumentFragment(),n=e.childNodes,o=n?n.length:0;o--;)t.appendChild(e.firstChild);return t}function y(e,n,o,i){var r,a,s,d=e.createElement(n);if(o instanceof Array&&(i=o,o=null),o)for(r in o)o[r]!==t&&d.setAttribute(r,o[r]);if(i)for(a=0,s=i.length;as?t.startOffset-=1:t.startOffset===s&&(t.startContainer=o,t.startOffset=C(o))),t.endContainer===e&&(t.endOffset>s?t.endOffset-=1:t.endOffset===s&&(t.endContainer=o,t.endOffset=C(o))),_(n),n.nodeType===F?o.appendData(n.data):d.push(S(n));else if(n.nodeType===w){for(i=d.length;i--;)n.appendChild(d.pop());x(n,t)}}function k(e,t){if(e.nodeType===F&&(e=e.parentNode),e.nodeType===w){var n={startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset};x(e,n),t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)}}function A(e,t,n,o){for(var i,r,a,s=t;(i=s.parentNode)&&i!==o&&i.nodeType===w&&1===i.childNodes.length;)s=i;_(s),a=e.childNodes.length,r=e.lastChild,r&&"BR"===r.nodeName&&(e.removeChild(r),a-=1),e.appendChild(S(t)),n.setStart(e,a),n.collapse(!0),k(e,n),Y&&(r=e.lastChild)&&"BR"===r.nodeName&&e.removeChild(r)}function L(e,t){var n,o,i=e.previousSibling,r=e.firstChild,a=e.ownerDocument,s="LI"===e.nodeName;if(!s||r&&/^[OU]L$/.test(r.nodeName))if(i&&f(i,e)){if(!d(i)){if(!s)return;o=y(a,"DIV"),o.appendChild(S(i)),i.appendChild(o)}_(e),n=!d(e),i.appendChild(S(e)),n&&E(i,t),r&&L(r,t)}else s&&(i=y(a,"DIV"),e.insertBefore(i,r),T(i,t))}function B(e){this.isShiftDown=e.shiftKey}function O(e,t,n){var o,i;if(e||(e={}),t)for(o in t)!n&&o in e||(i=t[o],e[o]=i&&i.constructor===Object?O(e[o],i,n):i);return e}function R(e,t){e.nodeType===M&&(e=e.body);var n,o=e.ownerDocument,i=o.defaultView;this._win=i,this._doc=o,this._root=e,this._events={},this._isFocused=!1,this._lastSelection=null,ie&&this.addEventListener("beforedeactivate",this.getSelection),this._hasZWS=!1,this._lastAnchorNode=null,this._lastFocusNode=null,this._path="",this._willUpdatePath=!1,"onselectionchange"in o?this.addEventListener("selectionchange",this._updatePathOnEvent):(this.addEventListener("keyup",this._updatePathOnEvent),this.addEventListener("mouseup",this._updatePathOnEvent)),this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0,this._isInUndoState=!1,this._ignoreChange=!1,this._ignoreAllChanges=!1,re?(n=new MutationObserver(this._docWasChanged.bind(this)),n.observe(e,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),this._mutation=n):this.addEventListener("keyup",this._keyUpDetectChange),this._restoreSelection=!1,this.addEventListener("blur",D),this.addEventListener("mousedown",P),this.addEventListener("touchstart",P),this.addEventListener("focus",U),this._awaitingPaste=!1,this.addEventListener(V?"beforecut":"cut",Je),this.addEventListener("copy",et),this.addEventListener("keydown",B),this.addEventListener("keyup",B),this.addEventListener(V?"beforepaste":"paste",tt),this.addEventListener("drop",nt),this.addEventListener(Y?"keypress":"keydown",Pe),this._keyHandlers=Object.create(Fe),this.setConfig(t),V&&(i.Text.prototype.splitText=function(e){var t=this.ownerDocument.createTextNode(this.data.slice(e)),n=this.nextSibling,o=this.parentNode,i=this.length-e;return n?o.insertBefore(t,n):o.appendChild(t),i&&this.deleteData(e,i),t}),e.setAttribute("contenteditable","true");try{o.execCommand("enableObjectResizing",!1,"false"),o.execCommand("enableInlineTableEditing",!1,"false")}catch(e){}e.__squire__=this,this.setHTML("")}function D(){this._restoreSelection=!0}function P(){this._restoreSelection=!1}function U(){this._restoreSelection&&this.setSelection(this._lastSelection)}function I(e,t,n){var o,i;for(o=t.firstChild;o;o=i){if(i=o.nextSibling,a(o)){if(o.nodeType===F||"BR"===o.nodeName||"IMG"===o.nodeName){n.appendChild(o);continue}}else if(s(o)){n.appendChild(e.createDefaultBlock([I(e,o,e._doc.createDocumentFragment())]));continue}I(e,o,n)}return n}var w=1,F=3,M=9,H=11,W=1,z="​",q=e.defaultView,K=navigator.userAgent,G=/Android/.test(K),Z=/iP(?:ad|hone|od)/.test(K),j=/Mac OS X/.test(K),$=/Windows NT/.test(K),Q=/Gecko\//.test(K),V=/Trident\/[456]\./.test(K),Y=!!q.opera,X=/Edge\//.test(K),J=!X&&/WebKit\//.test(K),ee=/Trident\/[4567]\./.test(K),te=j?"meta-":"ctrl-",ne=V||Y,oe=V||J,ie=V,re="undefined"!=typeof MutationObserver,ae="undefined"!=typeof WeakMap,se=/[^ \t\r\n]/,de=Array.prototype.indexOf;Object.create||(Object.create=function(e){var t=function(){};return t.prototype=e,new t});var le={1:1,2:2,3:4,8:128,9:256,11:1024},ce=function(){return!0};n.prototype.nextNode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){for(e=t.firstChild;!e&&t&&t!==n;)(e=t.nextSibling)||(t=t.parentNode);if(!e)return null;if(le[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}},n.prototype.previousNode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){if(t===n)return null;if(e=t.previousSibling)for(;t=e.lastChild;)e=t;else e=t.parentNode;if(!e)return null;if(le[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}},n.prototype.previousPONode=function(){for(var e,t=this.currentNode,n=this.root,o=this.nodeType,i=this.filter;;){for(e=t.lastChild;!e&&t&&t!==n;)(e=t.previousSibling)||(t=t.parentNode);if(!e)return null;if(le[e.nodeType]&o&&i(e))return this.currentNode=e,e;t=e}};var he=/^(?:#text|A(?:BBR|CRONYM)?|B(?:R|D[IO])?|C(?:ITE|ODE)|D(?:ATA|EL|FN)|EM|FONT|HR|I(?:FRAME|MG|NPUT|NS)?|KBD|Q|R(?:P|T|UBY)|S(?:AMP|MALL|PAN|TR(?:IKE|ONG)|U[BP])?|TIME|U|VAR|WBR)$/,ue={BR:1,HR:1,IFRAME:1,IMG:1,INPUT:1},fe=0,pe=1,ge=2,me=3,ve=ae?new WeakMap:null,Ce=function(e,t){for(var n=e.childNodes;t&&e.nodeType===w;)e=n[t-1],n=e.childNodes,t=n.length;return e},_e=function(e,t){if(e.nodeType===w){var n=e.childNodes;if(t-1,r=e.compareBoundaryPoints(1,o)<1;return!i&&!r}var a=e.compareBoundaryPoints(0,o)<1,s=e.compareBoundaryPoints(2,o)>-1;return a&&s},be=function(e){for(var t,n=e.startContainer,o=e.startOffset,r=e.endContainer,a=e.endOffset,s=!0;n.nodeType!==F&&(t=n.childNodes[o])&&!i(t);)n=t,o=0;if(a)for(;r.nodeType!==F;){if(!(t=r.childNodes[a-1])||i(t)){if(s&&t&&"BR"===t.nodeName){a-=1,s=!1;continue}break}r=t,a=C(r)}else for(;r.nodeType!==F&&(t=r.firstChild)&&!i(t);)r=t;e.collapsed?(e.setStart(r,a),e.setEnd(n,o)):(e.setStart(n,o),e.setEnd(r,a))},xe=function(e,t,n,o){var i,r=e.startContainer,a=e.startOffset,s=e.endContainer,d=e.endOffset,l=!0;for(t||(t=e.commonAncestorContainer),n||(n=t);!a&&r!==t&&r!==o;)i=r.parentNode,a=de.call(i.childNodes,r),r=i;for(;;){if(l&&s.nodeType!==F&&s.childNodes[d]&&"BR"===s.childNodes[d].nodeName&&(d+=1,l=!1),s===n||s===o||d!==C(s))break;i=s.parentNode,d=de.call(i.childNodes,s)+1,s=i}e.setStart(r,a),e.setEnd(s,d)},ke=function(e,t){var n,o=e.startContainer;return a(o)?n=c(o,t):o!==t&&s(o)?n=o:(n=Ce(o,e.startOffset),n=h(n,t)),n&&Ee(e,n,!0)?n:null},Ae=function(e,t){var n,o,i=e.endContainer;if(a(i))n=c(i,t);else if(i!==t&&s(i))n=i;else{if(!(n=_e(i,e.endOffset))||!m(t,n))for(n=t;o=n.lastChild;)n=o;n=c(n,t)}return n&&Ee(e,n,!0)?n:null},Le=new n(null,4|W,function(e){return e.nodeType===F?se.test(e.data):"IMG"===e.nodeName}),Be=function(e,t){var n,o=e.startContainer,i=e.startOffset;if(Le.root=null,o.nodeType===F){if(i)return!1;n=o}else if(n=_e(o,i),n&&!m(t,n)&&(n=null),!n&&(n=Ce(o,i),n.nodeType===F&&n.length))return!1;return Le.currentNode=n,Le.root=ke(e,t),!Le.previousNode()},Oe=function(e,t){var n,o=e.endContainer,i=e.endOffset;if(Le.root=null,o.nodeType===F){if((n=o.data.length)&&i-1||!Q&&de.call(i,"text/plain")>-1&&de.call(i,"text/rtf")<0))return e.preventDefault(),void(!d&&(r=a.getData("text/html"))?this.insertHTML(r,!0):((r=a.getData("text/plain"))||(r=a.getData("text/uri-list")))&&this.insertPlainText(r,!0));this._awaitingPaste=!0;var f=this._doc.body,p=this.getSelection(),g=p.startContainer,m=p.startOffset,v=p.endContainer,C=p.endOffset,N=this.createElement("DIV",{contenteditable:"true",style:"position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"});f.appendChild(N),p.selectNodeContents(N),this.setSelection(p),setTimeout(function(){try{u._awaitingPaste=!1;for(var e,t,n="",o=N;N=o;)o=N.nextSibling,_(N),e=N.firstChild,e&&e===N.lastChild&&"DIV"===e.nodeName&&(N=e),n+=N.innerHTML;t=u.createRange(g,m,v,C),u.setSelection(t),n&&u.insertHTML(n,!0)}catch(e){u.didError(e)}},0)},nt=function(e){for(var t=e.dataTransfer.types,n=t.length,o=!1,i=!1;n--;)switch(t[n]){case"text/plain":o=!0;break;case"text/html":i=!0;break;default:return}(i||o)&&this.saveUndoState()},ot=R.prototype,it=function(e,t,n){var o=n._doc,i=e?DOMPurify.sanitize(e,{ALLOW_UNKNOWN_PROTOCOLS:!0,WHOLE_DOCUMENT:!1,RETURN_DOM:!0,RETURN_DOM_FRAGMENT:!0}):null;return i?o.importNode(i,!0):o.createDocumentFragment()};ot.setConfig=function(e){return e=O({blockTag:"DIV",blockAttributes:null,tagAttributes:{blockquote:null,ul:null,ol:null,li:null,a:null},classNames:{colour:"colour",fontFamily:"font",fontSize:"size",highlight:"highlight"},leafNodeNames:ue,undo:{documentSizeThreshold:-1,undoLimit:-1},isInsertedHTMLSanitized:!0,isSetHTMLSanitized:!0,sanitizeToDOMFragment:"undefined"!=typeof DOMPurify&&DOMPurify.isSupported?it:null,willCutCopy:null},e,!0),e.blockTag=e.blockTag.toUpperCase(),this._config=e,this},ot.createElement=function(e,t,n){return y(this._doc,e,t,n)},ot.createDefaultBlock=function(e){var t=this._config;return T(this.createElement(t.blockTag,t.blockAttributes,e),this._root)},ot.didError=function(e){console.log(e)},ot.getDocument=function(){return this._doc},ot.getRoot=function(){return this._root},ot.modifyDocument=function(e){var t=this._mutation;t&&(t.takeRecords().length&&this._docWasChanged(),t.disconnect()),this._ignoreAllChanges=!0,e(),this._ignoreAllChanges=!1,t&&(t.observe(this._root,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),this._ignoreChange=!1)};var rt={pathChange:1,select:1,input:1,undoStateChange:1};ot.fireEvent=function(e,t){var n,o,i,r=this._events[e];if(/^(?:focus|blur)/.test(e))if(n=this._root===this._doc.activeElement,"focus"===e){if(!n||this._isFocused)return this;this._isFocused=!0}else{if(n||!this._isFocused)return this;this._isFocused=!1}if(r)for(t||(t={}),t.type!==e&&(t.type=e),r=r.slice(),o=r.length;o--;){i=r[o];try{i.handleEvent?i.handleEvent(t):i.call(this,t)}catch(t){t.details="Squire: fireEvent error. Event type: "+e,this.didError(t)}}return this},ot.destroy=function(){var e,t=this._events;for(e in t)this.removeEventListener(e);this._mutation&&this._mutation.disconnect(),delete this._root.__squire__,this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0},ot.handleEvent=function(e){this.fireEvent(e.type,e)},ot.addEventListener=function(e,t){var n=this._events[e],o=this._root;return t?(n||(n=this._events[e]=[],rt[e]||("selectionchange"===e&&(o=this._doc),o.addEventListener(e,this,!0))),n.push(t),this):(this.didError({name:"Squire: addEventListener with null or undefined fn",message:"Event type: "+e}),this)},ot.removeEventListener=function(e,t){var n,o=this._events[e],i=this._root;if(o){if(t)for(n=o.length;n--;)o[n]===t&&o.splice(n,1);else o.length=0;o.length||(delete this._events[e],rt[e]||("selectionchange"===e&&(i=this._doc),i.removeEventListener(e,this,!0)))}return this},ot.createRange=function(e,t,n,o){if(e instanceof this._win.Range)return e.cloneRange();var i=this._doc.createRange();return i.setStart(e,t),n?i.setEnd(n,o):i.setEnd(e,t),i},ot.getCursorPosition=function(e){if(!e&&!(e=this.getSelection())||!e.getBoundingClientRect)return null;var t,n,o=e.getBoundingClientRect();return o&&!o.top&&(this._ignoreChange=!0,t=this._doc.createElement("SPAN"),t.textContent=z,Ne(e,t),o=t.getBoundingClientRect(),n=t.parentNode,n.removeChild(t),k(n,e)),o},ot._moveCursorTo=function(e){var t=this._root,n=this.createRange(t,e?0:t.childNodes.length);return be(n),this.setSelection(n),this},ot.moveCursorToStart=function(){return this._moveCursorTo(!0)},ot.moveCursorToEnd=function(){return this._moveCursorTo(!1)};var at=function(e){return e._win.getSelection()||null};ot.setSelection=function(e){if(e)if(this._lastSelection=e,this._isFocused)if(G&&!this._restoreSelection)D.call(this),this.blur(),this.focus();else{Z&&this._win.focus();var t=at(this);t&&(t.removeAllRanges(),t.addRange(e))}else D.call(this);return this},ot.getSelection=function(){var e,t,n,o,r=at(this),a=this._root;return this._isFocused&&r&&r.rangeCount&&(e=r.getRangeAt(0).cloneRange(),t=e.startContainer,n=e.endContainer,t&&i(t)&&e.setStartBefore(t),n&&i(n)&&e.setEndBefore(n)),e&&m(a,e.commonAncestorContainer)?this._lastSelection=e:(e=this._lastSelection,o=e.commonAncestorContainer,m(o.ownerDocument,o)||(e=null)),e||(e=this.createRange(a.firstChild,0)),e},ot.getSelectedText=function(){var e=this.getSelection();if(!e||e.collapsed)return"";var t,o=new n(e.commonAncestorContainer,4|W,function(t){return Ee(e,t,!0)}),i=e.startContainer,r=e.endContainer,s=o.currentNode=i,d="",l=!1;for(o.filter(s)||(s=o.nextNode());s;)s.nodeType===F?(t=s.data)&&/\S/.test(t)&&(s===r&&(t=t.slice(0,e.endOffset)),s===i&&(t=t.slice(e.startOffset)),d+=t,l=!0):("BR"===s.nodeName||l&&!a(s))&&(d+="\n",l=!1),s=o.nextNode();return d},ot.getPath=function(){return this._path};var st=function(e,t){for(var o,i,r,s=new n(e,4);i=s.nextNode();)for(;(r=i.data.indexOf(z))>-1&&(!t||i.parentNode!==t);){if(1===i.length){do{o=i.parentNode,o.removeChild(i),i=o,s.currentNode=o}while(a(i)&&!C(i));break}i.deleteData(r,1)}};ot._didAddZWS=function(){this._hasZWS=!0},ot._removeZWS=function(){this._hasZWS&&(st(this._root),this._hasZWS=!1)},ot._updatePath=function(e,t){if(e){var n,o=e.startContainer,i=e.endContainer;(t||o!==this._lastAnchorNode||i!==this._lastFocusNode)&&(this._lastAnchorNode=o,this._lastFocusNode=i,n=o&&i?o===i?v(i,this._root,this._config):"(selection)":"",this._path!==n&&(this._path=n,this.fireEvent("pathChange",{path:n}))),this.fireEvent(e.collapsed?"cursor":"select",{range:e})}},ot._updatePathOnEvent=function(e){var t=this;t._isFocused&&!t._willUpdatePath&&(t._willUpdatePath=!0,setTimeout(function(){t._willUpdatePath=!1,t._updatePath(t.getSelection())},0))},ot.focus=function(){return this._root.focus(),ee&&this.fireEvent("focus"),this},ot.blur=function(){return this._root.blur(),ee&&this.fireEvent("blur"),this};var dt="squire-selection-end";ot._saveRangeToBookmark=function(e){var t,n=this.createElement("INPUT",{ +id:"squire-selection-start",type:"hidden"}),o=this.createElement("INPUT",{id:dt,type:"hidden"});Ne(e,n),e.collapse(!1),Ne(e,o),2&n.compareDocumentPosition(o)&&(n.id=dt,o.id="squire-selection-start",t=n,n=o,o=t),e.setStartAfter(n),e.setEndBefore(o)},ot._getRangeAndRemoveBookmark=function(e){var t=this._root,n=t.querySelector("#squire-selection-start"),o=t.querySelector("#"+dt);if(n&&o){var i=n.parentNode,r=o.parentNode,a=de.call(i.childNodes,n),s=de.call(r.childNodes,o);i===r&&(s-=1),_(n),_(o),e||(e=this._doc.createRange()),e.setStart(i,a),e.setEnd(r,s),k(i,e),i!==r&&k(r,e),e.collapsed&&(i=e.startContainer,i.nodeType===F&&(r=i.childNodes[e.startOffset],r&&r.nodeType===F||(r=i.childNodes[e.startOffset-1]),r&&r.nodeType===F&&(e.setStart(r,0),e.collapse(!0))))}return e||null},ot._keyUpDetectChange=function(e){var t=e.keyCode;e.ctrlKey||e.metaKey||e.altKey||!(t<16||t>20)||!(t<33||t>45)||this._docWasChanged()},ot._docWasChanged=function(){if(ae&&(ve=new WeakMap),!this._ignoreAllChanges){if(re&&this._ignoreChange)return void(this._ignoreChange=!1);this._isInUndoState&&(this._isInUndoState=!1,this.fireEvent("undoStateChange",{canUndo:!0,canRedo:!1})),this.fireEvent("input")}},ot._recordUndoState=function(e,t){if(!this._isInUndoState||t){var n,o=this._undoIndex,i=this._undoStack,r=this._config.undo,a=r.documentSizeThreshold,s=r.undoLimit;t||(o+=1),o-1&&2*n.length>a&&s>-1&&o>s&&(i.splice(0,o-s),o=s,this._undoStackLength=s),i[o]=n,this._undoIndex=o,this._undoStackLength+=1,this._isInUndoState=!0}},ot.saveUndoState=function(e){return e===t&&(e=this.getSelection()),this._recordUndoState(e,this._isInUndoState),this._getRangeAndRemoveBookmark(e),this},ot.undo=function(){if(0!==this._undoIndex||!this._isInUndoState){this._recordUndoState(this.getSelection(),!1),this._undoIndex-=1,this._setHTML(this._undoStack[this._undoIndex]);var e=this._getRangeAndRemoveBookmark();e&&this.setSelection(e),this._isInUndoState=!0,this.fireEvent("undoStateChange",{canUndo:0!==this._undoIndex,canRedo:!0}),this.fireEvent("input")}return this},ot.redo=function(){var e=this._undoIndex,t=this._undoStackLength;if(e+1c&&h.splitText(c),h===s&&l&&(h=h.splitText(l),d===s&&(d=h,c-=l),s=h,l=0),i=this.createElement(e,t),N(h,i),i.appendChild(h))}while(r.nextNode());d.nodeType!==F&&(h.nodeType===F?(d=h,c=h.length):(d=h.parentNode,c=1)),o=this.createRange(s,l,d,c)}return o},ot._removeFormat=function(e,t,n,o){this._saveRangeToBookmark(n);var i,r=this._doc;n.collapsed&&(oe?(i=r.createTextNode(z),this._didAddZWS()):i=r.createTextNode(""),Ne(n,i));for(var s=n.commonAncestorContainer;a(s);)s=s.parentNode;var d=n.startContainer,l=n.startOffset,c=n.endContainer,h=n.endOffset,u=[],f=function(e,t){if(!Ee(n,e,!1)){var o,i,r=e.nodeType===F;if(!Ee(n,e,!0))return void("INPUT"===e.nodeName||r&&!e.data||u.push([t,e]));if(r)e===c&&h!==e.length&&u.push([t,e.splitText(h)]),e===d&&l&&(e.splitText(l),u.push([t,e]));else for(o=e.firstChild;o;o=i)i=o.nextSibling,f(o,t)}},g=Array.prototype.filter.call(s.getElementsByTagName(e),function(o){return Ee(n,o,!0)&&p(o,e,t)});return o||g.forEach(function(e){f(e,e)}),u.forEach(function(e){var t=e[0].cloneNode(!1),n=e[1];N(n,t),t.appendChild(n)}),g.forEach(function(e){N(e,S(e))}),this._getRangeAndRemoveBookmark(n),i&&n.collapse(!1),k(s,n),n},ot.changeFormat=function(e,t,n,o){return n||(n=this.getSelection())?(this.saveUndoState(n),t&&(n=this._removeFormat(t.tag.toUpperCase(),t.attributes||{},n,o)),e&&(n=this._addFormat(e.tag.toUpperCase(),e.attributes||{},n)),this.setSelection(n),this._updatePath(n,!0),re||this._docWasChanged(),this):this};var lt={DT:"DD",DD:"DT",LI:"LI",PRE:"PRE"},ct=function(e,t,n,o){var i=lt[t.nodeName],r=null,a=b(n,o,t.parentNode,e._root),s=e._config;return i||(i=s.blockTag,r=s.blockAttributes),p(a,i,r)||(t=y(a.ownerDocument,i,r),a.dir&&(t.dir=a.dir),N(a,t),t.appendChild(S(a)),a=t),a};ot.forEachBlock=function(e,t,n){if(!n&&!(n=this.getSelection()))return this;t&&this.saveUndoState(n);var o=this._root,i=ke(n,o),r=Ae(n,o);if(i&&r)do{if(e(i)||i===r)break}while(i=h(i,o));return t&&(this.setSelection(n),this._updatePath(n,!0),re||this._docWasChanged()),this},ot.modifyBlocks=function(e,t){if(!t&&!(t=this.getSelection()))return this;this._recordUndoState(t,this._isInUndoState);var n,o=this._root;return Re(t,o),xe(t,o,o,o),n=Se(t,o,o),Ne(t,e.call(this,n)),t.endOffset]+|\([^\s()<>]+\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))|([\w\-.%+]+@(?:[\w\-]+\.)+[A-Z]{2,}\b)(?:\?[^&?\s]+=[^&?\s]+(?:&[^&?\s]+=[^&?\s]+)*)?/i;var _t=function(e,t,o){var i,r,a,s,d,l,c,h=e.ownerDocument,u=new n(e,4,function(e){return!g(e,t,"A")}),f=o.linkRegExp,p=o._config.tagAttributes.a;if(f)for(;i=u.nextNode();)for(r=i.data,a=i.parentNode;s=f.exec(r);)d=s.index,l=d+s[0].length,d&&(c=h.createTextNode(r.slice(0,d)),a.insertBefore(c,i)),c=o.createElement("A",O({href:s[1]?/^(?:ht|f)tps?:/i.test(s[1])?s[1]:"http://"+s[1]:"mailto:"+s[0]},p,!1)),c.textContent=r.slice(d,l),a.insertBefore(c,i),i.data=r=r.slice(l)};ot.insertHTML=function(e,t){var n,o,i,r,a,s,d,l=this._config,c=l.isInsertedHTMLSanitized?l.sanitizeToDOMFragment:null,u=this.getSelection(),f=this._doc;"function"==typeof c?r=c(e,t,this):(t&&(n=e.indexOf("\x3c!--StartFragment--\x3e"),o=e.lastIndexOf("\x3c!--EndFragment--\x3e"),n>-1&&o>-1&&(e=e.slice(n+20,o))),/<\/td>((?!<\/tr>)[\s\S])*$/i.test(e)&&(e=""+e+""),/<\/tr>((?!<\/table>)[\s\S])*$/i.test(e)&&(e=""+e+"
    "),i=this.createElement("DIV"),i.innerHTML=e,r=f.createDocumentFragment(),r.appendChild(S(i))),this.saveUndoState(u);try{for(a=this._root,s=r,d={fragment:r,preventDefault:function(){this.defaultPrevented=!0},defaultPrevented:!1},_t(r,r,this),je(r,l),Ye(r,a,!1),$e(r),r.normalize();s=h(s,r);)T(s,a);t&&this.fireEvent("willPaste",d),d.defaultPrevented||(Te(u,d.fragment,a),re||this._docWasChanged(),u.collapse(!1),this._ensureBottomLine()),this.setSelection(u),this._updatePath(u,!0),t&&this.focus()}catch(e){this.didError(e)}return this};var Nt=function(e){return e.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")};ot.insertPlainText=function(e,t){var n=this.getSelection();if(n.collapsed&&g(n.startContainer,this._root,"PRE")){var o,i,r=n.startContainer,a=n.startOffset;return r&&r.nodeType===F||(o=this._doc.createTextNode(""),r.insertBefore(o,r.childNodes[a]),r=o,a=0),i={text:e,preventDefault:function(){this.defaultPrevented=!0},defaultPrevented:!1},t&&this.fireEvent("willPaste",i),i.defaultPrevented||(e=i.text,r.insertData(a,e),n.setStart(r,a+e.length),n.collapse(!0)),this.setSelection(n),this}var s,d,l,c,h=e.split("\n"),u=this._config,f=u.blockTag,p=u.blockAttributes,m="",v="<"+f;for(s in p)v+=" "+s+'="'+Nt(p[s])+'"';for(v+=">",d=0,l=h.length;d")+m;return this.insertHTML(h.join(""),t)};var St=function(e,t,n){return function(){return this[e](t,n),this.focus()}};ot.addStyles=function(e){if(e){var t=this._doc.documentElement.firstChild,n=this.createElement("STYLE",{type:"text/css"});n.appendChild(this._doc.createTextNode(e)),t.appendChild(n)}return this},ot.bold=St("changeFormat",{tag:"B"}),ot.italic=St("changeFormat",{tag:"I"}),ot.underline=St("changeFormat",{tag:"U"}),ot.strikethrough=St("changeFormat",{tag:"S"}),ot.subscript=St("changeFormat",{tag:"SUB"},{tag:"SUP"}),ot.superscript=St("changeFormat",{tag:"SUP"},{tag:"SUB"}),ot.removeBold=St("changeFormat",null,{tag:"B"}),ot.removeItalic=St("changeFormat",null,{tag:"I"}),ot.removeUnderline=St("changeFormat",null,{tag:"U"}),ot.removeStrikethrough=St("changeFormat",null,{tag:"S"}),ot.removeSubscript=St("changeFormat",null,{tag:"SUB"}),ot.removeSuperscript=St("changeFormat",null,{tag:"SUP"}),ot.makeLink=function(e,t){var n=this.getSelection();if(n.collapsed){var o=e.indexOf(":")+1;if(o)for(;"/"===e[o];)o+=1;Ne(n,this._doc.createTextNode(e.slice(o)))}return t=O(O({href:e},t,!0),this._config.tagAttributes.a,!1),this.changeFormat({tag:"A",attributes:t},{tag:"A"},n),this.focus()},ot.removeLink=function(){return this.changeFormat(null,{tag:"A"},this.getSelection(),!0),this.focus()},ot.setFontFace=function(e){var t=this._config.classNames.fontFamily;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"font-family: "+e+", sans-serif;"}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},ot.setFontSize=function(e){var t=this._config.classNames.fontSize;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"font-size: "+("number"==typeof e?e+"px":e)}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},ot.setTextColour=function(e){var t=this._config.classNames.colour;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"color:"+e}}:null,{tag:"SPAN",attributes:{class:t}}),this.focus()},ot.setHighlightColour=function(e){var t=this._config.classNames.highlight;return this.changeFormat(e?{tag:"SPAN",attributes:{class:t,style:"background-color:"+e}}:e,{tag:"SPAN",attributes:{class:t}}),this.focus()},ot.setTextAlignment=function(e){return this.forEachBlock(function(t){var n=t.className.split(/\s+/).filter(function(e){return!!e&&!/^align/.test(e)}).join(" ");e?(t.className=n+" align-"+e,t.style.textAlign=e):(t.className=n,t.style.textAlign="")},!0),this.focus()},ot.setTextDirection=function(e){return this.forEachBlock(function(t){e?t.dir=e:t.removeAttribute("dir")},!0),this.focus()};var yt=function(e){for(var t,o=this._root,i=this._doc,r=i.createDocumentFragment(),a=l(e,o);t=a.nextNode();){var s,d,c=t.querySelectorAll("BR"),h=[],u=c.length;for(s=0;s-1;)a.appendChild(d.createTextNode(r.slice(0,s))),a.appendChild(d.createElement("BR")),r=r.slice(s+1);i.parentNode.insertBefore(a,i),i.data=r}E(t,l),N(t,S(t))}return e};ot.code=function(){var e=this.getSelection();return e.collapsed||d(e.commonAncestorContainer)?this.modifyBlocks(yt,e):this.changeFormat({tag:"CODE",attributes:this._config.tagAttributes.code},null,e),this.focus()},ot.removeCode=function(){var e=this.getSelection();return g(e.commonAncestorContainer,this._root,"PRE")?this.modifyBlocks(Tt,e):this.changeFormat(null,{tag:"CODE"},e),this.focus()},ot.toggleCode=function(){return this.hasFormat("PRE")||this.hasFormat("CODE")?this.removeCode():this.code(),this},ot.removeAllFormatting=function(e){if(!e&&!(e=this.getSelection())||e.collapsed)return this;for(var t=this._root,n=e.commonAncestorContainer;n&&!s(n);)n=n.parentNode;if(n||(Re(e,t),n=t),n.nodeType===F)return this;this.saveUndoState(e),xe(e,n,n,t);for(var o,i,r=n.ownerDocument,a=e.startContainer,d=e.startOffset,l=e.endContainer,c=e.endOffset,h=r.createDocumentFragment(),u=r.createDocumentFragment(),f=b(l,c,n,t),p=b(a,d,n,t);p!==f;)o=p.nextSibling,h.appendChild(p),p=o;return I(this,h,u),u.normalize(),p=u.firstChild,o=u.lastChild,i=n.childNodes,p?(n.insertBefore(u,f),d=de.call(i,p),c=de.call(i,o)+1):(d=de.call(i,f),c=d),e.setStart(n,d),e.setEnd(n,c),k(n,e),be(e),this.setSelection(e),this._updatePath(e,!0),this.focus()},ot.increaseQuoteLevel=St("modifyBlocks",ht),ot.decreaseQuoteLevel=St("modifyBlocks",ut),ot.makeUnorderedList=St("modifyBlocks",gt),ot.makeOrderedList=St("modifyBlocks",mt),ot.removeList=St("modifyBlocks",vt),R.isInline=a,R.isBlock=s,R.isContainer=d,R.getBlockWalker=l,R.getPreviousBlock=c,R.getNextBlock=h,R.areAlike=f,R.hasTagAttributes=p,R.getNearest=g,R.isOrContains=m,R.detach=_,R.replaceWith=N,R.empty=S,R.getNodeBefore=Ce,R.getNodeAfter=_e,R.insertNodeInRange=Ne,R.extractContentsOfRange=Se,R.deleteContentsOfRange=ye,R.insertTreeFragmentIntoRange=Te,R.isNodeContainedInRange=Ee,R.moveRangeBoundariesDownTree=be,R.moveRangeBoundariesUpTree=xe,R.getStartBlockOfRange=ke,R.getEndBlockOfRange=Ae,R.contentWalker=Le,R.rangeDoesStartAtBlockBoundary=Be,R.rangeDoesEndAtBlockBoundary=Oe,R.expandRangeToBlockBoundaries=Re,R.onPaste=tt,R.addLinks=_t,R.splitBlock=ct,R.startSelectionId="squire-selection-start",R.endSelectionId=dt,"object"==typeof exports?module.exports=R:"function"==typeof define&&define.amd?define(function(){return R}):(q.Squire=R,top!==q&&"true"===e.documentElement.getAttribute("data-squireinit")&&(q.editor=new R(e),q.onEditorLoad&&(q.onEditorLoad(q.editor),q.onEditorLoad=null)))}(document); \ No newline at end of file From ebf12263cc15438fa8f348f8476bce0857a116c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 09:59:54 +0300 Subject: [PATCH 064/149] Remove update analytics collection. --- .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index 38602ac1e7..d4acd5e2cd 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -43,17 +43,8 @@ namespace Volo.Abp.Cli.Commands public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { - //await UpdateNugetPackages(commandLineArgs); + await UpdateNugetPackages(commandLineArgs); UpdateNpmPackages(); - - //var options = commandLineArgs.Options - // .Select(x => x.Key).ToList(); - //await _cliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto - //{ - // Tool = _options.ToolName, - // Command = commandLineArgs.Command, - // Options = _jsonSerializer.Serialize(options) - //}); } private void UpdateNpmPackages() From 9f05d20ef48a56742ae34751548e595199f48fbb Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 10:04:38 +0300 Subject: [PATCH 065/149] update npm versions --- samples/BookStore-Angular-MongoDb/angular/package.json | 8 ++++---- templates/app/angular/package.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/samples/BookStore-Angular-MongoDb/angular/package.json b/samples/BookStore-Angular-MongoDb/angular/package.json index 5415eb7e11..a620f1b373 100644 --- a/samples/BookStore-Angular-MongoDb/angular/package.json +++ b/samples/BookStore-Angular-MongoDb/angular/package.json @@ -13,10 +13,10 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "^0.8.0", - "@abp/ng.identity": "^0.8.0", - "@abp/ng.tenant-management": "^0.8.0", - "@abp/ng.theme.basic": "^0.8.0", + "@abp/ng.account": "^0.8.3", + "@abp/ng.identity": "^0.8.3", + "@abp/ng.tenant-management": "^0.8.3", + "@abp/ng.theme.basic": "^0.8.3", "@angular/animations": "~8.2.2", "@angular/common": "~8.2.2", "@angular/compiler": "~8.2.2", diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 6276ec94de..23e18d4389 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -13,10 +13,10 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "^0.8.0", - "@abp/ng.identity": "^0.8.0", - "@abp/ng.tenant-management": "^0.8.0", - "@abp/ng.theme.basic": "^0.8.0", + "@abp/ng.account": "^0.8.3", + "@abp/ng.identity": "^0.8.3", + "@abp/ng.tenant-management": "^0.8.3", + "@abp/ng.theme.basic": "^0.8.3", "@angular/animations": "~8.2.2", "@angular/common": "~8.2.2", "@angular/compiler": "~8.2.2", From 2eb9b2278318d5bb7d6e29654490bbf24195c42a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 10:04:38 +0300 Subject: [PATCH 066/149] update npm versions --- samples/BookStore-Angular-MongoDb/angular/package.json | 8 ++++---- templates/app/angular/package.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/samples/BookStore-Angular-MongoDb/angular/package.json b/samples/BookStore-Angular-MongoDb/angular/package.json index 5415eb7e11..a620f1b373 100644 --- a/samples/BookStore-Angular-MongoDb/angular/package.json +++ b/samples/BookStore-Angular-MongoDb/angular/package.json @@ -13,10 +13,10 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "^0.8.0", - "@abp/ng.identity": "^0.8.0", - "@abp/ng.tenant-management": "^0.8.0", - "@abp/ng.theme.basic": "^0.8.0", + "@abp/ng.account": "^0.8.3", + "@abp/ng.identity": "^0.8.3", + "@abp/ng.tenant-management": "^0.8.3", + "@abp/ng.theme.basic": "^0.8.3", "@angular/animations": "~8.2.2", "@angular/common": "~8.2.2", "@angular/compiler": "~8.2.2", diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 6276ec94de..23e18d4389 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -13,10 +13,10 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "^0.8.0", - "@abp/ng.identity": "^0.8.0", - "@abp/ng.tenant-management": "^0.8.0", - "@abp/ng.theme.basic": "^0.8.0", + "@abp/ng.account": "^0.8.3", + "@abp/ng.identity": "^0.8.3", + "@abp/ng.tenant-management": "^0.8.3", + "@abp/ng.theme.basic": "^0.8.3", "@angular/animations": "~8.2.2", "@angular/common": "~8.2.2", "@angular/compiler": "~8.2.2", From 5a90ea15da47e6cfb95d9ddd673f2bd5bf8c4a04 Mon Sep 17 00:00:00 2001 From: Rwing Date: Fri, 16 Aug 2019 16:16:22 +0800 Subject: [PATCH 067/149] Fix typo of mongodb connection string in sample project --- .../src/Acme.BookStore.HttpApi.Host/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json index 143c972ee1..e24d24c1c4 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json @@ -4,7 +4,7 @@ "CorsOrigins": "https://*.BookStore.com,http://localhost:4200" }, "ConnectionStrings": { - "Default": "mongodb://localhost:27017|BookStore" + "Default": "mongodb://localhost:27017/BookStore" }, "Redis": { "Configuration": "127.0.0.1" From 0150621ce9ce55c7894b6bbda99e6acfd3f93c84 Mon Sep 17 00:00:00 2001 From: Rwing Date: Fri, 16 Aug 2019 16:18:21 +0800 Subject: [PATCH 068/149] Fix typo of mongodb connection string in sample project --- .../aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json index 50ff8967a2..1bca387914 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "Default": "mongodb://localhost:27017|BookStore" + "Default": "mongodb://localhost:27017/BookStore" }, "IdentityServer": { "Clients": { From d6a1386fad31af2699008115db6d8eb862a5a048 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 11:30:15 +0300 Subject: [PATCH 069/149] feature(core): add form-keyup-listener.directive --- .../packages/core/src/lib/core.module.ts | 3 +++ .../form-keyup-listener.directive.ts | 23 +++++++++++++++++++ .../packages/core/src/lib/directives/index.ts | 1 + 3 files changed, 27 insertions(+) create mode 100644 npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index 4b657fe8bb..b9979bde06 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -22,6 +22,7 @@ import { EllipsisDirective } from './directives/ellipsis.directive'; import { AutofocusDirective } from './directives/autofocus.directive'; import { InputEventDebounceDirective } from './directives/debounce.directive'; import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; +import { FormKeyupListenerDirective } from './directives/form-keyup-listener.directive'; @NgModule({ imports: [ @@ -39,6 +40,7 @@ import { ClickEventStopPropagationDirective } from './directives/stop-propagatio DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormKeyupListenerDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -55,6 +57,7 @@ import { ClickEventStopPropagationDirective } from './directives/stop-propagatio DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormKeyupListenerDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, diff --git a/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts new file mode 100644 index 0000000000..2c9b5d3410 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts @@ -0,0 +1,23 @@ +import { Directive, ElementRef, EventEmitter, Output, OnDestroy } from '@angular/core'; +import { fromEvent } from 'rxjs'; +import { debounceTime, filter, tap } from 'rxjs/operators'; +import { takeUntilDestroy } from '../utils/rxjs-utils'; + +@Directive({ + selector: 'form[ngSubmit]', +}) +export class FormKeyupListenerDirective implements OnDestroy { + @Output() ngSubmit = new EventEmitter(); + + constructor(private elRef: ElementRef) { + fromEvent(elRef.nativeElement as HTMLElement, 'keyup') + .pipe( + debounceTime(200), + filter((key: KeyboardEvent) => key && key.key === 'Enter'), + takeUntilDestroy(this), + ) + .subscribe(() => this.ngSubmit.emit()); + } + + ngOnDestroy(): void {} +} diff --git a/npm/ng-packs/packages/core/src/lib/directives/index.ts b/npm/ng-packs/packages/core/src/lib/directives/index.ts index de5846382c..d3da66bed4 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/index.ts @@ -1,4 +1,5 @@ export * from './autofocus.directive'; export * from './ellipsis.directive'; +export * from './form-keyup-listener.directive'; export * from './permission.directive'; export * from './visibility.directive'; From 5ca1eb47f3093d25c36173da8e2e5359cbf5e2e9 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 11:30:50 +0300 Subject: [PATCH 070/149] refactor(theme-basic): change submit method name --- .../src/lib/components/profile/profile.component.html | 4 ++-- .../src/lib/components/profile/profile.component.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html index 3a122357c7..b0624e9d82 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html @@ -3,7 +3,7 @@

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    -
    +
    * @@ -36,6 +36,6 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }} diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts index f2e4683239..0dc8ef2768 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts @@ -54,7 +54,7 @@ export class ProfileComponent implements OnChanges { }); } - onSubmit() { + submit() { if (this.form.invalid) return; this.modalBusy = true; From ad739124c2a87af008a3c0664fdc7c1e741fec87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 11:34:01 +0300 Subject: [PATCH 071/149] Update Post.md --- docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md index 408e94d6b4..73b43327da 100644 --- a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md +++ b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md @@ -1,6 +1,6 @@ # ABP v0.19 Release with Angular UI Option -ABP v0.19 has been released with [~90 issues](https://github.com/abpframework/abp/milestone/17?closed=1) resolved and [600+ commits](https://github.com/abpframework/abp/compare/0.18.1...0.19.0) pushed. +ABP v0.19 has been released with [90 issues](https://github.com/abpframework/abp/milestone/17?closed=1) resolved and [650+ commits](https://github.com/abpframework/abp/compare/0.18.1...0.19.0) pushed. ## New Features From 1ca687868834f0414e19a8fb751d2326f939c7b1 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 16 Aug 2019 17:04:08 +0800 Subject: [PATCH 072/149] Resolve #1627 Upgrade AutoMapper to version 9. --- framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj b/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj index 2d003f1d48..ae6d39c61c 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj +++ b/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj @@ -18,7 +18,7 @@ - + \ No newline at end of file From 779e161aa8b9a379295525458fc60b97d2b33629 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 12:41:52 +0300 Subject: [PATCH 073/149] fix(permission-management): fix type error --- .../src/lib/components/permission-management.component.html | 4 ++-- .../src/lib/components/permission-management.component.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html index 62fc5f8e4a..3f6a47eabd 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html @@ -35,7 +35,7 @@
    -

    {{ selectedGroup.displayName }}

    +

    {{ selectedGroup?.displayName }}


    @@ -86,7 +86,7 @@ - {{ 'AbpIdentity::Save' | abpLocalization }} + {{ 'AbpIdentity::Save' | abpLocalization }} diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index 772c1efc1a..4b83c5a5ab 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -183,7 +183,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { this.setTabCheckboxState(); } - onSubmit() { + submit() { this.modalBusy = true; const unchangedPermissions = getPermissions( this.store.selectSnapshot(PermissionManagementState.getPermissionGroups), From 1c95d53779875680566866924b8eb18272a5b6d3 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 16 Aug 2019 18:06:12 +0800 Subject: [PATCH 074/149] Update EF Core Migration. --- ...mo.EntityFrameworkCore.DbMigrations.csproj | 4 +++ ....cs => 20190816095643_Initial.Designer.cs} | 17 +++++++++--- ...3_Initial.cs => 20190816095643_Initial.cs} | 11 +++++--- ...ardDemoMigrationsDbContextModelSnapshot.cs | 15 +++++++++-- .../AuthServer.Host/AuthServer.Host.csproj | 1 + ....cs => 20190816095916_Initial.Designer.cs} | 27 +++++++++++++++---- ...4_Initial.cs => 20190816095916_Initial.cs} | 11 +++++--- .../AuthServerDbContextModelSnapshot.cs | 25 ++++++++++++++--- ....cs => 20190816092925_Initial.Designer.cs} | 15 +++++++++-- ...3_Initial.cs => 20190816092925_Initial.cs} | 11 +++++--- ...ectNameMigrationsDbContextModelSnapshot.cs | 13 ++++++++- ....cs => 20190816093449_Initial.Designer.cs} | 15 +++++++++-- ...7_Initial.cs => 20190816093449_Initial.cs} | 11 +++++--- ...verHostMigrationsDbContextModelSnapshot.cs | 13 ++++++++- 14 files changed, 157 insertions(+), 32 deletions(-) rename samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/{20190523122033_Initial.Designer.cs => 20190816095643_Initial.Designer.cs} (99%) rename samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/{20190523122033_Initial.cs => 20190816095643_Initial.cs} (99%) rename samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/{20190408114124_Initial.Designer.cs => 20190816095916_Initial.Designer.cs} (97%) rename samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/{20190408114124_Initial.cs => 20190816095916_Initial.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/{20190523122033_Initial.Designer.cs => 20190816092925_Initial.Designer.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/{20190523122033_Initial.cs => 20190816092925_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/{20190527125607_Initial.Designer.cs => 20190816093449_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/{20190527125607_Initial.cs => 20190816093449_Initial.cs} (99%) diff --git a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj index 4dd0478820..082b06c5d2 100644 --- a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj +++ b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj @@ -11,4 +11,8 @@ + + + + diff --git a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.Designer.cs similarity index 99% rename from samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs rename to samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.Designer.cs index 87dda25969..7c0ee10397 100644 --- a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs +++ b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.Designer.cs @@ -1,23 +1,23 @@ // using System; +using DashboardDemo.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using DashboardDemo.EntityFrameworkCore; namespace DashboardDemo.Migrations { [DbContext(typeof(DashboardDemoMigrationsDbContext))] - [Migration("20190523122033_Initial")] + [Migration("20190816095643_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -636,6 +636,8 @@ namespace DashboardDemo.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -776,6 +778,8 @@ namespace DashboardDemo.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -827,6 +831,11 @@ namespace DashboardDemo.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -1056,6 +1065,8 @@ namespace DashboardDemo.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.cs similarity index 99% rename from samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs rename to samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.cs index ce23c6adfe..991da6ff2f 100644 --- a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs +++ b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/20190816095643_Initial.cs @@ -218,7 +218,8 @@ namespace DashboardDemo.Migrations Name = table.Column(maxLength: 200, nullable: false), DisplayName = table.Column(maxLength: 200, nullable: true), Description = table.Column(maxLength: 1000, nullable: true), - Enabled = table.Column(nullable: false) + Enabled = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { @@ -272,7 +273,10 @@ namespace DashboardDemo.Migrations IncludeJwtId = table.Column(nullable: false), AlwaysSendClientClaims = table.Column(nullable: false), ClientClaimsPrefix = table.Column(maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true) + PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true), + UserSsoLifetime = table.Column(nullable: true), + UserCodeType = table.Column(maxLength: 100, nullable: true), + DeviceCodeLifetime = table.Column(nullable: false) }, constraints: table => { @@ -299,7 +303,8 @@ namespace DashboardDemo.Migrations Enabled = table.Column(nullable: false), Required = table.Column(nullable: false), Emphasize = table.Column(nullable: false), - ShowInDiscoveryDocument = table.Column(nullable: false) + ShowInDiscoveryDocument = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { diff --git a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/DashboardDemoMigrationsDbContextModelSnapshot.cs b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/DashboardDemoMigrationsDbContextModelSnapshot.cs index 827e76e355..8c3b06d1c2 100644 --- a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/DashboardDemoMigrationsDbContextModelSnapshot.cs +++ b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/Migrations/DashboardDemoMigrationsDbContextModelSnapshot.cs @@ -1,10 +1,10 @@ // using System; +using DashboardDemo.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using DashboardDemo.EntityFrameworkCore; namespace DashboardDemo.Migrations { @@ -15,7 +15,7 @@ namespace DashboardDemo.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -634,6 +634,8 @@ namespace DashboardDemo.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -774,6 +776,8 @@ namespace DashboardDemo.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -825,6 +829,11 @@ namespace DashboardDemo.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -1054,6 +1063,8 @@ namespace DashboardDemo.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj b/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj index df3b83834b..3ebf233694 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj @@ -19,6 +19,7 @@ + diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.Designer.cs b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.Designer.cs similarity index 97% rename from samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.Designer.cs rename to samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.Designer.cs index dcbfde13e8..45555c790b 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.Designer.cs +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.Designer.cs @@ -10,14 +10,14 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace AuthServer.Host.Migrations { [DbContext(typeof(AuthServerDbContext))] - [Migration("20190408114124_Initial")] + [Migration("20190816095916_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.0-rtm-35687") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -524,7 +524,9 @@ namespace AuthServer.Host.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("CreationTime") .HasColumnName("CreationTime"); @@ -564,6 +566,8 @@ namespace AuthServer.Host.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -683,7 +687,9 @@ namespace AuthServer.Host.Migrations b.Property("ClientUri") .HasMaxLength(300); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("ConsentLifetime"); @@ -702,6 +708,8 @@ namespace AuthServer.Host.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -753,6 +761,11 @@ namespace AuthServer.Host.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -938,7 +951,9 @@ namespace AuthServer.Host.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("CreationTime") .HasColumnName("CreationTime"); @@ -980,6 +995,8 @@ namespace AuthServer.Host.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.cs b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.cs similarity index 99% rename from samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.cs rename to samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.cs index d80105e24c..27a02acde0 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190408114124_Initial.cs +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/20190816095916_Initial.cs @@ -161,7 +161,8 @@ namespace AuthServer.Host.Migrations Name = table.Column(maxLength: 200, nullable: false), DisplayName = table.Column(maxLength: 200, nullable: true), Description = table.Column(maxLength: 1000, nullable: true), - Enabled = table.Column(nullable: false) + Enabled = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { @@ -215,7 +216,10 @@ namespace AuthServer.Host.Migrations IncludeJwtId = table.Column(nullable: false), AlwaysSendClientClaims = table.Column(nullable: false), ClientClaimsPrefix = table.Column(maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true) + PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true), + UserSsoLifetime = table.Column(nullable: true), + UserCodeType = table.Column(maxLength: 100, nullable: true), + DeviceCodeLifetime = table.Column(nullable: false) }, constraints: table => { @@ -242,7 +246,8 @@ namespace AuthServer.Host.Migrations Enabled = table.Column(nullable: false), Required = table.Column(nullable: false), Emphasize = table.Column(nullable: false), - ShowInDiscoveryDocument = table.Column(nullable: false) + ShowInDiscoveryDocument = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/AuthServerDbContextModelSnapshot.cs b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/AuthServerDbContextModelSnapshot.cs index 361a93da3b..113830d96d 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/AuthServerDbContextModelSnapshot.cs +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/Migrations/AuthServerDbContextModelSnapshot.cs @@ -15,7 +15,7 @@ namespace AuthServer.Host.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.0-rtm-35687") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -522,7 +522,9 @@ namespace AuthServer.Host.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("CreationTime") .HasColumnName("CreationTime"); @@ -562,6 +564,8 @@ namespace AuthServer.Host.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -681,7 +685,9 @@ namespace AuthServer.Host.Migrations b.Property("ClientUri") .HasMaxLength(300); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("ConsentLifetime"); @@ -700,6 +706,8 @@ namespace AuthServer.Host.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -751,6 +759,11 @@ namespace AuthServer.Host.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -936,7 +949,9 @@ namespace AuthServer.Host.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("ConcurrencyStamp"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnName("ConcurrencyStamp"); b.Property("CreationTime") .HasColumnName("CreationTime"); @@ -978,6 +993,8 @@ namespace AuthServer.Host.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.Designer.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.Designer.cs index 8fb23d43f7..8659b6366e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.Designer.cs @@ -10,14 +10,14 @@ using MyCompanyName.MyProjectName.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameMigrationsDbContext))] - [Migration("20190523122033_Initial")] + [Migration("20190816092925_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -636,6 +636,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -776,6 +778,8 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -827,6 +831,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -1056,6 +1065,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.cs index c4c347a560..187fa6f8a8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190523122033_Initial.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20190816092925_Initial.cs @@ -218,7 +218,8 @@ namespace MyCompanyName.MyProjectName.Migrations Name = table.Column(maxLength: 200, nullable: false), DisplayName = table.Column(maxLength: 200, nullable: true), Description = table.Column(maxLength: 1000, nullable: true), - Enabled = table.Column(nullable: false) + Enabled = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { @@ -272,7 +273,10 @@ namespace MyCompanyName.MyProjectName.Migrations IncludeJwtId = table.Column(nullable: false), AlwaysSendClientClaims = table.Column(nullable: false), ClientClaimsPrefix = table.Column(maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true) + PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true), + UserSsoLifetime = table.Column(nullable: true), + UserCodeType = table.Column(maxLength: 100, nullable: true), + DeviceCodeLifetime = table.Column(nullable: false) }, constraints: table => { @@ -299,7 +303,8 @@ namespace MyCompanyName.MyProjectName.Migrations Enabled = table.Column(nullable: false), Required = table.Column(nullable: false), Emphasize = table.Column(nullable: false), - ShowInDiscoveryDocument = table.Column(nullable: false) + ShowInDiscoveryDocument = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs index 2ce1594a30..67f73bd749 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs @@ -15,7 +15,7 @@ namespace MyCompanyName.MyProjectName.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -634,6 +634,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -774,6 +776,8 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -825,6 +829,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -1054,6 +1063,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.Designer.cs index 0c388d5430..c0af2fdf38 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.Designer.cs @@ -10,14 +10,14 @@ using MyCompanyName.MyProjectName.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(IdentityServerHostMigrationsDbContext))] - [Migration("20190527125607_Initial")] + [Migration("20190816093449_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -566,6 +566,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -706,6 +708,8 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -757,6 +761,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -986,6 +995,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.cs index be2770aabb..c81fbc2f22 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190527125607_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20190816093449_Initial.cs @@ -182,7 +182,8 @@ namespace MyCompanyName.MyProjectName.Migrations Name = table.Column(maxLength: 200, nullable: false), DisplayName = table.Column(maxLength: 200, nullable: true), Description = table.Column(maxLength: 1000, nullable: true), - Enabled = table.Column(nullable: false) + Enabled = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { @@ -236,7 +237,10 @@ namespace MyCompanyName.MyProjectName.Migrations IncludeJwtId = table.Column(nullable: false), AlwaysSendClientClaims = table.Column(nullable: false), ClientClaimsPrefix = table.Column(maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true) + PairWiseSubjectSalt = table.Column(maxLength: 200, nullable: true), + UserSsoLifetime = table.Column(nullable: true), + UserCodeType = table.Column(maxLength: 100, nullable: true), + DeviceCodeLifetime = table.Column(nullable: false) }, constraints: table => { @@ -263,7 +267,8 @@ namespace MyCompanyName.MyProjectName.Migrations Enabled = table.Column(nullable: false), Required = table.Column(nullable: false), Emphasize = table.Column(nullable: false), - ShowInDiscoveryDocument = table.Column(nullable: false) + ShowInDiscoveryDocument = table.Column(nullable: false), + Properties = table.Column(nullable: true) }, constraints: table => { diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs index 8eb804421d..9280659e47 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs @@ -15,7 +15,7 @@ namespace MyCompanyName.MyProjectName.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); @@ -564,6 +564,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.HasKey("Id"); b.ToTable("IdentityServerApiResources"); @@ -704,6 +706,8 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("Description") .HasMaxLength(1000); + b.Property("DeviceCodeLifetime"); + b.Property("EnableLocalLogin"); b.Property("Enabled"); @@ -755,6 +759,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("UpdateAccessTokenClaimsOnRefresh"); + b.Property("UserCodeType") + .HasMaxLength(100); + + b.Property("UserSsoLifetime"); + b.HasKey("Id"); b.HasIndex("ClientId") @@ -984,6 +993,8 @@ namespace MyCompanyName.MyProjectName.Migrations .IsRequired() .HasMaxLength(200); + b.Property("Properties"); + b.Property("Required"); b.Property("ShowInDiscoveryDocument"); From 4a0a2ec7b7f1e73ebaf26e1a4fef72012a01f974 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 13:46:37 +0300 Subject: [PATCH 075/149] Cli Update Command: Configure for Angular resolves https://github.com/abpframework/abp/issues/1645 --- .../ProjectModification/NpmPackagesUpdater.cs | 33 +++++++++++-------- .../PackageJsonFileFinder.cs | 9 ++++- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index 58b88d87a3..fd6f5be5d1 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -43,18 +43,31 @@ namespace Volo.Abp.Cli.ProjectModification foreach (var file in fileList) { - UpdatePackagesInFile(file, out var needsYarnAndGulp); + UpdatePackagesInFile(file, out var packagesUpdated); - if (needsYarnAndGulp) + if (packagesUpdated) { - RunYarnAndGulp(file); + var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar); + + RunYarn(fileDirectory); + + if (IsAngularProject(fileDirectory) == false) + { + Thread.Sleep(500); + RunGulp(fileDirectory); + } } } } - protected virtual void UpdatePackagesInFile(string file, out bool needsYarnAndGulp) + private bool IsAngularProject(string fileDirectory) + { + return File.Exists(Path.Combine(fileDirectory, "angular.json")); + } + + protected virtual void UpdatePackagesInFile(string file, out bool packagesUpdated) { - needsYarnAndGulp = false; + packagesUpdated = false; var fileContent = File.ReadAllText(file); var packageJson = JObject.Parse(fileContent); var abpPackages = GetAbpPackagesFromPackageJson(packageJson); @@ -70,7 +83,7 @@ namespace Volo.Abp.Cli.ProjectModification if (updated) { - needsYarnAndGulp = true; + packagesUpdated = true; } } @@ -122,14 +135,6 @@ namespace Volo.Abp.Cli.ProjectModification return abpPackages; } - protected virtual void RunYarnAndGulp(string file) - { - var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar); - RunYarn(fileDirectory); - Thread.Sleep(500); - RunGulp(fileDirectory); - } - protected virtual void RunGulp(string fileDirectory) { Logger.LogInformation($"Running Gulp on {fileDirectory}"); diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs index ff26e765bb..b3138e1f87 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs @@ -27,7 +27,14 @@ namespace Volo.Abp.Cli.ProjectModification { var directory = Path.GetDirectoryName(path); - return Directory.GetFiles(directory, "*.csproj", searchOption: SearchOption.TopDirectoryOnly).Any(); + if (directory == null) + { + return false; + } + + return + Directory.GetFiles(directory, "*.csproj", searchOption: SearchOption.TopDirectoryOnly).Any() || + File.Exists(Path.Combine(directory, "angular.json")); } } } From b3e74314c0d2c82d3e959482376b89f7f4319a9c Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 14:23:11 +0300 Subject: [PATCH 076/149] Cli Update Command: Add parameter for selecting which package type to update resolves https://github.com/abpframework/abp/issues/1644 --- docs/en/CLI.md | 2 ++ .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 26 +++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/en/CLI.md b/docs/en/CLI.md index f931d3688f..b4f2b704f2 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -123,6 +123,8 @@ abp update [options] #### Options * `--include-previews` or `-p`: Includes preview, beta and rc packages while checking the latest versions. +* `--npm`: Only updates NPM packages +* `--nuget`: Only updates NuGet packages ### help diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index d4acd5e2cd..aa1c1501b5 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; @@ -43,8 +44,21 @@ namespace Volo.Abp.Cli.Commands public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { - await UpdateNugetPackages(commandLineArgs); - UpdateNpmPackages(); + var updateNpm = commandLineArgs.Options.ContainsKey(Options.Packages.Npm); + var updateNuget = commandLineArgs.Options.ContainsKey(Options.Packages.NuGet); + + var both = (updateNuget && updateNpm) || (!updateNuget && !updateNpm); + + if (updateNpm || both) + { + await UpdateNugetPackages(commandLineArgs); + } + + if (updateNpm || both) + { + UpdateNpmPackages(); + } + } private void UpdateNpmPackages() @@ -99,6 +113,8 @@ namespace Volo.Abp.Cli.Commands sb.AppendLine(""); sb.AppendLine("Options:"); sb.AppendLine("-p|--include-previews (if supported by the template)"); + sb.AppendLine("--npm (Only updates NPM packages)"); + sb.AppendLine("--nuget (Only updates Nuget packages)"); sb.AppendLine(""); sb.AppendLine("Some examples:"); sb.AppendLine(""); @@ -123,6 +139,12 @@ namespace Volo.Abp.Cli.Commands public const string Short = "p"; public const string Long = "include-previews"; } + + public static class Packages + { + public const string Npm = "npm"; + public const string NuGet = "nuget"; + } } } } From c70c45cd6dad7b804683f62b33837db4f0548723 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 14:49:48 +0300 Subject: [PATCH 077/149] fix docs projects combobox link bug --- .../src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index dfebfe2532..5e155b7389 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -179,7 +179,7 @@ namespace Volo.Docs.Pages.Documents.Project ProjectSelectItems = projects.Items.Select(p => new SelectListItem { Text = p.Name, - Value = p.Id != Project.Id ? "/documents/" + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, + Value = p.Id != Project.Id ? "/" + DocumentsUrlPrefix + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, Selected = p.Id == Project.Id }).ToList(); } From 0965eb43bde4fce27037761cf2150126142a8c86 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 14:51:41 +0300 Subject: [PATCH 078/149] Revert "fix docs projects combobox link bug" This reverts commit c70c45cd6dad7b804683f62b33837db4f0548723. --- .../src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index 5e155b7389..dfebfe2532 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -179,7 +179,7 @@ namespace Volo.Docs.Pages.Documents.Project ProjectSelectItems = projects.Items.Select(p => new SelectListItem { Text = p.Name, - Value = p.Id != Project.Id ? "/" + DocumentsUrlPrefix + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, + Value = p.Id != Project.Id ? "/documents/" + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, Selected = p.Id == Project.Id }).ToList(); } From 714b2d72ab6b18f3592c9703effd5009db4cda37 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 14:52:06 +0300 Subject: [PATCH 079/149] fix docs projects combobox link bug --- .../src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index dfebfe2532..5e155b7389 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -179,7 +179,7 @@ namespace Volo.Docs.Pages.Documents.Project ProjectSelectItems = projects.Items.Select(p => new SelectListItem { Text = p.Name, - Value = p.Id != Project.Id ? "/documents/" + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, + Value = p.Id != Project.Id ? "/" + DocumentsUrlPrefix + LanguageCode + "/" + p.ShortName + "/" + DocsAppConsts.Latest : null, Selected = p.Id == Project.Id }).ToList(); } From 2cdfbb22fc18551b4e06a75f894f9c082dc4fbbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 15:07:43 +0300 Subject: [PATCH 080/149] Update docs-nav.json --- docs/en/Index.md | 5 +++-- docs/en/Startup-Templates/Application.md | 3 ++- docs/en/docs-nav.json | 26 ++++++++++++++++++++++-- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/en/Index.md b/docs/en/Index.md index d911bf66e2..b40efffb9d 100644 --- a/docs/en/Index.md +++ b/docs/en/Index.md @@ -6,7 +6,7 @@ Explore the left navigation menu to deep dive in the documentation. ## Project Status -ABP is the **next generation** of the open source [ASP.NET Boilerplate](https://aspnetboilerplate.com/) framework. It's currently in early preview stage and not ready to use in production. The documentation is still in progress and it is far from complete. +ABP is the **next generation** of the open source [ASP.NET Boilerplate](https://aspnetboilerplate.com/) framework. It's currently in preview stage and not ready to use in production. The documentation is still in progress and it is far from complete. For short-term and production level applications, it's suggested to use [ASP.NET Boilerplate](https://aspnetboilerplate.com/) framework which has rich feature set, mature, actively maintained and up-to-date. @@ -14,7 +14,8 @@ For short-term and production level applications, it's suggested to use [ASP.NET Easiest way to start a new project with ABP is to use the startup templates: -* [ASP.NET Core MVC Template](Getting-Started-AspNetCore-MVC-Template.md) +* [ASP.NET Core MVC (Razor Pages) UI Template](Getting-Started-AspNetCore-MVC-Template.md) +* [Angular UI Template](Getting-Started-Angular-Template.md) If you want to start from scratch (with an empty project) then manually install the ABP Framework and use the following tutorials: diff --git a/docs/en/Startup-Templates/Application.md b/docs/en/Startup-Templates/Application.md index 83950ddd0e..1fbf1be8e2 100644 --- a/docs/en/Startup-Templates/Application.md +++ b/docs/en/Startup-Templates/Application.md @@ -5,7 +5,8 @@ This template provides a layered application structure based on the [Domain Driven Design](../Domain-Driven-Design.md) (DDD) practices. This document explains the solution structure and projects in details. If you want to start quickly, follow the guides below: * See [Getting Started With the ASP.NET Core MVC Template](../Getting-Started-AspNetCore-MVC-Template.md) to create a new solution and run it for this template (uses MVC as the UI framework and Entity Framework Core as the database provider). -* See the [ASP.NET Core MVC Tutorial](../Tutorials/AspNetCore-Mvc/Part-I.md) to learn how to develop applications using this template (uses MVC as the UI framework and Entity Framework Core as the database provider). +* See the [ASP.NET Core MVC Application Development Tutorial](../Tutorials/AspNetCore-Mvc/Part-I.md) to learn how to develop applications using this template (uses MVC as the UI framework and Entity Framework Core as the database provider). +* See the [Angular Application Development Tutorial](../Tutorials/Angular/Part-I.md) to learn how to develop applications using this template (uses Angular as the UI framework and MongoDB as the database provider). ## How to Start With? diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 103556823e..7e20d4db75 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -7,8 +7,12 @@ "text": "From Startup Templates", "items": [ { - "text": "ASP.NET Core MVC", + "text": "Application with MVC (Razor Pages) UI", "path": "Getting-Started-AspNetCore-MVC-Template.md" + }, + { + "text": "Application with Angular UI", + "path": "Getting-Started-Angular-Template.md" } ] }, @@ -34,8 +38,12 @@ "text": "Application Development", "items": [ { - "text": "With ASP.NET Core MVC", + "text": "With ASP.NET Core MVC UI", "path": "Tutorials/AspNetCore-Mvc/Part-I.md" + }, + { + "text": "With Angular UI", + "path": "Tutorials/Angular/Part-I.md" } ] } @@ -264,6 +272,20 @@ } ] }, + { + "text": "Startup Templates", + "path": "Startup-Templates/Index.md", + "items": [ + { + "text": "Application", + "path": "Startup-Templates/Application.md" + }, + { + "text": "Module", + "path": "Startup-Templates/Application.md" + } + ] + }, { "text": "Samples", "items": [ From d8eb1fda902e74caf84d71a830e13e453dbb0caa Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 15:10:51 +0300 Subject: [PATCH 081/149] Docs option for projects combobox --- .../docs/app/VoloDocs.Web/Pages/Index.cshtml.cs | 4 ++-- modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs | 2 +- .../Areas/Documents/TagHelpers/TreeTagHelper.cs | 8 ++++---- .../{DocsUrlOptions.cs => DocsOptions.cs} | 8 +++++++- modules/docs/src/Volo.Docs.Web/DocsWebModule.cs | 6 +++--- .../Markdown/MarkdownDocumentToHtmlConverter.cs | 10 +++++----- .../Volo.Docs.Web/Pages/Documents/Index.cshtml.cs | 8 ++++---- .../Pages/Documents/Project/Index.cshtml | 2 +- .../Pages/Documents/Project/Index.cshtml.cs | 14 +++++++++++--- 9 files changed, 38 insertions(+), 24 deletions(-) rename modules/docs/src/Volo.Docs.Web/{DocsUrlOptions.cs => DocsOptions.cs} (70%) diff --git a/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs b/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs index 9404233493..48c810f7e1 100644 --- a/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs +++ b/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs @@ -8,9 +8,9 @@ namespace VoloDocs.Web.Pages { public class IndexModel : PageModel { - private readonly DocsUrlOptions _urlOptions; + private readonly DocsOptions _urlOptions; - public IndexModel(IOptions urlOptions) + public IndexModel(IOptions urlOptions) { _urlOptions = urlOptions.Value; } diff --git a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs index b87f3b12f7..77dbaff275 100644 --- a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs +++ b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs @@ -62,7 +62,7 @@ namespace VoloDocs.Web var hostingEnvironment = context.Services.GetHostingEnvironment(); var configuration = context.Services.GetConfiguration(); - Configure(options => + Configure(options => { options.RoutePrefix = null; }); diff --git a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs index 00189be260..7e3cf53830 100644 --- a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs +++ b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs @@ -13,7 +13,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlTargetElement("ul", Attributes = "root-node")] public class TreeTagHelper : TagHelper { - private readonly DocsUrlOptions _urlOptions; + private readonly DocsOptions _options; private const string LiItemTemplateWithLink = @"
  • {2}{3}
  • "; @@ -41,9 +41,9 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlAttributeName("language")] public string LanguageCode { get; set; } - public TreeTagHelper(IOptions urlOptions) + public TreeTagHelper(IOptions urlOptions) { - _urlOptions = urlOptions.Value; + _options = urlOptions.Value; } public override void Process(TagHelperContext context, TagHelperOutput output) @@ -142,7 +142,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers return "javascript:;"; } - var prefix = _urlOptions.RoutePrefix; + var prefix = _options.RoutePrefix; return prefix + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension; } diff --git a/modules/docs/src/Volo.Docs.Web/DocsUrlOptions.cs b/modules/docs/src/Volo.Docs.Web/DocsOptions.cs similarity index 70% rename from modules/docs/src/Volo.Docs.Web/DocsUrlOptions.cs rename to modules/docs/src/Volo.Docs.Web/DocsOptions.cs index 67c11864ff..d8bf9f62a9 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsUrlOptions.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsOptions.cs @@ -2,7 +2,7 @@ namespace Volo.Docs { - public class DocsUrlOptions + public class DocsOptions { private string _routePrefix = "documents"; @@ -15,6 +15,12 @@ namespace Volo.Docs set => _routePrefix = value; } + /// + /// Allows user to see a combobox in user interface for swapping across projects + /// Default value: True; + /// + public bool ShowProjectsComboboxInUi = true; + private string GetFormattedRoutePrefix() { if (string.IsNullOrWhiteSpace(_routePrefix)) diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index ea2c3447e6..35574a2d51 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -41,11 +41,11 @@ namespace Volo.Docs Configure(options => { - var urlOptions = context.Services - .GetRequiredServiceLazy>() + var docsOptions = context.Services + .GetRequiredServiceLazy>() .Value.Value; - var routePrefix = urlOptions.RoutePrefix; + var routePrefix = docsOptions.RoutePrefix; options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{projectName}"); options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{languageCode}/{projectName}"); diff --git a/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs b/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs index ed3f2802e2..b0fc185e29 100644 --- a/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs +++ b/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs @@ -14,13 +14,13 @@ namespace Volo.Docs.Markdown public const string Type = "md"; private readonly IMarkdownConverter _markdownConverter; - private readonly DocsUrlOptions _urlOptions; + private readonly DocsOptions _options; public MarkdownDocumentToHtmlConverter(IMarkdownConverter markdownConverter, - IOptions urlOptions) + IOptions urlOptions) { _markdownConverter = markdownConverter; - _urlOptions = urlOptions.Value; + _options = urlOptions.Value; } private const string MdLinkFormat = "[{0}]({1}{2}/{3}/{4}{5}/{6})"; @@ -73,7 +73,7 @@ namespace Volo.Docs.Markdown return string.Format( MdLinkFormat, displayText, - _urlOptions.RoutePrefix, + _options.RoutePrefix, languageCode, projectShortName, version, @@ -101,7 +101,7 @@ namespace Volo.Docs.Markdown return string.Format( MdLinkFormat, displayText, - _urlOptions.RoutePrefix, + _options.RoutePrefix, languageCode, projectShortName, version, diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs index 15697f466c..f958d3d409 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs @@ -15,19 +15,19 @@ namespace Volo.Docs.Pages.Documents public IReadOnlyList Projects { get; set; } private readonly IProjectAppService _projectAppService; - private readonly DocsUrlOptions _urlOptions; + private readonly DocsOptions _options; public IndexModel( IProjectAppService projectAppService, - IOptions urlOptions) + IOptions urlOptions) { _projectAppService = projectAppService; - _urlOptions = urlOptions.Value; + _options = urlOptions.Value; } public async Task OnGetAsync() { - DocumentsUrlPrefix = _urlOptions.RoutePrefix; + DocumentsUrlPrefix = _options.RoutePrefix; var listResult = await _projectAppService.GetListAsync(); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml index 23c46063cc..e0d8d9f02c 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml @@ -76,7 +76,7 @@
    - @if (Model.ProjectSelectItems.Count > 1) + @if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) {
    diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index 5e155b7389..8d72e75fe7 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -52,18 +52,20 @@ namespace Volo.Docs.Pages.Documents.Project public string DocumentsUrlPrefix { get; set; } + public bool ShowProjectsCombobox { get; set; } + public bool DocumentLanguageIsDifferent { get; set; } private readonly IDocumentAppService _documentAppService; private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory; private readonly IProjectAppService _projectAppService; - private readonly DocsUrlOptions _options; + private readonly DocsOptions _options; public IndexModel( IDocumentAppService documentAppService, IDocumentToHtmlConverterFactory documentToHtmlConverterFactory, IProjectAppService projectAppService, - IOptions options) + IOptions options) { _documentAppService = documentAppService; _documentToHtmlConverterFactory = documentToHtmlConverterFactory; @@ -74,6 +76,7 @@ namespace Volo.Docs.Pages.Documents.Project public async Task OnGetAsync() { DocumentsUrlPrefix = _options.RoutePrefix; + ShowProjectsCombobox = _options.ShowProjectsComboboxInUi; if (IsDocumentCultureDifferentThanCurrent()) { @@ -81,7 +84,12 @@ namespace Volo.Docs.Pages.Documents.Project } await SetProjectAsync(); - await SetProjectsAsync(); + + if (ShowProjectsCombobox) + { + await SetProjectsAsync(); + } + await SetVersionAsync(); await SetLanguageList(); From 2662db842ea2b90e0ceb990512a120bca1cc23eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 15:30:07 +0300 Subject: [PATCH 082/149] Update Post.md --- docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md index 73b43327da..eec70c5566 100644 --- a/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md +++ b/docs/en/Blog-Posts/2019-08-16 v0_19_Release/Post.md @@ -1,4 +1,4 @@ -# ABP v0.19 Release with Angular UI Option +# ABP v0.19 Release With New Angular UI ABP v0.19 has been released with [90 issues](https://github.com/abpframework/abp/milestone/17?closed=1) resolved and [650+ commits](https://github.com/abpframework/abp/compare/0.18.1...0.19.0) pushed. From 73e15af58f467b57d25c6c08755367cb5bd3da63 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 15:33:01 +0300 Subject: [PATCH 083/149] fix blogging localization resolves #1651 --- .../Volo/Blogging/BloggingDomainSharedModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/BloggingDomainSharedModule.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/BloggingDomainSharedModule.cs index 04c2993860..e923251245 100644 --- a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/BloggingDomainSharedModule.cs +++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/BloggingDomainSharedModule.cs @@ -22,7 +22,7 @@ namespace Volo.Blogging options.Resources .Add("en") .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/Resources"); + .AddVirtualJson("Volo/Blogging/Localization/Resources"); }); } } From f1f029b2b8fe0d4ee690b77e69dd2678303ecf83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 15:47:44 +0300 Subject: [PATCH 084/149] Update Part-I.md --- docs/en/Tutorials/Angular/Part-I.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index 9d47418170..f9c645e825 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -20,7 +20,7 @@ Create a new project named `Acme.BookStore` by selecting the Angular as the UI f This is how the layered solution structure looks after it's created: -![bookstore-backend-solution](images\bookstore-backend-solution-v2.png) +![bookstore-backend-solution](images/bookstore-backend-solution-v2.png) > You can see the [Application template document](../../Startup-Templates/Application.md) to understand the solution structure in details. However, you will understand the basics with this tutorial. From 0e9e2d2354116dd90d33a73e5a1a9461cc8912b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 16 Aug 2019 15:55:14 +0300 Subject: [PATCH 085/149] Update Part-I.md --- docs/en/Tutorials/Angular/Part-I.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index f9c645e825..88b5c8539e 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -342,7 +342,7 @@ Run `yarn start`, wait Angular to run the application and open `http://localhost Open the `app-routing.module.ts` and replace `books` as shown below: -```typescript +```js import { ApplicationLayoutComponent } from '@abp/ng.theme.basic';- //... @@ -380,7 +380,7 @@ yarn ng generate component books/book-list Import the `SharedModule` to the `BooksModule` to reuse some components and services defined in: -```typescript +```js import { SharedModule } from '../shared/shared.module'; @NgModule({ @@ -395,7 +395,7 @@ export class BooksModule {} Then, update the `routes` in the `books-routing.module.ts` to add the new book-list component: -```typescript +```js import { BookListComponent } from './book-list/book-list.component'; const routes: Routes = [ @@ -425,7 +425,7 @@ yarn ng generate ngxs-schematic:state books This command creates several new files and edits `app.modules.ts` to import the `NgxsModule` with the new state: -```typescript +```js // app.module.ts import { BooksState } from './store/states/books.state'; @@ -446,7 +446,7 @@ First, create data types to map data returning from the backend (you can check s Modify the `books.ts` as shown below: -```typescript +```js export namespace Books { export interface State { books: Response; @@ -497,7 +497,7 @@ yarn ng generate service books/shared/books Modify `books.service.ts` as shown below: -```typescript +```js import { Injectable } from '@angular/core'; import { RestService } from '@abp/ng.core'; import { Books } from '../../store/models'; @@ -522,7 +522,7 @@ Added the `get` method to get the list of books by performing an HTTP request to Replace `books.actions.ts` content as shown below: -```typescript +```js export class GetBooks { static readonly type = '[Books] Get'; } @@ -532,7 +532,7 @@ export class GetBooks { Open the `books.state.ts` and change the file as shown below: -```typescript +```js import { State, Action, StateContext, Selector } from '@ngxs/store'; import { GetBooks } from '../actions/books.actions'; import { Books } from '../models/books'; @@ -572,7 +572,7 @@ Added the `GetBooks` action that uses the `BookService` defined above to get the Modify the `book-list.component.ts` as shown below: -```typescript +```js import { Component, OnInit } from '@angular/core'; import { Store, Select } from '@ngxs/store'; import { BooksState } from '../../store/states'; From 7922273bf5385a1420a815ae33de871beedca981 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 16:02:20 +0300 Subject: [PATCH 086/149] docs: fix code highlight --- docs/en/Tutorials/Angular/Part-I.md | 18 +++++----- docs/en/Tutorials/Angular/Part-II.md | 52 ++++++++++++++-------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index 88b5c8539e..6e4916dc8a 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -342,7 +342,7 @@ Run `yarn start`, wait Angular to run the application and open `http://localhost Open the `app-routing.module.ts` and replace `books` as shown below: -```js +```ts import { ApplicationLayoutComponent } from '@abp/ng.theme.basic';- //... @@ -380,7 +380,7 @@ yarn ng generate component books/book-list Import the `SharedModule` to the `BooksModule` to reuse some components and services defined in: -```js +```ts import { SharedModule } from '../shared/shared.module'; @NgModule({ @@ -395,7 +395,7 @@ export class BooksModule {} Then, update the `routes` in the `books-routing.module.ts` to add the new book-list component: -```js +```ts import { BookListComponent } from './book-list/book-list.component'; const routes: Routes = [ @@ -425,7 +425,7 @@ yarn ng generate ngxs-schematic:state books This command creates several new files and edits `app.modules.ts` to import the `NgxsModule` with the new state: -```js +```ts // app.module.ts import { BooksState } from './store/states/books.state'; @@ -446,7 +446,7 @@ First, create data types to map data returning from the backend (you can check s Modify the `books.ts` as shown below: -```js +```ts export namespace Books { export interface State { books: Response; @@ -497,7 +497,7 @@ yarn ng generate service books/shared/books Modify `books.service.ts` as shown below: -```js +```ts import { Injectable } from '@angular/core'; import { RestService } from '@abp/ng.core'; import { Books } from '../../store/models'; @@ -522,7 +522,7 @@ Added the `get` method to get the list of books by performing an HTTP request to Replace `books.actions.ts` content as shown below: -```js +```ts export class GetBooks { static readonly type = '[Books] Get'; } @@ -532,7 +532,7 @@ export class GetBooks { Open the `books.state.ts` and change the file as shown below: -```js +```ts import { State, Action, StateContext, Selector } from '@ngxs/store'; import { GetBooks } from '../actions/books.actions'; import { Books } from '../models/books'; @@ -572,7 +572,7 @@ Added the `GetBooks` action that uses the `BookService` defined above to get the Modify the `book-list.component.ts` as shown below: -```js +```ts import { Component, OnInit } from '@angular/core'; import { Store, Select } from '@ngxs/store'; import { BooksState } from '../../store/states'; diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index 80a7e21a32..98d79d4600 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -18,7 +18,7 @@ In this section, you will learn how to create a new modal dialog form to create Create an interface, named `CreateUpdateBookInput` in the `books.ts` as shown below: -```typescript +```ts export namespace Books { //... export interface CreateUpdateBookInput { @@ -36,7 +36,7 @@ export namespace Books { Open the `books.service.ts` and add a new method, named `create` to perform an HTTP POST request to the server: -```typescript +```ts create(createBookInput: Books.CreateUpdateBookInput): Observable { return this.restService.request({ method: 'POST', @@ -52,7 +52,7 @@ create(createBookInput: Books.CreateUpdateBookInput): Observable { Add the `CreateUpdateBook` action to the `books.actions.ts` as shown below: -```typescript +```ts import { Books } from '../models'; export class CreateUpdateBook { @@ -63,7 +63,7 @@ export class CreateUpdateBook { Open `books.state.ts` and define the `save` method that will listen to a `CreateUpdateBook` action to create a book: -```typescript +```ts import { ... , CreateUpdateBook } from '../actions/books.actions'; import { ... , switchMap } from 'rxjs/operators'; //... @@ -118,7 +118,7 @@ Add a button, labeled `New book` to show the modal: Open the `book-list.component.ts` and add `isModalOpen` variable and `createBook` method to show/hide the modal. -```typescript +```ts isModalOpen = false; //... @@ -136,7 +136,7 @@ createBook() { Add a `form` variable and inject a `FormBuilder` service to the `book-list.component.ts` as shown below (remember add the import statement). -```typescript +```ts import { FormGroup, FormBuilder } from '@angular/forms'; form: FormGroup; @@ -151,7 +151,7 @@ constructor( Add the `buildForm` method to create book form. -```typescript +```ts buildForm() { this.form = this.fb.group({ name: ['', Validators.required], @@ -167,7 +167,7 @@ buildForm() { Modify the `createBook` method as shown below: -```typescript +```ts createBook() { this.buildForm(); this.isModalOpen = true; @@ -220,7 +220,7 @@ Open `book-list.component.html` and add the form in the body template of the mod Open the `book-list.component.ts` and then create an array, named `bookTypeArr`: -```typescript +```ts //... form: FormGroup; @@ -231,7 +231,7 @@ bookTypeArr = Object.keys(Books.BookType).filter( The `bookTypeArr` contains the fields of the `BookType` enum. Resulting array is shown below: -```js +```ts ['Adventure', 'Biography', 'Dystopia', 'Fantastic' ...] ``` @@ -241,7 +241,7 @@ This array was used in the previous form template (in the `ngFor` loop). You need to import `NgbDatepickerModule` to the `books.module.ts`: -```typescript +```ts import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; @NgModule({ @@ -255,7 +255,7 @@ export class BooksModule {} Then open the `book-list.component.html` and add `providers` as shown below: -```typescript +```ts import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; @Component({ @@ -292,7 +292,7 @@ This adds a save button to the bottom area of the modal: Then define a `save` method in the `BookListComponent`: -```typescript +```ts save() { if (this.form.invalid) { return; @@ -311,7 +311,7 @@ save() { Open the `books.service.ts` and then add the `getById` and `update` methods. -```typescript +```ts getById(id: string): Observable { return this.restService.request({ method: 'GET', @@ -332,7 +332,7 @@ update(updateBookInput: Books.CreateUpdateBookInput, id: string): Observable, action: CreateUpdateBook) { let request; @@ -360,7 +360,7 @@ save(ctx: StateContext, action: CreateUpdateBook) { Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add a variable named `selectedBook`. -```typescript +```ts import { BooksService } from '../shared/books.service'; //... selectedBook = {} as Books.Book; @@ -373,7 +373,7 @@ constructor( `booksService` is used to get the editing book to prepare the form. Modify the `buildForm` method to reuse the same form while editing a book. -```typescript +```ts buildForm() { this.form = this.fb.group({ name: [this.selectedBook.name || '', Validators.required], @@ -386,7 +386,7 @@ buildForm() { Add the `editBook` method as shown below: -```typescript +```ts editBook(id: string) { this.booksService.getById(id).subscribe(book => { this.selectedBook = book; @@ -400,7 +400,7 @@ Added `editBook` method to get the editing book, build the form and show the mod Now, add the `selectedBook` definition to `createBook` method to reuse the same form while creating a new book: -```typescript +```ts createBook() { this.selectedBook = {} as Books.Book; //... @@ -409,7 +409,7 @@ Now, add the `selectedBook` definition to `createBook` method to reuse the same Modify the `save` method to pass the id of the selected book as shown below: -```typescript +```ts save() { if (this.form.invalid) { return; @@ -489,7 +489,7 @@ Update the modal header to change the title based on the current operation: Open `books.service.ts` and add a `delete` method to delete a book with the `id` by performing an HTTP request to the related endpoint: -```typescript +```ts delete(id: string): Observable { return this.restService.request({ method: 'DELETE', @@ -502,7 +502,7 @@ delete(id: string): Observable { Add an action named `DeleteBook` to `books.actions.ts`: -```typescript +```ts export class DeleteBook { static readonly type = '[Books] Delete'; constructor(public id: string) {} @@ -511,7 +511,7 @@ export class DeleteBook { Open the `books.state.ts` and add the `delete` method that will listen to the `DeleteBook` action to delete a book: -```typescript +```ts import { ... , DeleteBook } from '../actions/books.actions'; //... @Action(DeleteBook) @@ -544,7 +544,7 @@ The final actions dropdown UI looks like below: Open `book-list.component.ts` and inject the `ConfirmationService`. -```typescript +```ts import { ConfirmationService } from '@abp/ng.theme.shared'; //... constructor( @@ -557,7 +557,7 @@ constructor( Add a delete method to the `BookListComponent`: -```typescript +```ts import { ... , DeleteBook } from '../../store/actions'; import { ... , Toaster } from '@abp/ng.theme.shared'; //... From e1a9eee0b8e23339785bbbe2086ef4ed267a6f02 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 16:12:34 +0300 Subject: [PATCH 087/149] docs: change code blocks types --- docs/en/Tutorials/Angular/Part-I.md | 18 +++++----- docs/en/Tutorials/Angular/Part-II.md | 52 ++++++++++++++-------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/en/Tutorials/Angular/Part-I.md b/docs/en/Tutorials/Angular/Part-I.md index 6e4916dc8a..88b5c8539e 100644 --- a/docs/en/Tutorials/Angular/Part-I.md +++ b/docs/en/Tutorials/Angular/Part-I.md @@ -342,7 +342,7 @@ Run `yarn start`, wait Angular to run the application and open `http://localhost Open the `app-routing.module.ts` and replace `books` as shown below: -```ts +```js import { ApplicationLayoutComponent } from '@abp/ng.theme.basic';- //... @@ -380,7 +380,7 @@ yarn ng generate component books/book-list Import the `SharedModule` to the `BooksModule` to reuse some components and services defined in: -```ts +```js import { SharedModule } from '../shared/shared.module'; @NgModule({ @@ -395,7 +395,7 @@ export class BooksModule {} Then, update the `routes` in the `books-routing.module.ts` to add the new book-list component: -```ts +```js import { BookListComponent } from './book-list/book-list.component'; const routes: Routes = [ @@ -425,7 +425,7 @@ yarn ng generate ngxs-schematic:state books This command creates several new files and edits `app.modules.ts` to import the `NgxsModule` with the new state: -```ts +```js // app.module.ts import { BooksState } from './store/states/books.state'; @@ -446,7 +446,7 @@ First, create data types to map data returning from the backend (you can check s Modify the `books.ts` as shown below: -```ts +```js export namespace Books { export interface State { books: Response; @@ -497,7 +497,7 @@ yarn ng generate service books/shared/books Modify `books.service.ts` as shown below: -```ts +```js import { Injectable } from '@angular/core'; import { RestService } from '@abp/ng.core'; import { Books } from '../../store/models'; @@ -522,7 +522,7 @@ Added the `get` method to get the list of books by performing an HTTP request to Replace `books.actions.ts` content as shown below: -```ts +```js export class GetBooks { static readonly type = '[Books] Get'; } @@ -532,7 +532,7 @@ export class GetBooks { Open the `books.state.ts` and change the file as shown below: -```ts +```js import { State, Action, StateContext, Selector } from '@ngxs/store'; import { GetBooks } from '../actions/books.actions'; import { Books } from '../models/books'; @@ -572,7 +572,7 @@ Added the `GetBooks` action that uses the `BookService` defined above to get the Modify the `book-list.component.ts` as shown below: -```ts +```js import { Component, OnInit } from '@angular/core'; import { Store, Select } from '@ngxs/store'; import { BooksState } from '../../store/states'; diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index 98d79d4600..61e3232a1b 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -18,7 +18,7 @@ In this section, you will learn how to create a new modal dialog form to create Create an interface, named `CreateUpdateBookInput` in the `books.ts` as shown below: -```ts +```js export namespace Books { //... export interface CreateUpdateBookInput { @@ -36,7 +36,7 @@ export namespace Books { Open the `books.service.ts` and add a new method, named `create` to perform an HTTP POST request to the server: -```ts +```js create(createBookInput: Books.CreateUpdateBookInput): Observable { return this.restService.request({ method: 'POST', @@ -52,7 +52,7 @@ create(createBookInput: Books.CreateUpdateBookInput): Observable { Add the `CreateUpdateBook` action to the `books.actions.ts` as shown below: -```ts +```js import { Books } from '../models'; export class CreateUpdateBook { @@ -63,7 +63,7 @@ export class CreateUpdateBook { Open `books.state.ts` and define the `save` method that will listen to a `CreateUpdateBook` action to create a book: -```ts +```js import { ... , CreateUpdateBook } from '../actions/books.actions'; import { ... , switchMap } from 'rxjs/operators'; //... @@ -118,7 +118,7 @@ Add a button, labeled `New book` to show the modal: Open the `book-list.component.ts` and add `isModalOpen` variable and `createBook` method to show/hide the modal. -```ts +```js isModalOpen = false; //... @@ -136,7 +136,7 @@ createBook() { Add a `form` variable and inject a `FormBuilder` service to the `book-list.component.ts` as shown below (remember add the import statement). -```ts +```js import { FormGroup, FormBuilder } from '@angular/forms'; form: FormGroup; @@ -151,7 +151,7 @@ constructor( Add the `buildForm` method to create book form. -```ts +```js buildForm() { this.form = this.fb.group({ name: ['', Validators.required], @@ -167,7 +167,7 @@ buildForm() { Modify the `createBook` method as shown below: -```ts +```js createBook() { this.buildForm(); this.isModalOpen = true; @@ -220,7 +220,7 @@ Open `book-list.component.html` and add the form in the body template of the mod Open the `book-list.component.ts` and then create an array, named `bookTypeArr`: -```ts +```js //... form: FormGroup; @@ -231,7 +231,7 @@ bookTypeArr = Object.keys(Books.BookType).filter( The `bookTypeArr` contains the fields of the `BookType` enum. Resulting array is shown below: -```ts +```js ['Adventure', 'Biography', 'Dystopia', 'Fantastic' ...] ``` @@ -241,7 +241,7 @@ This array was used in the previous form template (in the `ngFor` loop). You need to import `NgbDatepickerModule` to the `books.module.ts`: -```ts +```js import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; @NgModule({ @@ -255,7 +255,7 @@ export class BooksModule {} Then open the `book-list.component.html` and add `providers` as shown below: -```ts +```js import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; @Component({ @@ -292,7 +292,7 @@ This adds a save button to the bottom area of the modal: Then define a `save` method in the `BookListComponent`: -```ts +```js save() { if (this.form.invalid) { return; @@ -311,7 +311,7 @@ save() { Open the `books.service.ts` and then add the `getById` and `update` methods. -```ts +```js getById(id: string): Observable { return this.restService.request({ method: 'GET', @@ -332,7 +332,7 @@ update(updateBookInput: Books.CreateUpdateBookInput, id: string): Observable, action: CreateUpdateBook) { let request; @@ -360,7 +360,7 @@ save(ctx: StateContext, action: CreateUpdateBook) { Inject `BooksService` dependency by adding it to the `book-list.component.ts` constructor and add a variable named `selectedBook`. -```ts +```js import { BooksService } from '../shared/books.service'; //... selectedBook = {} as Books.Book; @@ -373,7 +373,7 @@ constructor( `booksService` is used to get the editing book to prepare the form. Modify the `buildForm` method to reuse the same form while editing a book. -```ts +```js buildForm() { this.form = this.fb.group({ name: [this.selectedBook.name || '', Validators.required], @@ -386,7 +386,7 @@ buildForm() { Add the `editBook` method as shown below: -```ts +```js editBook(id: string) { this.booksService.getById(id).subscribe(book => { this.selectedBook = book; @@ -400,7 +400,7 @@ Added `editBook` method to get the editing book, build the form and show the mod Now, add the `selectedBook` definition to `createBook` method to reuse the same form while creating a new book: -```ts +```js createBook() { this.selectedBook = {} as Books.Book; //... @@ -409,7 +409,7 @@ Now, add the `selectedBook` definition to `createBook` method to reuse the same Modify the `save` method to pass the id of the selected book as shown below: -```ts +```js save() { if (this.form.invalid) { return; @@ -489,7 +489,7 @@ Update the modal header to change the title based on the current operation: Open `books.service.ts` and add a `delete` method to delete a book with the `id` by performing an HTTP request to the related endpoint: -```ts +```js delete(id: string): Observable { return this.restService.request({ method: 'DELETE', @@ -502,7 +502,7 @@ delete(id: string): Observable { Add an action named `DeleteBook` to `books.actions.ts`: -```ts +```js export class DeleteBook { static readonly type = '[Books] Delete'; constructor(public id: string) {} @@ -511,7 +511,7 @@ export class DeleteBook { Open the `books.state.ts` and add the `delete` method that will listen to the `DeleteBook` action to delete a book: -```ts +```js import { ... , DeleteBook } from '../actions/books.actions'; //... @Action(DeleteBook) @@ -544,7 +544,7 @@ The final actions dropdown UI looks like below: Open `book-list.component.ts` and inject the `ConfirmationService`. -```ts +```js import { ConfirmationService } from '@abp/ng.theme.shared'; //... constructor( @@ -557,7 +557,7 @@ constructor( Add a delete method to the `BookListComponent`: -```ts +```js import { ... , DeleteBook } from '../../store/actions'; import { ... , Toaster } from '@abp/ng.theme.shared'; //... From 63ff62415b1edda5f7570255e4f01fad1bfc1a73 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 16 Aug 2019 16:16:56 +0300 Subject: [PATCH 088/149] =?UTF-8?q?renaming=20DocsOptions=20to=20DocsUiOpt?= =?UTF-8?q?ions=20and=20ShowProjectsComboboxInU=C4=B1=20to=20ShowProjectsC?= =?UTF-8?q?ombobox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs | 10 +++++----- modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs | 2 +- .../Areas/Documents/TagHelpers/TreeTagHelper.cs | 8 ++++---- .../Volo.Docs.Web/{DocsOptions.cs => DocsUiOptions.cs} | 4 ++-- modules/docs/src/Volo.Docs.Web/DocsWebModule.cs | 2 +- .../Markdown/MarkdownDocumentToHtmlConverter.cs | 10 +++++----- .../src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs | 8 ++++---- .../Pages/Documents/Project/Index.cshtml.cs | 10 +++++----- 8 files changed, 27 insertions(+), 27 deletions(-) rename modules/docs/src/Volo.Docs.Web/{DocsOptions.cs => DocsUiOptions.cs} (90%) diff --git a/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs b/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs index 48c810f7e1..b127db4b3f 100644 --- a/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs +++ b/modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs @@ -8,19 +8,19 @@ namespace VoloDocs.Web.Pages { public class IndexModel : PageModel { - private readonly DocsOptions _urlOptions; + private readonly DocsUiOptions _urlUiOptions; - public IndexModel(IOptions urlOptions) + public IndexModel(IOptions urlOptions) { - _urlOptions = urlOptions.Value; + _urlUiOptions = urlOptions.Value; } public IActionResult OnGet() { //TODO: Create HomeController & Index instead of Page. Otherwise, we have an empty Index.cshtml file. - if (!_urlOptions.RoutePrefix.IsNullOrWhiteSpace()) + if (!_urlUiOptions.RoutePrefix.IsNullOrWhiteSpace()) { - return Redirect("." + _urlOptions.RoutePrefix); + return Redirect("." + _urlUiOptions.RoutePrefix); } return Page(); diff --git a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs index 77dbaff275..85738e6ff9 100644 --- a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs +++ b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs @@ -62,7 +62,7 @@ namespace VoloDocs.Web var hostingEnvironment = context.Services.GetHostingEnvironment(); var configuration = context.Services.GetConfiguration(); - Configure(options => + Configure(options => { options.RoutePrefix = null; }); diff --git a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs index 7e3cf53830..afb61eadd3 100644 --- a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs +++ b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs @@ -13,7 +13,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlTargetElement("ul", Attributes = "root-node")] public class TreeTagHelper : TagHelper { - private readonly DocsOptions _options; + private readonly DocsUiOptions _uiOptions; private const string LiItemTemplateWithLink = @"
  • {2}{3}
  • "; @@ -41,9 +41,9 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlAttributeName("language")] public string LanguageCode { get; set; } - public TreeTagHelper(IOptions urlOptions) + public TreeTagHelper(IOptions urlOptions) { - _options = urlOptions.Value; + _uiOptions = urlOptions.Value; } public override void Process(TagHelperContext context, TagHelperOutput output) @@ -142,7 +142,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers return "javascript:;"; } - var prefix = _options.RoutePrefix; + var prefix = _uiOptions.RoutePrefix; return prefix + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension; } diff --git a/modules/docs/src/Volo.Docs.Web/DocsOptions.cs b/modules/docs/src/Volo.Docs.Web/DocsUiOptions.cs similarity index 90% rename from modules/docs/src/Volo.Docs.Web/DocsOptions.cs rename to modules/docs/src/Volo.Docs.Web/DocsUiOptions.cs index d8bf9f62a9..4b4ab6a3b4 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsOptions.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsUiOptions.cs @@ -2,7 +2,7 @@ namespace Volo.Docs { - public class DocsOptions + public class DocsUiOptions { private string _routePrefix = "documents"; @@ -19,7 +19,7 @@ namespace Volo.Docs /// Allows user to see a combobox in user interface for swapping across projects /// Default value: True; /// - public bool ShowProjectsComboboxInUi = true; + public bool ShowProjectsCombobox = true; private string GetFormattedRoutePrefix() { diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index 35574a2d51..f128aacfd1 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -42,7 +42,7 @@ namespace Volo.Docs Configure(options => { var docsOptions = context.Services - .GetRequiredServiceLazy>() + .GetRequiredServiceLazy>() .Value.Value; var routePrefix = docsOptions.RoutePrefix; diff --git a/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs b/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs index b0fc185e29..0915be10c2 100644 --- a/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs +++ b/modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs @@ -14,13 +14,13 @@ namespace Volo.Docs.Markdown public const string Type = "md"; private readonly IMarkdownConverter _markdownConverter; - private readonly DocsOptions _options; + private readonly DocsUiOptions _uiOptions; public MarkdownDocumentToHtmlConverter(IMarkdownConverter markdownConverter, - IOptions urlOptions) + IOptions urlOptions) { _markdownConverter = markdownConverter; - _options = urlOptions.Value; + _uiOptions = urlOptions.Value; } private const string MdLinkFormat = "[{0}]({1}{2}/{3}/{4}{5}/{6})"; @@ -73,7 +73,7 @@ namespace Volo.Docs.Markdown return string.Format( MdLinkFormat, displayText, - _options.RoutePrefix, + _uiOptions.RoutePrefix, languageCode, projectShortName, version, @@ -101,7 +101,7 @@ namespace Volo.Docs.Markdown return string.Format( MdLinkFormat, displayText, - _options.RoutePrefix, + _uiOptions.RoutePrefix, languageCode, projectShortName, version, diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs index f958d3d409..9e21ec22de 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs @@ -15,19 +15,19 @@ namespace Volo.Docs.Pages.Documents public IReadOnlyList Projects { get; set; } private readonly IProjectAppService _projectAppService; - private readonly DocsOptions _options; + private readonly DocsUiOptions _uiOptions; public IndexModel( IProjectAppService projectAppService, - IOptions urlOptions) + IOptions urlOptions) { _projectAppService = projectAppService; - _options = urlOptions.Value; + _uiOptions = urlOptions.Value; } public async Task OnGetAsync() { - DocumentsUrlPrefix = _options.RoutePrefix; + DocumentsUrlPrefix = _uiOptions.RoutePrefix; var listResult = await _projectAppService.GetListAsync(); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index 8d72e75fe7..c61f2c33c8 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -59,24 +59,24 @@ namespace Volo.Docs.Pages.Documents.Project private readonly IDocumentAppService _documentAppService; private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory; private readonly IProjectAppService _projectAppService; - private readonly DocsOptions _options; + private readonly DocsUiOptions _uiOptions; public IndexModel( IDocumentAppService documentAppService, IDocumentToHtmlConverterFactory documentToHtmlConverterFactory, IProjectAppService projectAppService, - IOptions options) + IOptions options) { _documentAppService = documentAppService; _documentToHtmlConverterFactory = documentToHtmlConverterFactory; _projectAppService = projectAppService; - _options = options.Value; + _uiOptions = options.Value; } public async Task OnGetAsync() { - DocumentsUrlPrefix = _options.RoutePrefix; - ShowProjectsCombobox = _options.ShowProjectsComboboxInUi; + DocumentsUrlPrefix = _uiOptions.RoutePrefix; + ShowProjectsCombobox = _uiOptions.ShowProjectsCombobox; if (IsDocumentCultureDifferentThanCurrent()) { From aae372ca997567b5d84ef77d33ad52c56fbbf48f Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 16 Aug 2019 16:54:32 +0300 Subject: [PATCH 089/149] feature(core): add throw error when access not granted --- .../packages/core/src/lib/guards/permission.guard.ts | 10 +++++++++- .../theme-shared/src/lib/handlers/error.handler.ts | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts index d4e4b80ea9..ca69eb127d 100644 --- a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts +++ b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts @@ -3,6 +3,8 @@ import { ActivatedRouteSnapshot, CanActivate } from '@angular/router'; import { Store } from '@ngxs/store'; import { Observable } from 'rxjs'; import { ConfigState } from '../states'; +import { tap } from 'rxjs/operators'; +import { RestOccurError } from '../actions'; @Injectable({ providedIn: 'root', @@ -12,6 +14,12 @@ export class PermissionGuard implements CanActivate { canActivate({ data }: ActivatedRouteSnapshot): Observable { const resource = data.requiredPolicy as string; - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe( + tap(access => { + if (!access) { + this.store.dispatch(new RestOccurError({ status: 403 })); + } + }), + ); } } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts index 2604bcdaab..0baff0da8f 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts @@ -53,7 +53,7 @@ export class ErrorHandler { const { payload: err = {} as HttpErrorResponse | any } = res; const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message); - if (err.headers.get('_AbpErrorFormat')) { + if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) { const confirmation$ = this.showError(null, null, body); if (err.status === 401) { From bd3de4d0a1d84178dbea7e41ea5410583b513190 Mon Sep 17 00:00:00 2001 From: Xeevis Date: Sun, 18 Aug 2019 23:44:13 +0200 Subject: [PATCH 090/149] Update Czech translations --- docs/cs/CLI.md | 31 +++++++++++------- docs/cs/Contribution/Index.md | 2 +- ...Getting-Started-AspNetCore-MVC-Template.md | 2 +- docs/cs/images/MonthlyProfitWidgetFiles.png | Bin 0 -> 6449 bytes docs/cs/images/bookstore-swagger-ui-host.png | Bin 0 -> 60698 bytes ...okstore-visual-studio-solution-for-spa.png | Bin 0 -> 45017 bytes docs/cs/images/dashboard1.png | Bin 0 -> 43797 bytes docs/en/CLI.md | 4 +-- 8 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 docs/cs/images/MonthlyProfitWidgetFiles.png create mode 100644 docs/cs/images/bookstore-swagger-ui-host.png create mode 100644 docs/cs/images/bookstore-visual-studio-solution-for-spa.png create mode 100644 docs/cs/images/dashboard1.png diff --git a/docs/cs/CLI.md b/docs/cs/CLI.md index f3f2d21a96..06d658e6c6 100644 --- a/docs/cs/CLI.md +++ b/docs/cs/CLI.md @@ -34,26 +34,32 @@ Příklad: abp new Acme.BookStore ```` -* Acme.BookStore je tady název řešení. +* `Acme.BookStore` je tady název řešení. * Běžná konvence je nazvat řešení stylem *VaseSpolecnost.VasProjekt*. Nicméně můžete použít i jiné pojmenování jako *VasProjekt* (jednostupňový jmenný prostor) nebo *VaseSpolecnost.VasProjekt.VasModul* (třístupňový jmenný prostor). -#### Možnosti +#### Options -* `--template` nebo `-t`: Určuje název šablony. Výchozí šablona je `mvc`. Dostupné šablony: - * `mvc` (výchozí): ASP.NET Core [MVC aplikační šablona](Startup-Templates/Mvc.md). Dodatečné možnosti: - * `--database-provider` nebo `-d`: Určuje poskytovatele databáze. Vychozí poskytovatel je `ef`. Dostupní poskytovatelé: +* `--template` nebo `-t`: Určuje název šablony. Výchozí šablona je `app`, která generuje webovou aplikaci. Dostupné šablony: + * `app` (výchozí): [Aplikační šablona](Startup-Templates/Application.md). Dodatečné možnosti: + * `--ui` nebo `-u`: Určuje UI framework. Výchozí framework je `mvc`. Dostupné frameworky: + * `mvc`: ASP.NET Core MVC. Pro tuto šablonu jsou dostupné dodatečné možnosti: + * `--tiered`: Vytvoří stupňovité řešení, kde jsou vrstvy Web a Http API fyzicky odděleny. Pokud není uvedeno, tak vytvoří vrstvené řešení, které je méně složité a vhodné pro většinu scénářů. + * `angular`: Angular. Pro tuto šablonu jsou dostupné dodatečné možnosti: + * `--separate-identity-server`: Oddělí identity server aplikaci od API host aplikace. Pokud není uvedeno, bude na straně serveru jediný koncový bod. + * `--database-provider` nebo `-d`: Určuje poskytovatele databáze. Výchozí poskytovatel je `ef`. Dostupní poskytovatelé: * `ef`: Entity Framework Core. * `mongodb`: MongoDB. - * `--tiered`: Vytvoří stupňovité řešení, kde jsou vrstvy Web a Http API fyzicky odděleny. Pokud není uvedeno tak vytvoří vrstvené řešení, které je méně složité a vhodné pro většinu scénářů. - * `mvc-module`: ASP.NET Core [MVC modulová šablona](Startup-Templates/Mvc-Module.md). Dodatečné možnosti: - * `--no-ui`: Určuje, že nebude zahrnuto uživatelské rozhraní. To umožňuje vytvářet moduly pouze pro služby (a.k.a. mikroslužby - bez UI). + * `module`: [Šablona modulu](Startup-Templates/Module.md). Dodatečné možnosti: + * `--no-ui`: Určuje nezahrnutí uživatelského rozhraní. Umožňuje vytvořit moduly pouze pro služby (a.k.a. mikroslužby - bez uživatelského rozhraní). * `--output-folder` nebo `-o`: Určuje výstupní složku. Výchozí hodnota je aktuální adresář. +* `--version` nebo `-v`: Určuje verzi ABP & šablony. Může to být [štítek vydání](https://github.com/abpframework/abp/releases) nebo [název větve](https://github.com/abpframework/abp/branches). Pokud není uvedeno, používá nejnovější vydání. Většinou budete chtít použít nejnovější verzi. + ### add-package -Přidá nový balíček ABP do projektu pomocí, +Přidá ABP balíček do projektu, -* Přidání souvisejícícho nuget balíčku jako závislost do projektu. +* Přidáním souvisejícícho nuget balíčku jako závislost do projektu. * Přidáním `[DependsOn(...)]` atributu k modulové tříde v projektu (podívejte se na [dokument vývoje modulu](Module-Development-Basics.md)). > Všimněte si, že přidaný modul může vyžadovat další konfiguraci, která je obecně uvedena v dokumentaci příslušného balíčku. @@ -78,7 +84,7 @@ abp add-package Volo.Abp.MongoDB ### add-module -Přidá více-balíčkový modul k řešení tím, že najde všechny balíčky modulu, vyhledá související projekty v řešení a přidá každý balíček do odpovídajícího projektu v řešení. +Přidá [více-balíčkový aplikační modul](Modules/Index) k řešení tím, že najde všechny balíčky modulu, vyhledá související projekty v řešení a přidá každý balíček do odpovídajícího projektu v řešení. > Modul se obecně skládá z několika balíčků (z důvodu vrstvení, různých možností poskytovatele databáze nebo jiných důvodů). Použití příkazu `add-module` dramaticky zjednodušuje přidání modulu do řešení. Každý modul však může vyžadovat další konfiguraci, která je obecně uvedena v dokumentaci příslušného modulu. @@ -100,6 +106,7 @@ abp add-module Volo.Blogging * `--solution` nebo `-s`: Určuje cestu k řešení (.sln). Pokud není zadáno, CLI se pokusí najít soubor .sln v aktuálním adresáři. * `--skip-db-migrations`: Pro poskytovatele databáze EF Core automaticky přidá nový kód první migrace (`Add-Migration`) a v případě potřeby aktualizuje databázi (`Update-Database`). Tuto možnost určete k vynechání této operace. +* `-sp` nebo `--startup-project`: Relativní cesta ke složce spouštěcího projektu. Výchozí hodnota je aktuální adresář. ### update @@ -117,6 +124,8 @@ abp update [možnosti] #### Možnosti * `--include-previews` nebo `-p`: Zahrne náhledové, beta a rc balíčky při kontrole nových verzí. +* `--npm`: Aktualizuje pouze balíčky NPM. +* `--nuget`: Aktualizuje pouze balíčky NuGet. ### help diff --git a/docs/cs/Contribution/Index.md b/docs/cs/Contribution/Index.md index 3716d8dc76..fd7f65d14e 100644 --- a/docs/cs/Contribution/Index.md +++ b/docs/cs/Contribution/Index.md @@ -35,7 +35,7 @@ Existuje několik základních dokumentů, které je třeba přeložit než bude * Tutoriály * CLI -Nový jazyk je publikován jakmile budou minimálně tyto překlady dokončeny. +Nový jazyk je publikován jakmile jsou minimálně tyto překlady dokončeny. ### Lokalizace zdrojů diff --git a/docs/cs/Getting-Started-AspNetCore-MVC-Template.md b/docs/cs/Getting-Started-AspNetCore-MVC-Template.md index 953e99b9f2..b1cb3bb57e 100644 --- a/docs/cs/Getting-Started-AspNetCore-MVC-Template.md +++ b/docs/cs/Getting-Started-AspNetCore-MVC-Template.md @@ -37,7 +37,7 @@ Otevřete řešení ve **Visual Studio**: Řešení má vrstvenou strukturu (založenou na [Domain Driven Design](Domain-Driven-Design.md)) a obsahuje projekty jednotkovových a integračních testů předkonfigurované pro práci s **EF Core** & **SQLite in-memory** databází. -> Podívejte se na [dokument šablony MVC aplikace](Startup-Templates/Mvc.md) k detailnímu pochopení struktury řešení. +> Podívejte se na [dokument šablony aplikace](Startup-Templates/Application.md) k detailnímu pochopení struktury řešení. ### Connection string databáze diff --git a/docs/cs/images/MonthlyProfitWidgetFiles.png b/docs/cs/images/MonthlyProfitWidgetFiles.png new file mode 100644 index 0000000000000000000000000000000000000000..e1e9d316f5b36b008ac67050fa151a7ef956abb4 GIT binary patch literal 6449 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 literal 0 HcmV?d00001 diff --git a/docs/cs/images/bookstore-swagger-ui-host.png b/docs/cs/images/bookstore-swagger-ui-host.png new file mode 100644 index 0000000000000000000000000000000000000000..74ff73f7e33abfffdfcbe29b24170a05ebcc7704 GIT binary patch literal 60698 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 literal 0 HcmV?d00001 diff --git a/docs/cs/images/bookstore-visual-studio-solution-for-spa.png b/docs/cs/images/bookstore-visual-studio-solution-for-spa.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5a283c7d67e97d3fe512921d7a85f6181e6b1d GIT binary patch literal 45017 zcmce;WmsKZnytN&Ai*KHySux)ySqEVU4y$@0tp)2A$V|i_k`dYG&pCGdh6?YOS-GS z?sN9F^COGBSvJ?4?=l2`!rQ;ON@GWm{eO8<_FJdbye}b4h?LR46;KHA=fprJJ&sz2R%*uCBW%) z%DZ+%P3*`%3A;S+-R?PDjk?BL%=+?m=0(l#&+PI&zMt9Ue&j3OUG)DMG5{uw3@L1( z?0S2SsWB2r1QWa(^G1sv6ifu;oE(e+4*Ya#0IF52%v=cgoP)$q{NJ0P=^=qnmkhbBgk_E~{Sk6nh1(;+Jg%xsaBKhv`mvHj=s#y;jNDrvI>?HC zpQ}AUFaN~>z>v&p8I+7 zZ`y1g<8#Qu3x1!}qi{y9F}c2r?y}Go z@-Ay;_$`XX6Z7m|Rmam1#6DEjN5aJ&M-7#lPWP#wl$QQ)Q90%-okmp)!#uC95<`^kesq2w z3{bbu)?E?0knVe07VkOr&%r9nT|T#RZL)C4kqqm6FXiH%6UyB4o{%Iz_Q`F7Qk8Qh z#0A%MT;%fVYHU<2g_@N$F*7q0x~v3TcWU)W?6%3V-#-^RZR6@kq3W~u!=a`iL3m*_ zCu5Tif$bOVY@b_wK?9zr=z_IUPa|sh&ilyYTSdNf3rhxFIMrN#0mtq&wQenmpWkjn zJWfJbH!^;*;Pc-J_74nzfrwO;lpx<;d|mDI8Zi`b+dic2em)Sq+0RbIU5Jj78I^Ue zc`oq#vFvlr*qPDahZ6r|sNj5Y{F;7w_9^MbXvu(Ym&o?(H33&0{QZLnxuV1eT-y}0@$VjjCEOXc&2G3(dws#Zqs`D6*YyZL6_3lm4r->^Y}t8JQvZJ}a9d-sQV8@Y2S%@`Ex9|Qt~re;zI zX#D(etb@fkWfvan`F(L0-Ej5Q^;Ia*at&zae4G+iO}j;6;^SF=IYNQHixCPzf>3wB zKqsYNY=KLpu3TGv+M`*Ewmr8X$#LB1vO>6h8D3Y~G>Eyn!=hOfeeDHK+^;bH- zn-X)u@Wk8@itZ?q!PRwIZ?pJXtMSSO;R99Ln84*Izipa=gU?flCK@#^SD;`3tYlL5A>5(QuhC-9XVWBG7br}NOR{*yA+T*zpe5`k zkZ9ShRUm%;*fG-)&nBi&f7Ky;e<8_)wXXpLY9xILJ4^`bG+y>Dh z${g9kRirX!<%XrGBEDzT2_pZKW=LE@CJLwqPg1$Z!!xZ3L;^zGF!5|E@ngYq1DE}7 z)1jcF&G@7N)f~eC`=RD3!}sslWreeAPZ*$uoXg{5*$o9*nGkJHm#UskIzIdS%AZ=R z4FM*t`z@?2W%PbrU~UsG^om&1IoO#uD$hH!A8wLB!;w-t3#8si=duGX`AuhH2yhQK z+ILF0*ShhTNMlBY18TX0p`Y92aj{enW>OyZQ*s-_X{ldk9j=7W4jPSx=2%e~&~jQZ zo0UG>5KB^Iqdn1`kN3|{_a}O=Z}@I3b)CO?GCfIY+Uvm8QFs{s@?&{ri&-21FK1Ft zvLydT@cxWE|M98>8l$9=-(%ZQeZJ6UMrT{~lkvG}pV@IfW3j7BS{grmEh|2vf4OI# zKrUX`v?JpTy}PfjiP`PdVtkVz&YDUpGDQVV499Q}E}`%9ec|vKm2ebrn$^k_$?L=} zI7*-1)?)8$#^(@n!$d!=Na$luwz(ORb`Qq%ox=JCBey6x%-_p1w0>ZJQ&v6Cp^EIcuds0lXB>LP4G~6Z1l2BtSV|;7W!-F zG{q(5N0o9^yb3({<)K-Yl-|E~=8Q#z$qx2aVyUo<$Yp3(BH;RD^H*ms15S!E`ZBz1 zS!*YflQUT?=D3kdb}AVz!f0fqB4d{X>w3JeyU|RynJ~`nRjOlNc);W66OzFCxmD8< z=M2&)k=HW8;|)2-f&`Wd;CNY zm^#*cDwo|weAVq!%O_U_By$&ArVT1>n{S8lmQ^I|w=-0Nt?t~MIzMt7*dC_I{5ANIG8&Pezg>cV1qPw+^Yy9YP{23`>e?DK+cW$d zy{krwYKe+{1Gq@Xbc4so(C>wFr?i`yiuQmMP=7Up+IDxwMOX3Ess;JQ7Gz& zqueetG$)4#fq-c$Sw2A-i}k!%+5do`(%w~lLKFHY4Y0<`KU)(g(aL#dR_e9V5k9PR zcFsLgR{1_?Zaf|aIC(=0`WR+jG<7~6AB_m!Zq3NC(;cioekR%C-@d(qmUg^pp32&- zItsARpN_23@+=m|^FKO)-iY@RLAnz>o2~qjRLuA^*vYk=VDi1WBntjw7O8CE>kXsp z2ZGJTE-2n#J*AcgoiLl#^5xz>P5dn@47q%J&qUdGy~eoZku<(t(2s-#UtXmytB(i8 zlrrU)ed`hwghJ|gesr61!z5S{%xrA7WLLt7H4%Y$P28CQiI!7YyLF%fnq!O@r4W3i zku?T^`kNlT&pXMpiDpiPGkrm-G=kvkAKgerdpk2mwvi;qR~!$% zBSB42N^B5^J#lW-3O**=;dbbpE$(huzX}u^HuU>dRZO}N!1xpZEw~TO1~EuKy5N^9 z*KXL_O}q&*i;99y8&|aZXmY{BYRFFF(o>yY^6}@zX+1+o0C?a;=gjL@q32yJH^nD{ zUK4sen9h#8G2MXz4ek&p)*dN7*E?N4Mz#(`A9BcR2qu_2OT(L zr#f3UGT_6v-IrAX6G&4gKc6=?=oz##XnMBhrgoq2Ba<kb(!8y&6#_%(*N9Y)*17jFQ)S}f(Rywk**OraWFP7PsCit*x0xp zi=gU}u?jZi6tVD<{gGZMXzU~9Yv4GB!nm~~N=pkd87(@uW!QLB)zog12crCIzb9^< ziw~|&gc5tb6kCWeeHCkI&{!iMSn3r-_71r!7P;=9B#o^ zQ%U8r50Vv`2=dvj`KV%ho|HgQSZ? zGhjE($;>F>Rt`^sS=rfOLdFC;W|aO?-7~R*kb#}{4^;u#)E7%iKleAVp6`OT9@^=C zDh%U-gN)h?`lN%e<~&r?d>1^Xw|~`$eN47NHgdOs6i(np&p$qP3Bz1f9w z*^uQS(BZKE@)L&_EQnx<4;1*#88)ge2(d3$4o+68jWsiGC_^ zK`#4;;A{I0X1qr%oWwx)UoHjf($;2Fx6rDJwDz#TDWj6sg)X+;7MG0m=>3>`JT;6R z7lXH8V9>tV`UT%{`Hl}EE)LXn$I^#BsO}yzM+(${#%2+sYU=bAKtAQWPA;bGm1eYVg`dY zw)Co^8PWjN$DK|?zvWR5kLNGepE48Jg$7q9jWO36aHSlr8Y5xw2@*;Vq8RU8E zK`3Y^X#S8TIiJ$;crWzpS*o=@(gCyYda4=G`2?!%Z9hUTZ2eM}i? zORL)REYDFxJvA+D z*he`fJ$-JrT$#Y^)erQLyuBL#V&Z<%DB-?Ne+Pqb=A;W+Tco?)CU5qO87i{fiHe3n zuOOHtR=PUm`|IP8rbN%J#Be0Mn_a`FbHb-5%+`RbvH&_pM(99vS`EHmt98R6c18zQ z(n*1pP3vMHp^qWXN+}_Ec=%w!S7YgkMtpgTy1bK8eYV9s;E^r{%v>A1S8IB)Nl>%^ zJ( zWv(wvIQpA6i;a%Y+@Q9fBD>$dNty!uA%sv~QS$o4@9cxeIv8lXYj5v!^YqYF!#g%7 zDl$A+kaFvH#4E(vMc6WNrQq0LBCoG^j5`Jaj}1;-tJBkR$lSQj7!2if3=9HqH+wH# z#WDrh*nE!`!?QvnBc)YClX16dV1)KI$=9Z&jz9cjAqw{uM?$+urJM)B ze^;`7yH7m_nRP}Z`ijTlE(V*8`wy||3@6o{7I>h$ts{-Rc#Tpuo`&>l zxiLb4W6GCv_2WD>_kQ?gTs7GInN@1kt5jBA_#AEJ*JD~Z_reY?!0fKBE^Fw2yPcPp z_kmZJTzXi&rjVQ*y&i%eJ{BlbjHJp$bn<4>a=2+_~we zdF@K(W-bAdi9>GSt#XrKsVWKDtDwnbwU{j7R(FAWPa;Cv+A)utd4Q{$(t8?ZiQICd zOUx6$ng=}h=avMZZ+DlM-@Xxn*f0i^XIWx0?$kzPtmEK6Ms20+r0$ zI%FPpa3jOe911c*tqXZ}(AEUspsSl(Q{#yf7an4`sDib<9}j9K9uCfWW5p{FDzt^s zfi=j;kEBe7B8yAq=R4=NuyA*1@g^E_mm%U)hK~7x{_UwTXBtuFWq8O#3oy0uGVOFv z4rPLV+QvE`y>OhEO44DfNM-~xo0NydmS$|nN%@doPL&*`BSoLJn>!CSB+bYcc$ z5Fk0=89x05tXN-4OKqH;ZS0QDdwbtGW2<8%=%FD5Ax5bpq`nN+i<+-&li#ISsftB% zREma#D#wlb>aoezmrQ>(uRN|QiMF6Tu=wk~W)=ib;bcyj_*pL!rvR!7QDH<%`X z0!lJjm00Tglg7GuKm1!rg}8_!Lylx`u=4Lws91A>K@yS1hVn(7Or~K+p?db0ue#gv zkjZkjjEF1sTX&q_-f|)}TQpkoNes>;YlSdEtF55R@?kr2z{#6zf7XcV7wNJNCc z(GuBgHKPuN07j;OxJCcU2&gS{sqq0tBlJ=77dLtw)atPv+>f`gL{2GRJ^S31?a~#Yc<`2HDV^SUiiMI202ll_ z^QScvrtg)S+?*ooPzOxAr}B4uP7R4`r~+@CfEuA>^->b}<(8Gs@^cs32F zy5^KATYSVZh$f|*Ayv__7Xqgw606+f?BrkbjWDNji@qkl%39gh+y2#uO5RZe;f?+_ zLVH*_DHJ$lM?h82>(Gmif5m@?tPeb-191h|XRH=N3A|_{By+dlOgD+!FZlFNH2cpA;m^`yAlR`~^RIfr>|qY!<@+W6!7eqqt4)NYQChF1cD96r4?_mU$UCL|9Pv^Y1_ z@DvJ>)`l%EOqEtcaeW0&~SGC7!w5Vv22qqvZ(x7mBj@nNu7*xJQ zUO%JieYi65Ifj}>8*Wni_asNryR)d{%X0f8$c3WSH@U?cjURynt@$S^t^cG z)$DW~bHi&FAEZPO6Bn0-maAtdD+LiQa$b3Xdoqc6jl-MBJ@XJ0%L12Vn+L}EMPldO zmEman)1B>ir!R$tnMBhF+~nki(P?z;hwDDHny7{9vNF-KvLl!&^qrPxe%Iu4BQ&(M zshODnO4Fn;lC&iJov1;+c;%CkQN@>uSTIs0Esc@SWj?7$KhddBLNOVmxgRqBcE)n_ z+rcxnI@RIlr!YE2Ur8oXUCvuS}~OXQc|n_6XqSy&4!l4yHzpFdmej%!FKO9E}~|BI+Q)NQ5@_lEY}q;%V}u& zR`sCa80D=8R&!?27N$)DQ1nVB=7vjq+(9zE_tc)Ops1BkwbRH7&tC@uC4f zHy~gkrAS4s3nw}%Q#kXid*1+8iKpE}dc5jQEvu#Rn_iHH4$Kmtnx^LI>XP@v%~{NC z@xW__aEfsPULRstvh_^g^H-YZTALsAj^Y!VC_#{5%PGrOHJJ+pX;R*|qB%K%C-3kIErUQq; z*NB&pp<+6v}W64^mUYjlCbUhIdc6BNTe zz|!v?f2b5Pxg!pZpq80!f)62oXwkJb|%IWbYwtvi=6fqv|;MhdT% zW>d3LyqV4lUMPm@`o|SaGccq1X*#khKnBZYLW3eC@ zj@y*5{r$nG$MwEwOigulc?E^oSpA%g3?+vA;o!whx2K-HM?^q4&C8 znAohnC|uk!nNP|4vv5WTnkipDL&3Ajz~9@jJceSknlWzK-9|i%}!artq`#tx;(;(~q;7cfB4%D#NDl6caPgu4~0u(lVGuQG;C0 zle(pt48~ft`hOG=Yq(AKp>!^L{%c9e{lL6#pkd8pNi7-aB~GpUD;79NQlaYhy0qzj z-#eEw+MZZ4mV!yq14?n-@&nlE{`U!dKy6u4RmE7ANhwqlxs%iEk&Xo1Pqc~Y2 zBuizI&0V((D(g8(ET!_pQxv0$v_L$W(6iB13BIOfCEB(P@Z1m{$Re)9&HjYENfx~m z04+U{ql;GC4T<;5-9(ND&=qa@^NV^!-r9luOGsnF9zFbpNjbxGi2mlqe;}$q3(&t~ zTW}pE2F=dfmbrdu@kwWzoG;&xc!jZfHbBToP3^T`n0~JIz0OxhcOsC4lBvkqfd2OoQ#2~Sw?b+G@j4*+gHKo z^YrJRzd9Em%M2e)y}YrRl3JEjMX($m4 zz+=Z_AyV|J4+k)0<6g-j`+P)a3X&@Dr7rJ|(d*CxjdWeBNPwEKS;jiUYn~vupf`z2 zOzjEK$$sB|&NVhR0>@NYsTpHv=&LxDcj|9?C$lw8NTIszwf70y<7n~i)59$%0K!Hy z6Yo#zBuNs1e9XD_cGr44BO*fPYyE^(4ILb-qnckWO)XO2DVEPzfI-?C@| zSz4RuBC4dmeicwiOs%dy02!a6&Z2^XFL`+;UBR!&$;rjd#o^NEsj6sb>F5ALSoQhk zrDVZCRc*iVJy~&weS*M|({!4wmukg~j55|V2p-OvsZLLbC*Z1z>&CN|TN(F!c zr0fIh*g%}$XYPy)saujfxMpDvWRM6Z<9-%QgU9-a5Q_>8G*i+(4QES#-A6w2$!&T? zLB*1yv04cJCq+v4B<2u`;#^X&ccfsGxN<>&p+G1LnshjpFD!X+7doS7At7ofg;2G- zd14jN<@0yrcwN;7j#%B;AiepD8=6W`rKf651SMGv#JR*yPh5Fmw={fUSS6XPLEiT`l%ewWg2{sH_}#PvxL!teR}hMl*!p?yi5#PV+1ly{7A<*cUiXAp09U z*UR~ZQwgQ(?jT+zB_ye-bV34xCQO2jKgvD2)mT#wM2S@H*w|{w_0@J+?YbCWzA2P_ z|2+EGm1t_OYRT_-xjJ;`B*Q`+rkEAk@$S7flCX17DuxIL(%jq}uSX++pg*7K(|%3x z$fwALPF@kmKL6D`P3W;Ml@B)kOwF*qHGwq zwk&I7*hmiwXzQ+2zBErt%zM(UV_1-IAV;CQpIvZsIC+x6Q$n%i!acEQtLeq?-+(+- zW;2*d2?Los0~QM@A?L>zKq=GI@huMz5aPjC=22wyQU?sy zm5_oiH7XXDImj0lN*hXDJnC@Qh9%}qs&kyTLKFU z2f6oztq%jw51SsCjGZ30!;7i3`I-#vZnx1*4DX(QtX^KaneQCV%!Gu5fF@Vl>~GJ_ z3k%81G%Dz5Xfj&UBTF=KU;-zNubjGPXOQ=#*&|h(1HvT8KD_BRfH?mQ`FF&R{SV>? z8tzDs!8Vz7dK5@gLaZ8E&5>7|Rw&SsFfS(oET*@13J}&xHd^Wi!z7~X1fko&@=Eek zXW6M~eJxbMHUwk1H9FCit$Bt%g{6ugatLMKR}}$NGz#E0IXMM6ISdSplypWdtO`&d z)mK2^R2twfK;oLUw6y5zdb}{f9^&HqMgjatIYa~m$CY_-P$UE^(-j-2S|CxK98DgN z+EawvAXKC^Bu_Ursd+2G1Jm%(^vC(01$XKvEPJS6w>l8b?p(PnUp5ue5A>BK{z}oX zc06qIAqj}rfSQ+r(2mLO2JHW?)=T4w+g*v6@To9A0~^|`IB*~P`}$Vk|2mQp&R zW(pi|{5QooOj79^13RWc)*pKkLsy7gZ6Jx(j70wtAvV`L1v=(w`yd1gi<_m8@gnrf zde|2VZz5UF&;Vc%b)=CgT*3x6awF9RLU=gL64Ap_2$&^2%FkFrdyG|ggr&()Z|^o2 zQ-2f>D8?zs%ddTTOX_B@vbcEj^JmG_)KpbR3y0(d5u?d;q*mCAex$6O-%p_j^dkY6 z0-zr~{;D5KUli7Ur@BHrXx>R2cBfSO1<|8+%9>BBF-O*e_jVKb*hFfdd{}~ym8v_5 zD`C9|!f)pJAkX>xe*fG0QHz*5p6)nGJSv7WyUNsb`|~^xjiz+bYdBT{LRl%_bh^Se zhJoV2QBNOj671>G4C2VI++NbgWLQ-e`gA|u&LEfZxO$866J&q3io*%Kab{5pbq50h zD4jsOrvP1u3kL|ag7ar~eo5vHG$}#fKQBh08@!WV6nvqa%XKa@1i@QSaBXsaetur~ z^9xUOhlaW`&@ zOU3*n9ghMH#PLWlff+;3=x=nQ0}fWzBBDz)8&Slz7DmZ9G~vBKA2C5QHQ>)BcPm*K)Vmx($*mSPF~Kv}Er6?EK@gh1J{*lP3!WTPzL=70>VHc2zpf&j$X_oZU< zg=tD53NxYsqA%~?^Fn;QnGM>P7?$?oFyeCr5kutD{gmEMri9@ z@rMmJzr+-p*np{GZMJ@Ux-c4$gg&n$e`^6}dpo=s@*W2ND5BggELR5iY4~MCN@diUYe`^0QS+mNZ z-T$%0VMmg{%X1(OKT=RvHy5Zi^=eG|TqgKi?R8~0iE#Hbd32JG!1%)k`C`~Kk^8=t8@4LU30SY@c zH5HI#Se+d=IeFq6kNuaagN1@}MZ*`9qDUu;H9sD1FC05=cQRQ?f2~=@i;)1SsV%^= zZTB%`yQTQEeVT1mO7(^3uqp@1^Q@spGTFhMHJsp)^iF`?940+TqW6SjfGBxeH3 z?zIVov0dC$xxtxlKSy0Yz$6jUMgG5%herNA_y+}5HE5Zv+7Z8bSfg2uG*>VYbNRE$ z$<=}(TzC&X{TO7T!yv#*_3O>{^?$AFHYZV4=&0!E>F9KPw7cbxKCNRcG0@P~E*WhD zN`SX-&mz$%i;78yFM)AkIv_BMCns0ni!v3uN`wmo`V^h+Di1ky3)B?PyXHcOw^0O8 zSXDguQt5`tNpuo#hmF2y<+SCh$Y*0$iC|5!`V0aRDS2ih5!9Us0{UtfD*kTMV@@=&K9M#M>rq5G1cVeEWxR#u(@T*@S}!U;WZ z$F8OvEzjph^RnE}1}26ok4|%sD`^$>Ev@I!ear9v#;Xl_!Ranas&)M_gD-&+h;UI5 z=#wY}Y8OXYnA-F@l5<{1jIOJiO zpo}u2Ox&48J{YcE>Bkp=P*>DWT7#;|K3i}2;MHD$RgGqaXJ+D}?G7+Jp9yx}to4nY z>UXfXZx8RK$~x*lZC1d2f9B%kuh1EH_4D?2azX}WWjE0qc9hrGo6VI1M#?LfUo6a5 zG7wOjPJ$Uoea2T(n(}vN#Wus4q_X`;qWXD!=+*{@182qaV{5L zGJcUTUprp&%Ma2AnV0Fy1H3IGBjbHW1~BhZF&b7g>41Th1A!2kUOP`EEXTjFd($+( zP#}(eot*)Fy?djJ3IRg?L)rC+{SG137W@ymAb67P^sP)BKu>#5j6#tQ+J_rBrB7HPux*q3?zEWVrGy$O*3rS`zJ0TQmYlDus>{-X1Trr$>*B^No&<$|)$s#mC3T#sY7E=hkD8 z6pvoV48VAKqY_FCg3Y=2Elc)ij}514ahH;()F?3x-KvI%V#mjmlXb|Zsc?Ojg*;R> zvuJClON58998D1W_P(uv2{lHujv?*ri*A;-fv{0r;NbCsVmT~cm0)i6twBXI#V8ASS$Cv$n^3>F)PiK9} zNk^42u$LGAEn~{JgU@Jd?Idu>dj)#IB~hccfLat5x00fk=J2oqb^UgQb+k8ec|T(Q zKps2}uPCypm}A+3UloQCMkWhi)%cwW8zP>6K7e|`UoL-iOZ^>4`*TCnKed2OyG~gu z^qSA>CIm(#hi(8t7EHtq+@`aeAMxoaDQ%b2vR*XL{KBJ~rKiklY^bHB1i&~wHD7kToUAO!>eTe~3auIwD=V(I38^HSKdq&tk1TXvV@}7&;YO1L9wqkP<x<8Y+Ea;ReLMj8b?P8N7 zAt-|#l_R^Nyxa}|F~Qw=KxyUYcYZKewoqlbF!nG=igdbILwaUudpH9a60{oSo+r(g zP4>3ZcxI&h0D(&qo4kUDnLkx~&!z@E<=0m|4_L7Mq<}x>Sb&b&81Ek!oH<|iaj#<$q|OFY>T^-m`7pm%QVD(OEF zPw<-mg?P&7ps5f*=_UDpCZD*H7IW?p3;O+CPDkl}XRGM7?NA+HIa>u1dC?9#GkhMe z7P`MX$;z?{7x;+D$jD&QYkM!W|I(-=lPOC}!AMU_W2DmcpV+)Vk}XYF*U+G0Wz^Hs z*3$#Rx{>?)5iEXIRyT_^NbJyPXw-&cuEd;!P~b0#HhnZ<=ckWU{m)+538Ec&;b8q` z3eeNr3k77+%I{gQ3R5Ugi`8Z<`pb|dE=LJi07G}{(uFM0i3}vfIfiJ=vi@<;6c)5x z(O$xa-bYdsBk5MBZABDGXZ)ct?G1Q_Bhd#9jkV}=EoG^w&yF&FrGq+HXi@4IbMeFn zymmuQ<aAvzKtP(P!d${|h% z(|XaJjo&O6|A((jCS+0`?^6iaxZ-wXhThu`OyQ_rGFV7XpD7M_>;U3|vtcB;V+td51C>%$O#b%@#M} zbsL~{vb8fwpqI_~eDDp6#C6s+{kNf7y$$!w)&720moUi6VZG7!wsv|tNxe)1108*I zZKQXW76B57(JhMsObXIlrLR)`B=-}FG^M!z-iv<@83*INYk{^GF%eC@D^$Vw-7F!L zzZ^q?!>0C>+%yb}U9U5q92}oVc_YCREfsG;g_}G^oh%lfJZ{XI2%$C%VZG!#RFrI{ z)8Lnx(fU+;sJ~dZD%vfsccV%QHpVeD8j7-?X67rngvtkM=PLhylC=?9J+%LE*bY7b zIzc(fj_u>eeuY3brW77g39#v}o*@o6sL`qbQL~?Dsn!n8oGsQi-ubMxHQvPnXFSXY z5@N%76_}Z6#fJ0Y&Ut5qG%+($3fNRVRLu6DMe>rzHJ$$&$7|hwIA3LvhjMmSkY+RiG)m#I27PJ=% z8f2VJZu#VQFzS=*Ii3%-=7`&a`RgUf1x|6arzECfT;P=9S~JggA_uRs|EVAwUxO11 zw!{2dgii6nBwV6ETgT*pNyU%SG${0o`*GGtpSdLfe=R5|DF=X8e?RaBEO#BaL{$r3 zC)0O){ENH@%=_kDxbkoZCr;)xd=Kmtn7l~D~6t(ji zEP`=R`S~Q&3v3#dhaY_CZQ9wjO~9`nxo>jF>Gq$_F8VE_a=4yVo`nopW$V31HbR}T{m4MmjerpDBPkBFZ$skF!n`l79 zy;+A^riVf^Fi(Xb-m?FQ=<>8~_DyW_LrQnmhks;de`m0QfqzJmWl~S{LI5%zpJ5QF z$%l3n5Qx6KFMH_FqLuYEg}xl;Mog5*<4hg}9_gX-f!@T2z#t((7eZHl zOsC9z5c^9A@(a;wuAqBqYEKgVdjs{~VO)PUQwM@K%ys@N`*edZ8OT}uB@6J6Rw|;% zzn|=LpoH2QhiL7^4>fO1xCY#~`FRRLtj=MJI&=WBqoXg`aR508%Ss@Jl9?%;+F4!w z5lFm!`Fvx;#m5fBC}`jPLTSe$&i=<8qAm&FVoC}M&2p`?RhJ2emH8yDK?(1o zxHPiJkB8XE<%F-2AV`1=h~FcVpd#sSM9HZVIgAw_;C3`f+t~Afkhp{(v>(dm1IGn3 zOh%!Y{mx9~*@jkJq;>!m?tdxfN3lT$&@Xxfw(CWoHC_FJgew8_X30N1RVhWP4UxoE z4IJL6XjY0X}MSOH%&RuB;Ht8Xj&2;S8&L=%+2Z6b~L5B&xI zSCW0*iM`je9z^WdcJ3Au4wh1tkzsaCPZAC?|F7U!+-c9DC@2duaCjTM)w1HeH7?D=)^(S;a z#NiA<$9EtDdL;xyh~ZJ{HPCxVnSCTDG$O#l3OHrhX^q1qX0PWV`5E ze`h~>ptTG_Kw`{~d8`2=bUUaRQ`0|C)M z00C)WVz@z&>6X_c*Lr=ftXyxdySh31fqkJE4;+j9dw%z8k-hG%zM-GZKbK4`C;V=1 z8(5dEhHq}TK(ljmOLnD~c%GRVJUCmNFrXzdkbc!(%^&1#6Xp-{X7^X}W)lC_4p4`G z3jKxsN9a$wflJbf{anTQ^T;2GKY1n%CuKxH3MF@OXG>En(u4~U8h(g>d((yM#bj7D_&!>J1W!FH0*4pnn^$D@!e9Wao9n7j zhGROJx4y{zQz`Mp8fb_=O&g{T$U*J&_ukfw1UyVI`g@$6`=nRJ=r^-?Z%^x{cX}R* z+z5`#E0(3P>i=h%ziA;L7Fs3`sj66C=9-2{$L-|k@C^0cXM~x0NL{eij5I+xIcKZ1O;?o zS{{ZOTR*HR&5xZjWBqcw{K3B<(A%+1WK4V3=|9Y)6W;GjGZ0H(fpyXm3XCF~y@IM}a!|J}Ip zetP-Nm5ha(jg79#NggjFsH7My@G7#LCevzDstaxS3><42|IJ!y$|!kwTkDMuA#S=P z=ST^BpA{=|dG;$MZotFaToUsFysGh&xA-g%{K68_wNpatFkS|5)yFkgV?b6kD6Sl% z38?t8!+L3q`*B@Y>e6Xaqkx!2Q)?WUFyLode-o1W3|sH0FAx4TOvhxNse;6`bK}>bCz<@V8#18b<@ab#U9O8J1@&O6xKaCRQ zOHwo|zO}U?NZ@_9GAu$QWkB4#2E@&+gdl=esey=K!e}oi-xpYSpb^Dut1;?#bdbCE zZo~bhG1fuhpOVZ!_sPb;+7K=OZ*$F^?1O)sYff}2zz^E@(yx)f1PPC9gA4lpmn~oi zowKH1UU_>4K}o6cs$~etP28CiwJhj*oItw({>Yb3@7`bB8D;Pum+P5lxivBg&koWp z4+6&ya!Z#I&D4b{YeMT5eCuCa_E?KDCt8vK`{DX{1sY@#`$s>_m+IP&)l|SlWSHCL zeRXhkxZuVrcs|&}>wYBlu(W)4+1tAng-)B}bFyT=qJs*(BsDQRl|+W(YG>#ZEsYrQ zpD|Bdk~-YLX*la^jGZNpjrzZej`oNe^y+6=O%S)s#mkvmd$hK2mbYIp5`E2ym2K0Z$LvjvZb*ql13GmPiw&fS%CX z@^d4g(?q^Q`u|HJ4&N_t@bv_LJ1ECovE|HIlM{gZ!%)VP|II|r7vDcw2>n?xUzQ`> zLoQIzzC+OiTEjvdJOnw-hCPelKPKYZ013s2-qxs=iLJEDN0$zur^i?p&&{oU8t8>` zak&8g>{#YgR#MVtR8-U}IE<8(lsBp9^jeJ{+e*u;tE=1E+JJ^u;I9^BHh=uu=yyK> z_AL~X2M8kK;NlYEJy?13)B^22r)?LAASxtaP92L>tgHespXjH>j_an+lJ1qWi**}D z*vj+ScQA5-%TL!tI8Kpf5%aAo&PsD>TEwpEoO_S z^nzHzdqJwGvj79ABx067Q&ilPUHoFT3-T9=$|#rqH~B=LsK9^eLD!9_z1fV9E~7Q0 z>s(*zrG5o8g43n0`|Z2Ndqy_zlj&GXryIUKWd_@sX2^oC>E1@TiL!Njiqk2c z%F2Viv;1Yu<*H_RJuo|kym$6~emz=-OnfEs5pT$oy?tEEQffm`y`gxaz+iWwdH(+} z_ZCo9_4~T;qC2FeyG!Zr2I(#(m6VnaK|s1hx&EUN@;)&97+VSTf6ArW$jM$9DiNR z5_^oDSf*V>Oq+58X=DoZg@D&)6N>QwU5jRZ_lr_>GFEij6*aB&q$eUFr%RJOc2xkQ z3nXOb^f2(D4T5UAHVj%bk$iFzi#!4~Z#)QY{`pHuj?Y7O4m>;Wk$wU#9?lY%f%qp^ zRPBzIlJz~XBDhv|?(K0kmKze)vQIo7Iah|T7s)jbu%*y+*7QD+{~zRfZ$tjLDD^d7 z(?roMJT^APK01T-BNt7<@(efqD-ONUa@ISvH)W8SNJD++HzHg;x~2K}A-fYRVfZ%% zoznmB3c90Z31!~fukpYYm1reSeb~5^fNa>5UlY!;t>-9FsyA)*SYt*-zzFu)qox>y zNltZtdI>%>7WJK9-R?h+UG|`5+NS%#!8keyj(QqTB#>`aAJ;=$|e030uERcM@}!e+Z1nWbV~Xhx{OCi=LpxR+`I%{^yK4kxpI zpj1*Iin}8J#E^#~I~3TzCN(6Y%Hv)$>h@H9f66jFrc!IJaD!b`I^GYky_hXyy6<0O(WU{saNEX4hk2MZ2eEf z$MWO59Net0h-2(c-F^6fyh`f}+<*3iDs?X=|G8sGd;*CY6Vt+je&5c6JQh-IL~x z42g=N{0Q2BvAf2a;}wW3Ei4pZkb3=Cb*wjFz3gs(YaAxI*44ET54;DyAN}pJAbv>5 z;alv(YczbVIzQpq%Ad zFhTcxMrc%CS}Z5brNSwB&mlO9Yy3-`N4?E$z2=LikxGUEjUs}ycjQe?ua?vt`~ET4 zXq$sG2TcSqcD;0qwJ{75q%k=pyj?2DuJNTC(&5)PUS)P=dhh4a2uVN$uRhH<`StfH z@AiB{Gf~(E6lebDZ7&u;MOVb27mibz0KW#xci%SBIeA8 zU8$y#H%VWAeP%e$q{a&MayIwa+6hYHp

    F$H&L7>eI_Fuw3vuzUk=b2qrT!&UWu^ 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 literal 0 HcmV?d00001 diff --git a/docs/cs/images/dashboard1.png b/docs/cs/images/dashboard1.png new file mode 100644 index 0000000000000000000000000000000000000000..4102bbd4c13e44a9f68b55d71fe82ece78a8e4d3 GIT binary patch literal 43797 zcmd>mby$^e^XEYnP^2X#6a=NaTS`&^>Fy4xLxUnE-5t{1-AH$H=b5D0`O`AJj(1bU_e0wHFhJOSC8Kl)`>fD0 zsbt#g`A46;4>wHh2$vS|I!~YqM_@T-d+Pr(ALp7K6N!m3s@?1l{l&`~MFs}5vXrbD zf?!G=L&=t%yK+jkn$6d-bQ-t!t}wppxJzvd$)#CSuS<0c3r{wK8h|I@sCG5EZTBLe^0*fjwAd%nGALK`xjJALGt%R=qVfI|BFy7 zPyIK%lfyp_dm8ph{}LCbD8iqooAI=Cado(@fc>GzC~{e5)FMjOo&mG4){CgQXv5YZ zh~uySzU`jJx$7O^(1fj>medL}^t_xUu~&wkNw*?pH#i-E+b<0UQ00tcN&8gGn8TYN zl>|ypv$ivCFU2#-BBKsVXmDTVS-vzunXO&>9!zhtAGJ*~*TOXFv0E9aCLPOAm#a0_ z97eB|$jvNtzx#(DL-1^4tw?gwlG$Du;#Pg_s2~K<1f` zS2>Q_+>O%4lt0>mU8#6Jw8|Oh4646zQ)2VePnQ{#`o)r9xM78}x!^)J*tbUo#xmMtq~T!Q++{9$%;E#w5O6sPkdQt+^xv2# zhAcHh@CS(x@Q3d|Asa5|OG}UE%4ss5(nf?1;8f|vuK?On{v2`%i=oWQGBLy;Mh9t=!Iu3&|`{r>29$>WY}50hy(HbTMUl9A;C`t7RU zr6iC4K8)H7ZeXsyeF_)QIA8V^LtG{UrqEWJI{Yxp`kCSI%k^c+BCq`ts*nv*IE0ho z!R6>)5_#kP*WMI1ukr6*?Fh#N>Nuw?UPc`qz;Nsxp{PfUo?6K&i&MxZ!(cy@`iZ%M zPlI&53=1r*>mKq97jZ`#wIc>Z@VbL2iqMfk)${{r%NvpR;2_#Js%c5^FZv$s(=RuF z!5$@3+P@5Lw7~T)xy}64r>zhf6#;D^()s(Ai^lsH!`}_t7{7}ew6P`LQMVS&YcVmF zpMUC34jGnGCYz_TlKg`TljmN?H5^Sv>>BpJ@{JImI!h9mkbzB?HO14&0qsgFM^7p{+4*U`wy zb4r&VcCz9Y=VPwgwQ9Sh98XlXH)^PNPp$&oSF>#{f4vB5tW)twim!ghUtoFF!pLKJ zR6YdQb=0J@@kn{8D70UbkG}neL(0kH?uLK(g<`5^qCO0E7$&18J)T)Wn}Ll@et>Io zNqpO1{XJlY_Jz}SN}MDHT{G|7kDazx<0d&@lV|N^Snxkj#5BTK0ZUv@=KUc1;fUY< zgiXsOFj$(|`Rk@|Ac*JbQ&B`fr^n5Xji{b>>nqvcFsM1%`SG*tmy3!S`JBxbM9R~^ zP3mg3jVtdtqj_^kYsL6&U=20_PAw{Pp>~u9E-42P)3&qW@@*-5tIZ4FXVAhfCo*|J zQ8%>KU=J26G6>*VV#DqXx_^W$dS<0Kc&@M2UO^k*6IpBSeKWbe@DkKuEPvkrGAe7v zlv?lzc6OvuK69pryotPsKl1wQ#U7R!F&aXBbV%rmqBaHJI#$0jIde>oMO8*Wv-h`F7bccgX$9cXy!vn|JeRm=~$ zwDD5Y<8;{D&O*+iQk6<3`@@bE!6@K)JMf}0UdrjvNrKc*mAld6YThl>gVN3>xvqv& z>|Jo9is&%OeDl6V)J&=S?m~CR;Iq%6K?SxgajdxV)T#R<1l?UK^@WKG^>DbB>iM$C zd<7`uG5(zE3{GyAI3hchg5$(LCs4SJn;2)=&=*M$I>@E!0B$CgI5{CgfR%z@VoN3j zS|EoN;hR*MtIW$OFz&QW>$22YYHXY}GRUP$nv%NMadrUSYPte^L;r{;DSMf&_yI)Y z@ADbEnkA2ro6Z`M!XDm%2{;!y|Cj*=M51c5D66!eG2UV6;+x~QXWJJPhd;Jo<9oG$ zm$MPc*UCe?_VUND51TTzm9-cH6PEBTO{LL94VPog&A@0n@QZw>UHO{}*T6v8R}t@x zLxOg%3-0zb>qWzoR!?@_4#U=5#pXYF*i^^plpalKSXbJrOF4M73x`db*mOBYL_CLb zYU|kjS=?!%og%;B>~ARPH!#4$nssjZnxSZX;kg(@8qaX(qz!-6Y{?=e6$CZPnvhVB z=G*cyd~KiBNu=qve^&b&$5B&&`-N4t)`7}{or37b!WHBYOTN2ik&*YvF-=g@__VI( zsM@VNBx28IB(U;rN1hu$Y^y+10KQ`pwXMy6S&Rs|w1dtVMTvGfXh$=f*V(B(boG_w zaK!h|mD~uzd#g#?@gXu$k4E>f%$HE~0QVRb>t6xQL(M_E`yTzafs8FJ<6`hd1cWg_ zt04Cb=s~E%<{rde4(y>9YBz6pl(@b*jGBBA1^Bfs?%LT#s%^`#xX)h(;r@ac0b&k`9ZjzDGlFgsck;jt?wZ%3ER2H(SZc+ z7uX&pM8b9=YTYc_=OyOQz(OmKtEJL}XP@77HZZQFh|u+)MSnZ}Y{^^YT3}y!r84a0 zwFv#;0-yqhqq?28A*o-79Ep21g5=~1UiV1?lhY!f`vu`K0Sf};;u#YvoA^cMwZe|2VmdsnDL8|Hs_)93>ME2rs%Z>}i72gvq zta6Qp#mkcT59OL?*Qzpjw_Hcm;*f{NaLq@lBHFaatJZs#Kn5}nwOA!M$aG?K%A{a7 zpRN(qP16@&fTdoBbFnlmDrJG)XiG|ozGd%IV{=-W47)veKE_A9K>{)@@b2Jk#>-cM zQ0Pe0H#3;{w_&(oJ#T);+7AzT6)lE-=btkroO|VhhZkQoz}j`R@={?<4CJRnAv}Tf zyG}JSHXinwP-ET=MD~!&6CROU7HO^0G@>sPrnQ`@hg`o}J{xzx=ELK~G@|#`fJUC_ zIPT16?RZ7Ab@6ZUHYFZJ4gcwkWU3(~vf`!YJhOcC->=X4I?SF>s z8(P_GtZOaIJ(f*uG3wr9>t{E7Bs_lTEc#ZWw|HCf)vd_BmVxzt3ppJ_fin)hsq84L z;!mpuO54&eAYP@f;LOK5dn)YP&*N1&>rdAank?evchsoZqF+DCV{H`w6Ip4$Wf;>*47h~!75cTH@}iZ_@Q z28D}?U0&5(>$(@wQ~esL4lRofh{D2WnS_;YbKMutf*9IJhl~Iujye0)0C+fJwF+1B zYHYHiks+@?JzvB)(;!h1m#fmK;UH+%Q5+;;U6qu+b|UO(K6y6O!0Wzv=5yhU zx^}_(n7erk>v~u}B%6nsl<4KT0Lk4s)jx?_I_ka?{$S9B=hZ8bPTqNVw$2FMqa;9i z@{Ph1S}%*b!$0!;y|F{FZLo{UXZ?`y?C?ysOALf*fW|7`^SV>A1Y5z!*mjg~bzIHMxfnfqUWBIUWxayX}r5*!q-OE8iyYn#pQ`8}V7t1VPDlMDy)N*?q_9$sJH(c|Z;N+r)714UQ!lH|} zT@PmZMW#IVpCFAE#bGp}zfLpamv%~ZBKuY9es&&Bit#6j`wIZ#z1w{qKt943n>L1h z%~0N|a*UBH_~KmM&HM`|hS@V~i2M`G+vC`YBl^BY$&XKg4|FAXyxZS69UN9{pIz3T z1l7nU)Smp@c%WPK@P{vKo$o3}!;77?N^q@`Dqy2M8o8e((^|OUqy6W(SH1Z+a4=>VJe^Dv!vW7>eJCRCn#1Px-#u6Up-6@fw{EI?QM<# z=f$_z^$YtijvBxxfuBEDlh}};gBXzuddep!R$c)T(+$^MM0oiET+DOVzgI-PORCs2 zp^Qf=sm@(`u=^thO#K>nb6|MF*NoiG+8#D>ggXSbb}?VyG|EL)2@Looe7bcG?jfB$ zx7942yB9tU#>vJdFIRBfJN58Kt?i^?9RZW7H(7ZebZE$hS#k2-1C!0=hn1bIH@eMZ z-feVRs3~eIdTQRK-hP=qJJ03)j9-FHJ;$+Www?CZGz3!a&DwKR<@=4M2bwJmWX6jW zjl6IIac}nQT}oHZwT6l8S`%AOOG1&&FM0|qA12mS=QKM{@qnojJR#uq7AC)3rO!o0 zb?Tp(XiVNpsTp^SVc%_`RDh-Iryd783hu+FR2J^ohf&^Krrt*PrblJm@mpER!e$57 zh``?7C#v8!T(p4R$dr;`vlCiYIjt6Q@+lp6SMxp=2>DMl+GPzp)}h7f{wXQ-Zfxqt z1s8RxseCwJ^|cwK{QS70iv+m~;05G^ZGg;_C!?-t3p4SbUaEzS=4$W=R;4exo;Ek1 z%on%Dq$b8R$=%d1KDm~TbzG{0HL`HWxaq*UYceQt$y+>Yp4?@uo#qo7z;|<;niZV% z#m5W#M-Efnnb&bkUrR#+&lhSU2_>gk0y6=N1Nji|f{;>X8cjxAhq%M%MIMF2z{smr zCnoAbtOeI7;Hk17S<6M$@49er{PROqKDAhNuh^iLsxQ)rZ`s;ZilFc%x$W@N{Fb|r zPj)s=MGx1D3zP$LJ-@KgqWQIKU6TTO>xXuaTxZ<@oe=J8Uqo6x=C?jXtf))`U%i^D ztq$w<7zKHmDRz-bYV+&d&AVrq`$x6~7AH?Z>%3Cq;ueO{3@{rbeinDCX53fXE|^M zQNxo+hW8Xa?p_lkrtDp+p3i+3!fSPIQrDn^K*W3a@JV7gw>_h60v@&6~$*Gl(QkAkVT1ZzuFx zrpbEp^dwA>X)9F-{It&HAMArPTu!TV2V1ZyrmqnKcgE4YF1-h?#D02%MDSVv2H2O$ zz#u3Urb2pF<%f0W!s%`Z3w;07(-GgtQ@wJ)?6g5M7y93jQ;}4F@b4vk_9?Xk*`e=H z6n8puzClbJT$1byiA`dT_Wn|TG=R@0auT7HDUBlbYP8zUFqR#ICyV&k@qL zeK)E;l1H#065M{~DW@O_2k>y`#s7x!%Avr00AU^sFW;F-sn5IrnG?*~vV!WxH7?i3 zyC?P5l6hQD!jde`pupbu*HNP4n=pFVM)@N*eXC-XB}$9&c;F-psgJo@S&JLKHd03;uyM89L;Fje z;2^x+MF%9^0E2_SlX<%~yi6As#k%|ffA4YJFH%RJ?~flQG2mZtYp)l1#ai5Hs>|}^ zTJCo`ZnYq1V-r>Q3Ms9w^I{Ls#XvKql0W2N4J@-OY3n`zt6V(1DKxL+L40JA+FhRBrqI?3)*YCZO~%szq}JJA$9 zXPTDSZG{fRc%vhpdAXcKsb3)pjp`deIt*`NIklMMqa}~?giU*Zf%R7W2%`@1Pn}kb z!1!WU%GHY{5~G_8NpXj9U^0)bwG5MZVG#R2dpAt)?mTC2$lzxEYv7~1`-;}yMl??C zBL1=5pqmo#&3(l^Fq)2$rya8*3QD@%zf>W5x7kIa#A3B(6C2nYhu^ZhZwFcetJ!ne zhn!AuPP;Cj;}HBH_>0PQd!4VGq0M0eXZl--;4=;r+-`u_d;F*vmA#Qy4YBWbA|YBW z%{h;JA&ZF~h_%j+v?1h0|AX-fSO$$N1q+(*Jf@-p*Imo?rdGW)tM4NNK1~-g_7%F> z+#Xt}eIqB2kQ+B^ibe}M?Kvig!Bq0?@aogE16Nw!;vhU5ep=&vgC@ zAD^`nB;sr5(ZYVz=I??mknGa!s8p)?$3uX2`|pjxq{~hCy-!?9&`57-44QT`e2v#X zC?#8`zmRN;zcl46|B!tP*V8VD`y+N`7!2RYvRLl_ zfrC$`86T6ll^s5i4B~3Nk3cJFJ!O2yxt&qjG|2llX#!ujB2cFKxfh%p&(FvSM?kTE8y?3KMU-f@9NQV#ykjT$7*n*2M|IKV%g(l-2 zWIL_`uhF_zZusHCNBc7Mu4o_WV56}z>!6WlySqdlgkvJ`VcA`0vtIhH$yd#5#;s1O z(?tw?Wq9QKO)cmMti_{z|2RmF?5iVR0^2SfQqr{hyt7i`xM~hwrJHhqTSd+3%Heey z0T1Q9?4wd1&Pyk{dhqUHJJZQnuHh{Lr5TUcDaJbM_%wAH98 z4!^|1&Fs$VIsc*dMcPshcm2^#!e-FxIDGyhE->KX99+HKVu$tKCE=asEY!p zkd#RQbmEzR%l7zQ|hW z@FLb2F&h11o$3EF0RosnhYV?8MHIApte^a;#kFE|2iH%84$rQXNIor5Ffu|gvaG+t zLY{!OUc1N}Dap4C!sInMeTRF~D^`9kByBa|U8n~jfNyMKplP%%HjTYUr?z&~!+nFz zUEBtnwNPPX?J&yE%>o3P6PUk7+{ZbpIxXG;0$2gI5edktmQyIx?&h(!nV@TkP`CO= zML@Y%72KU~DIpA9+zDYDucU8ZcXjDBK(AcUdAPjB*`3m_YlB$4_SMyN?WSLFpTKgG z=keX>RCkJPPbp?kZ!}6v=g( zr~Maweac8~Y4!61AH4h2NM8q7^aO?pP|l|*`2~1UFLk2_bl&f1*E{b%Bt*H<1WONu zOZU$`<$tCBrfacvcj^|SwcsvhIkKzdEePPp`s57H_+HPaqJ4k)JvaE=lg`n!3WD4L zm?wkQ9@l@DmWkeXC}`B;+m#KEZR^=~!RKkIahYwcnYtpchf#wT?*##RIZ;D9r={=1 zuLJn@@8H)irJF%jpKRYK0>fjLM z3Xg9I+m;ObQyBau6HU0v9u=3f$w7ATQVi!J*_CQc1Y6I>o~UOEX>$#I+=s0L9r-%0 zUQDmH4O?J=!6U;rCSgv^cuzo>4zXcgfJgAOuquDnKp~KW7NRNea3XZ|q|SxNzXNMW zK)07EY3L#E^7Kkckt*~|Vu;|~ixDsWOFXh=wC%Fzt`A%QQt{~oK-U2PrHt0A0nlZ# z=9u|7?sw*^rwtV3IjdyAXX;O z`SMW8_wPb)N!s2RRnN7sLaZ1{9}Wugr&duMz#!dEFUCxb!#Ij0gPWDIu5>$%}HIx+}t$fu>#=VqZG6J5}8OiSwb?*NKyTj{b@1|0_`aisv?fznnSe!czq zpK8nbFNPz8IsWP}7*G9=pGlu_7vt(cr7`Wcc59 zSQA?2>~s`v)%X4gICHO+l9Su@{ORt=BePd|_^lLYfH&n3c4itXf-<$R!Lm$BRA3%Qyjis0Nzqu$&R-!S)~SiJQI zCECR_`9gLtT>nCY#7W<`{+E6{^QY5Op<0Oqu=asOH5-oIW-u;LkPCAFnXeP0m^Uhk z_J3@_k#Et_zSCQm{>&SlCP;7Z;nRfq4PZNt^i-h_nbAL|#n^>UT=e6w;eZb+7fP2? zHXImWYfQDt%dRTg)yAM=KrLDB_WX7^n{%sa}b{R@>m@Atbqy^WL zDT8zM4Lm$ri?0(T#>--k&Hq!cj(|l%Ywv{?Q;y5@K`5d{vzhwd9mfJ}-Iw00xxXP0 z^rN#lD(L~XJ*tis5iWQbb7Mc(l~TPe0_U0EYl-sOC%z>~^KFPbZ|rdVK_XCW)^HoV zD0!8%$kW5%))CFqN{imQ?oYo|G9`l1TvQ~L*LW>5a(f5$dgZ!90|E*EEJyqjB7cI8 z6%oJHqZ5Up9m=yo8mL};Q}`2pQGZ+``<}}@yL#VEAaRd|kiGt1cdQ}YV%#;i=M%!c z>85!ab2jKJb-qi>&coMf_q3m>siPGGN?Myr?Z2*r_)d)7XbxC-!ISj66U4G$Caa0@b1yS%@efLua_^Rr4d>U4eyV9bLLr3SQdRvjtpkr2`#oe)!lquqqgm3UoRu96$oT6o zwF!B$1=$m!QEBsphlHM8NXKy?J=i_RF(qWP(Ps`IYkgR!i3JMd_g&mwt#EzeCrVQ9E106NpxXpb6K8z53!p4%Ao0#4o+2uHJ zgf5;%J(+_DdQ^*vT6^?XoC9{fO)i?XXgZaZlU82G~zHR+riPq`6<$^3&zKmK-`0gY+OH{Iz(87!PeP>kEu8DhMDHu8@v) zL5&^y%2_^LE3IOnkukvrsfZhdVx9K6(ZgXOPurT9&t&BYT|9+gh?2*F%t=!OUZG*Gd<0iO)9Amw7xd99H%!{yo2NGdD`EXoz-ow)0OX!)W1{=!%O_+e zXAk&U&tugO1$%RI(_=0bh}YLrIwNgD=}iAACjU!h{414z8+K!Olt#LENJt3ca-Ll7 z>uYfY-4Eu#VQo!%?ZhpQCx7Ho3vHx#UslBf(M?QCJyd*3-t*=&C*-= zJ>Q+5_yiA=6+3&#@!gbpHFT!DxgtZq>sQ))D$2lsS<9uST{NGunE{-Gu}l{gT3UR5 zz*mGGQd3hyE0Y!M#k-SBhA;b(vf~&VrCrZH`<#ya(k=}P4%V#LAY;&MvaPNdzyJIa z^z!-Rl&IL)98@QnylVB$s;Zo6ISF3k;^G=ts+B@Cil-wZBbOj%1^Lf=H&D_l)r;Aw zCU&l`fog8s8+JN#Ra4WvR*n4P!V7h4CIVpO^en{e>}+;+cBIVmI7jW`qJz(ITgJvT z-#^OBkA1%YcgPlGN}NeaNyRei=vB@}BcPC1c-*#faB%E7 z@N6=uxu_*5=(7<)iafMMYvB7D;_Cswe$hg|y?{1qK%1jqTL5!{Hgnjxu183aNlQyB zLVxq0?ifh%<1-|yTsGLAeB9j}h{46hQF#AhxfLND(JL)aqaoEaHj$^@l7m(dA2&6H z$I(2b?_G+Vcjo#!_+ZAGjbJ#HpO$>~vj8P||40xfqwW&7e3MJ*Oh7RG?bKL z`J?=H1x-bCoL694&j-{}2)wVaPrdkZZ>m2zSxek!b*(FiR{3s0m(4ZR=5q>9K3gtX z34EPQ@K)Zn;nZR-I=`7P3<>1(6mXR3+DJYpf4We~?N--(H?jhd$^VpF0X+Pef2=nvxhfGcy8V<^9+hGXR zUDV8rb{bb|6&F=;a8SK}51t4Clv>HkQe*9A;Uq5Z`S7iBHaY3G5tr7p#c^I^BImPU z8Jq&ET)j9@GO*R%%I9{V(9U3wv$XZ(daZTYOSg5_a=34n-3sPlR0_;cxv<(^LyBLc zwmBv-F)_`HkHSFibfz4j5P$@F`4K78K0I#LvV=JyQgeG8L$H^f=q2#(1u)h~-|VIw z<|7~0#>SoxC(+T-`HH!6fELCvygrbJOn2+F)Cjxu8CO!j&Xr9l5beNc(Ejx4(~h~R zkeONjl=;*?T7N10E(s#h(*x#OHZ~kg;Bnkr7#s|Yq6+N2{SR!YvEuWZ!1*3C*TAMhydg8qw7yjuxhieJ@F znlcf*6vrx`wPdGK6z?Yfwm8F?Bukzl6DjqHV8SIQ-md20Si#P&0=pMjwlYa9)g25H zXQ!cCo793Pf;Z82L@J48vz8>owa`ukkRKbc8?%Q?miC6+*VklG@b(K}X=1*^5!w8f z39&VRrX|9*tme+e0bQx7sUi93EeaNcOJNnOmrGR|H;ZOSycQ1`96LP4$II7j6`F{eiP>sN>C z@q}=u?yrglm9v2KVvzj~Jvnpp@=T!%GDal_$E&V|Q?7fHl33iXY)31vGMEic#+x8T_ecC zGH%NBAwt++5AG2Y!JJ!GHfqY`Ao!=yr?1n>kzJJ@O?dC%dCkrE(z&3E8rX`gd%+rmBau)3dPG zFOjfZHpY6;58$R#{W|X9w~Z2HE)M5AW3#iLJ!8{a%{Li`lLb;z?z12!;GvWxGd2Qk z_tl$Zts_3bA@ysU$fY?QWkdD>lLM6ZI7^=5l0rEmG{2G4vw?wr*9#Yfwzl#8i|5au ztEUXJ7HXYeuMtH_a$C{lHV*TKhK32cT^`g6!t0azV|Z?PXoL%=oVb>q1f*$;@o{l4 z@{K_#bRiu;3Qxvl_;TZTt56Aoje~<+#Qm~tA5v01IVsLD7u=1-Z?h;!r5Gan`mNti zUESD&^?+hn*d!8?f{V+|PMv)7LOd%Iu%t_LT1iPgDO}^_@NqXGHR_2;7BcLzvJ`%3 zuSs!m)*&@KI}c{hyi3n_UmoBPkJml#>gob2Qg6cP(9pg^f9QO`z-J=}fl8Plw0+sI z<@#|UTFlqvWNl0Zkq4y%=`kkL5Rt5X)Rp6fKToqZd;r4nv;iM9Di|8>=l7jk8hPb) zeg*kKTP-Tc2X7bT-DVmRXdZHMWUBP}H{vul=xI>SR+8o+28ij^BSHZAj1lZG03ASC zW2WLEM5AWoAa8E~%VC1_^pf2{y2opDXds$S9JIehv@g6r^j^A%iHY6Z^u#gh{GKw8 zG3f>3ljT2wrWA6O^KSGA1p3hqgmFqr%KlkZH8gEeAYcxsBoXeEAb`A6A8VKMz~g@W zFJgc<&1^3N78ei$08e&c^c?uP4G=N}21ZmoIg*AX&O(c{ZtnnRj*p9%IJDJv3G8;B zBLPM8vWyIJtc0Z9CR(Fvb!jOn@t&TbPr#A|h#FVc_h1)J5!Hb~p!PQNYEphz2iQ4b ze<={il?$hI*#L`x>^T5e-w%P`5bdBDSHVL`*hNzf(i?WLXTbRH11>}YcBrj!}TGsU}Z^0!K&<6>gsVi>h* zin6k@3atPW+NxeCHBkrSc;2`96vd>wP#{i7jW$JmH={IN3K;*TZL@NT{R3kc^g~vx zE2gT74U3r|M7_ACCvs*+HMFHDYyICLLUdb2Cd7o*4>Q&@BAU1xjp z#}{>5$9>gh6GFmUv&_0rswf*WWUSc2^Zs4%?%qA@LT2AuA0%*`{z$L4tqPmX#!y%N zc_Jr^ZZQZEC>FGf6i(%2WoZ@{y^6^AQwaby*XEWU>{6haJ3Ve|*ij&+?fxlY(ooKn zxhy+7xxSU9jGP?00~rEHXhbyzQ z_y0K+*`W{W8lN$>va&*RkN}YxD1ChVU?*YGy0rLSBcK~<8(*qbiALrbB$tcokPAxF z`@0_uIxi}Ls;kCp<)TjPXNLIo&dt#VzY$^ro{sWzH0BiKq&aeVV!nS%l;-fb8;zKg zo!zBhJ~^q$PSj!L)cDCXi-VkQ(!6q(K)^d)n8!O^L0h@zAFM_c(#>v>2HC$*E_4L& zE`V>risSQhB{DBw)2nrkRi9x`$V{tl(y_I&FlZ2fMAX#Gtejg-Lp|~E z(ltc1s%GxvNAbXbj@41qx)YxjfXIqowfYs=j36(C0d!$7BO?RA9s_Zuy(5AEOiP`= zoQ8t!0qnpHwl?056au>k?3(N7ABk<*XID zzer~ZmW62^KVMOGw}XMqpHE3zGE`Ai@5BqIkQyqzN6Mg}AO1tel^h&$pHkkCi~F?C z&6si|{m%4Y!uu9j%HG0l*0qqSDJ7j&&%?RuxjFU1;^Ec22~%rRHY(WwdKwxQ zYHDr6s~A^vuyY1+iCU67h2%(PakH_}v9R!w zyQ?~jimIyS1&E4@*VGUZhcYz_FpQEQy9fVc?gFsh%=udQK9CM=lpCNSiP&7)aS@~2 z7_5^pK$mY@q23*9_DXoA=epi!D#Jg2m>5z^zLH=iDGXeioOeu@gvqL9rf_y74*RP?8WxTvqczpsR-!%_q*{SRDV zsY~fAj0?iI9I>bwX$OYxQ?zX`BY^mBW@bjN&qNfX_av2)o}M03sdb9%9OAKAS` zY|L^|=_WgextZ_`-9NJd=9l(hM%ddAwBj=K7fJbqjL8@6j|CuWNonbU5y8~(a39{-e0Amk zvVl?v_(Nbw$c1{+DO$^+Tg_03+3pb!NvQlcsDn`E*!8aTowu@exjD>*Xv~zjWbVh7 z!PpMbyUu}PKLHd}$6%t(YP;pVnX_Kk=ljcvKd@Fq<;#KT(99mjU{vKJPyVv|Ik58S2C{za6a7Zi+2AhkI zU*)S+s~z2cItp zl^0Jtey|-`i06HZ6`(CF06`quGByD48H*zj;} zTkIW>8L}D=PCoW+QGM;y&nLpeo!c{=G9|`}2(^IptE)#j@@W06MTStAsunx0u1+79 z=^5J>YYQH9he#z25eV`yn5%w$lr$kAy~$4oHj#-9o=R9mYuCacQmI_CvVi;+9VOA9 zylc&Zy*PExfdvE{{Uban!@6v-v9apK$^a@NB+Q@M1z`B%Ymn!rEfQcjVd=5wS64 z`>kvd45V%1fT`_^h!C2PS^^|wha7=?3wSR##JBgW6?A5B||i zxt1t4cDIA`)T*uX;=t-!Ybcr!PWxp4s0W2pV{=1;dKNR?BoLYRUhf%5bnZCteEa#Z zf*jb9;m4^;hbLXkbr3SGCp#qT+WZ@igXRbA!3|fwn-lf$XdarLGptRL;mpWzkd+4Rh$>JGlV6?99;g^Hwl_1|r3e#9HCsU|N4|t*;N$K~AB;mKYmRzW(P=NAts?$H1zsW@9(31?400 zGzty!rB`%vauWcgfjYt^*^EuK`WcXUq4@#mNJ>slz;Q1tz<~h)w7_O0`(26F>tr0} zmB``Ys;-{+ze28$s@F=gLugoy;s!*7ydMLR8aOotH3i-4#1-G`=a-h+SRNdScwq@S zH7**m1gf$n^7v?z4I5BM?X+Y0~U4vh`5iiC{UbIP*4zkXVpIm;AUV=AAE_7 zV3sI6gtUDGeW?e88pkkjNe6_7`G&({p$p_adHZ#7i$bl;d=fm|sax8PJUw~!6reOj z<1ZpZ1*CVY!bl?W_V)GwgOo(0yH(A7ejo<`jS3q97zZfyC>P�rd=EEEXcXJ^@ytGq`P4cy)zP`4VvC&c8YBl!6xqyJt zRoJS>9Ot`thLd^nkPu8nRqAg~?6$$bevq5F4OvQ*covnRp=0#JO~F?UE2+JV%% zT}1868%j!}{hHcP(jm9Ap&=k8zN}Lb5fM?0YPPQjf_SrX?7yP8KM=*AkA2GZbzz&% zDSN&3pq$Dyo`UYIOsa47g8ibOX$>BW0qEuOOTpoLqQ-v{WCwW#r zV|g;<$8?WCfTyx;Os|+ONo!(!*^!4hb8TT)sL|Jj$cjk9i>&E@0C!ssc}~f?9F}9Z zn{n!yD$bV3Kzo&s9%E63hCSXoFZ%nf)`e!~K6q2_cc^@3lM1OCqu%{%gx6S50$ko> zV0t~N{!@~o@Env~a+1v8N9+^IUwWt$o;AtM*8qhb}x7drQ`~|9mcskN;?{KMSS{vl$Yvv z;Ep#N)*>dSlm1)_n=_(E1+1cm!q}?cKbDUAV}=u_Q==QF<>w>u`AE)>8F@isxB6E` zVkvamPM!7f(169aW6Tq;jGYqS%r`$F1JP8{kip#_uEGtmo)idy)EHm2rmY~vd~k=u zrCy<`wZa6=r~EQrH4h_r6Bi&daXV;n%A8Ga*UF^`ELK@{&jjLBqN1YSNIj+Hw4tK| zl96f>iLxCKC|DsfQo~Z74V6*=VPEX*pb#394&(Ig| z)q#pZtJ*+!{U(Ky9i-`C(9Y`vHBeLsQ}Efg&cpojJv0QObDN|C-@Chsv#6dMAD_*! zYCVBj$j)o4^GJ&}hJio_lyb0R3=pj6jPI>N_g$nBZm@o^60MQ`+lV6P(dJGd2yDBVxgyVN@fE-;I+%Ra2}{j%WXX71YHO!X3Fd*Mo}n@=*b5Lc$)$qwsR zWRR{5GiUlcdIIvjI-qqT{zK|ER#)(|*xB0Zo&FdF0$=$Z|A;LY?fjpgvwFtXxt}4( zD^ROoG%q~`o&VSaWLN$JwWbgIH;^SU39oUX|L_j5NSurNjz}^kzUr2mwcn7j zLhf=gAo2ji1+BK9x! zSh03WKm6hwF?iKmp+NKd9D@n-L(mgY8xvDccHYjKyME46+%Tw3ev*(Yy+EqH_(eni zHhyOW+0$Qo1T#~nMb4=buQ1m)6>v2Op1edU0QT*e=nxps*BhpDJwa^|8-T2I>6k(u z;*bIYn3Wk~63b;jg6FNYAcO`!rYPt%C{Knxy4__bm~uh7w*T5c>(+`jN=6p_{w`4X zC2=odj-DD7g`gbvAR__JN0brAvo4eYRVHlR@GpOxoV~x{KNXIBF22C#AW5`>YnlHw zb|bp?%7alh$U4RTov8ezHFt3=j-Os)&Nt$)Da0#2Mmh5CCj%^wB4mzW5EY>@UfYH( z@wUlP%Y-GzSyGN!3v3TVZgAN1dNsRxzV>xUw+242Q*NGoMj|0TZv`MA=Ynv1aydGV zp?;y)3a{!7)vP#sSvt;|%&U1ux5S6f_?B2?UED6)NRCIF#RlemrHPTER3klk z34bTaH$r(zh@%>esXGeP5~w7Km2X$WJnxon@t57;Yp3=0UKLdid*{0r5CMzH{i9~D zZ=RkHu#08vF(?HW?pI0AjVWREiFf4lOC+$Ao?gIfGQ&1Qv`WYIyV1`Fpxo!p<3`WH9VJ8&YyS^ zl#54 z*V8sk;I~upY@zFHR&Ji2o@rP3A5q@Al6alczs;LpL>EO7)(>9|Yn>q-uJPEnB{1Oc za7%7R+{In;pQxZOhUXfI@{`$e;l4~8ov<_f6NrL8%H;CnO>aeXdGF|uoDo zO2^f`q*nH)*iEijk7b595w+>0p&IM2O0tw0cG-pm>hl*|HZSDOsy_@=NEwv{30Q95 zdJ>3gp0BFW@Bd(>vgb%-QYk?pWl$*>v01 zpp$wv&oEOv6aGox<$7yNc^ljRM72C6V>L%6*vVg-FE+@RwVV8Gj4LyRAA`Kh8u$78 z?lscYNV2|X9Y)mCYFD;l19IiX1%}j~d>4+ORlAX6r#H2z9^MqMDCH{MPOQ)pUC1RLOJwQf$5oe`xiaKP|Uza)_g~4HB9EvZANFc(8 z67Vr&l6bo9d$L&q!uDGXcb!@~X{9N>8Uf*(bbrf8005t1%pwj_z7jtJa$Ho8SEAY`KT(e1ng99*v0Tn8&DZTKngPB}otL zzL$y-X){SX5YNUc$FVQeWBr_nkmiObEPY-PoMZ?Jdo!JbG|FqvaPTsh;`Va_KVw#VzvZ&IVDZEC!m$DfwwhGc%* z*U5YedsU!HVfGqQO4WtiBFTfZIH2cl(jCn|>t(qEY?Pf@+UILk+7I>jO{}dW96_4y z3Me>QTR+U`yJ7c24rYf4sm;%qcpYUI1T%4%VQlpt7(RTHRnR4efBmG;M>j#S*K1u{ zIM7_NtV_K@E^`^mCs)LU2BZ$XS?7Q3vmwNs_CWQDplcJ!tm*-JNNXY`FSt?uHKkdxNvr z3-&^~SPP!%_-sbjy@k$uC>yEaDvzSkN^83D(fGvVWWg78#u<1Ws0%+w>EayrGq%^8 zHXlxZd-__i``cg`F#f%hOeive%NM-*`?=3EY>Epvk8Q>}_07jlOZ-cX$Ym>e_n41n zL-F4j8N~!}vA@faQ}LR6ci}Qm;_IkFED#x!J>@(tz1XwaSth89MRJ>bF$Saf z=2WhC1}B|lK~=iR=*r5<&!4e5TdrkY7s4O;lxnJz8NK9=a$=LM`BCI>-DaO1Pa+IU zrnc+i&cJX(Zrf8Lhpgg~cgM4GZm++36vt(!&nds>4f^W;?iYY>UR zzoX2sXo%`Hc%N~h7Y6oIPVNQvBH_Qc8+PyqPZFAE^C%#j`ecEI#LGJd-G&lEYQr48 z2j0}3IXh?ZCK2^ALEZj-th8MU>We?JIR@bQ^CYR$tHob!ye;LUPNXXzeJ1(+(tA5=P6 zfAVeFVPXkZlVVp_f7L6Y@lch5G4`*hCp&cg8j*LVTz>``URm0R93os$zAUf9LB9*zk53V#6(N|0hOEdQ#}e<*vB%LI@M}j$BDW zQqiS4W+rMHADPcR4Kk$Y&dCkF5l%T^$zN0LA|_SA5ta$Xk)W3!uAH{9wYFvs8Az0f zeXfk>f+r3ck1F%*zX9b#oB#v~JP+Yu-f%8@GfpGe%-Q*{W0Qm6A>8e)v-603DwPZr znY9HfI~5bVov#T!PY$={9eoh@MY_plq2u@3TAqAW;i2Ai8c)vGP@7ftp8TILqGWh9#MvpaOq3!Gc9eOk?WHuK|(JqQdx=W_=M6t4I#hWCB=2Hv)co3Ig zRnO6#4Z9~zjl>hE*+XS7JGi&`EJk7BUSAZjqczpeL7thfpTV61r19(!`_IU8c)pg0 zWqy10Dnh-0BoO!3_8A@WU5*8eqhV`S!_p%8L4JJQ%mug80}_AMyjb>=p+E>X?h7iv z9)iI6(^FFPdKCKj%5|HVEXT0ZG@ts9rJue^M|RpL{7yPqJ_DHZoH>lJv--{v_Y+2# zCN;dSZlvyuk+8Z|u30S`QP%W4Vbt=Q`S7xDUQQv^7072_#*66ZJ2a;lboLnP3~D(# z1vjX-?I+ldlA<^|qY?;dp4Lu1YNYyRT_RikB382JCh_xpie7WnZai0m&u2TO4H8Zv z_!7x&(s%KtUo2~lJns+U$rmS;Ll)Tg&3>A3sZqV8;KJ+;!K>OJt5{1 zJNZvfcHdQRIB*I)Z+OX;k^_w7*Rw-n6*5ApjyFmrc*SvzPg^jzPke|c=pVV89s9H- z5=oIDFxw5PlHHCCdb#1+oQC`2e!oGKu86BUwhE!XAad<3r<>0TW?8d^Pb7D zTPM)lH3=xwoA0|DOmZh7JAFP-=4BZ>Or)*9Z9bIa?c4gG4NkUB=>UuT#3brxwJR{~ zLbFWEH*fPjYloPN#`&~gkv@t@pT7~t>>1E2xb{IF&zO8+98z*iB&VpXeD{rBjUh!&9#M3@IoJsDb$yyba@wz7 zr=(3x%Zx3OVAV33EY>ZwxX7ihdN^50m#9DN<$d_dPR|Kv?&nKug_;yBiyP;$QsiQp-V$^vm6Z{6;~Qr(N7IigH7>8orQpt>b}PU^qK6t@sn41$RSy;TObd`?4^lX|naD{cZ+q zZSh@C)b`zqHBk^ru)g77O^}z#Y%xp>WPEK%M#Mu6#iJe%?{XcyhN#0QH!3TRsEvU! ze&z$L#xDA*xx!pa0DgbbLp8OB1+k3TtUreebxQj0`fiNY*Ngep2;NS<# zgfVaEXPtEs-5wtrw{*sohJ$%ZUUIUnN1y-92lR=3CdclD3MxB{HMCrjJ08ce1_J`k z{7Y#;{Wy97x&(_zl|7Ek3x8X#)fT5P-ZCmSBvUsJzcDS}t23xodldxM|e6Ks(HMFm%W-Z8<3$lzYldteii1b#-k zhik)P)w*^Tw=J^id&r}aXP0gWF4^Iq`@#c`G@@RKCaGmE**fHV(sUqQ`(ZL3<1ZLhFPHj0rYOWf@O^@KSe|h zXQM9A(b14Q1CSlrc%JQSzP7orK>x3SwhF2^W6C9km9dL`dHrj3mp~msg~yMI(j*$^W)zRCYzxgSWI#-^VRh3;h#9~TgtmkB;|;u#PPER z|2!~8XfU@*a`Q%?DkaS>6$GkfO{b3*07mzqBO0X-e8zTWkKH(hfk)y-%{+YH(0hasCNW)Noa+ohzN>Z3Im+rnH8R4xrA(7@cAfLutMIqA8 zkN<_#3q@c+6tUa6;a~y}J-p9aJ+eM;L`n0Ol=$+5`W$BLoY}*;Z_CF&UfHQ4R?Ca+ z4X+dLFna7ot5k7@_k=u*X`-f&kbrG(sn6l@U4Knk;>ZCkJQYd;rgb+l-D?J3iU@XI zKSMHG_=)=E;rH*~mwRcN{-PQ2;Nm;jA>D#CdAouV;@E`#IKJndM|Ra)uY=mjHppid zH>qSxc12U;t<5jQ9x|+-__gO590#PwGY~zO3@;Nm_aEG7oO$8e=M1m}h{34NyJyxkVU%sfI_t}oX?3O}( zph7jv*#{T4Nrpf0?10Cp>o7JQ$0$8XK##FVe=k}KpsTvN7+w9h=40$zw42cRpnF%8 zhLm}NeCUSr37!q95BY2qW))#~^st3V(xgQdh~SU*87>5M8?wz$cjp5+KG>&nD@QEQ z;@s`cubh5UvhPXJ#$_TyWcbZ{7R0!r3qDGRVh3EED1Y^W?0j4v_WpFy3B%*u4cQv{ z4)~?=HOhxzDwpO`(R-xLntFPo&Zh@O1GbNIa^R;UuRyBmUvb72r#QSP)}>rr(H@*F zWxDVOl|hU)<=pUj=}>g%_Rez(^P)S-&_islW8OB+61$a~9ibn3Uk=!{GvtjsPg2jn zowt*^_vq1dyK_S98wF*{{~DtG+RWj6OCi#J=bq9Lc7pRznDs{+@&(O{HP`!@CnxUh z+?#J>g5B`@1_n^SsNN#kw;-EdBZ7qyL3nD9O*qm7o-}!CKf7dmlf^UcdMC)Nvz%jA zIpAwzPF03-#hG)x%eV5)%Zsz_$T)HZ_GP5JNpE$Ekz0Kzze>4$%4;RM?>SmCJkvR{ z>_KPQd?`w;F0Vo5)!)7VN-<;#rf=U8FSBW2FbL?%)W-$k@jScFjGsQrEr8PwrV;M6 z=FhL^yEUuZa5TiP&x>PZzGgLCJ?nN+m1E8I5ZI&XE0Y)nXxhCx+s3nPp&j@c0-P$g zbd|}Nb-tsLR}U!*__i<1uQaUUya;X-#6r2oam)tjHW9P>;`|3$+@WpJQNmG+UUK3` zKZk(u64waJAQLcHrzO67!&@@dT+%-_uptm))xRk_R~t@FPB`kali(<~*$p4x{!O%r zn)Gynzlv(Mah%RTKku~j^t^_}5TEz%+%=VNiAGv)t6Vys&(Wogx#JJ z^Ss@t7rmAxd(_Uomt^8qDMTu%A}QHHsI)b(hXvW?c>0Hn`;-gN*PAy}e4$0wJoMpZ zFcX5X;B%LT$CW2H(vd(hN+1>f*jYCt*#akbI{MXPrC~m46|y~!Ug?ntXk-X)rlcCr zOESpOoslb@wBPmubS0HYDnFlMCAtt7KiWKrsrOBv(s1br#T@lDs^X1m?V?6L1G27) zR}|mYlAm)B(^JpyzGI9GA*6o^dT>GfF8*?apBm1msf5Y_3-w?mG$$`y2jLF#MP{$J zfc(OS=tKBph4>M(@Ue6X2?Mf|6)t;d{rc0?4#^M>_VVxoZ^$@Tquv!Xa3Xbh-a)Q# z$e;(}nyY*(fy$)w^tFdiX#+~FC!KXO{dgK)7OPs0JmceAAyyl7PE+~T&MgOVdy_P6+0Gm8g^@HQ#(h{sT`&@MQHg>Kqzb^Mv1@mUfTaa>TN# zXQt84Hn5l|EI5-JCur7#vRhIUh7ZBT`8!LTP^9E79-CDe&$*{Ec{;pG{yYh+TKf7s zi?=^K!?&`wmM$Ckraofek#DHYFxh8IY33nXM@!MO^qx_!l#vcXiSZZs2;HK)BCg5{ zSEF*GmESwmW#$ta;i{a^wff7P&5(RF(Q25kwifF3>av>t1oSz_O}{G?RE$Bc^G-Xf z$AR1>ey6=6F;P6@bw5n;X9Ub27olRFs5D#nL2g)BSn58WSYxHjnM>B7+eX`Dm9{l1 zS_K7uAfXEvDXdiCB_iH6{0R+2(!U z7(n`DS-xrtB}$_bSR7;+#){Ma0_0$xq%rcSmWKbm0PrbypZj zQbAe~&?jXN z0xj4m`kN5H-;4plnIA!V`$@D>1q~^-ahFx*59jIreqi->#N2lAp6x0}dXH7_xL&kE zBSi)#-HuB~ESN$D%oJc#4n2Sq^XMX_7~dLP!U)ZD)4!46_c>A_*Wz*ZtnYeA`k6IMJR#N5ZN)oLaJ$!0mo=nhEtW6dyX)(f z&F^PdXX+;OaZ)eZ>N9Hy>@I7n>f`v~?fHlLE*IkS$)oH#E?zzC#GDup4duq{dX9{n zf2`~Rs-c?w|hWJPtg%VJl=`O2@YN%W~c+Eua=e%W~yCXC#_+s^Gm znUtQ6z}x<)-zrvzz-5TPmlneCHqtd8GrWvt{@FLl!L-WGtK{MT=-Z{X{>8V4z58!` zd%EL)^zC=zsK4=clwrn7b_eX7rK3K4HVuT2SQW>~vpg)|TYoM>Pp!m`{aEQ$U_;`R ztXaKi(S{^Fj<+1HNp`>N+t^$3A>Sp#Rm3@%l^U*O4PRiq z)n2-x*$EGeNn|D86AXrMlV9O-mA{S=G+AJ81%yBl%Bt4oInP$<)V# z1i!&2FZ8pbeDiwk2MHUG+g+$NN6)_s9mKbkw7U!DxBC;^mqI4&b>Z;BZ7oEJm zG+}|)MQZmWJhD`3Uxjc(U@kp?TXG zpqW5L;Y%-iq9SgbGFlGYGns?sZB zrpR{gp&`Dw<;?rH4q=RPKq*6zLjq};2Q3D`aS*cz)eyVr|8U1vzjpWNdw)vg;-WZjrv zZ*t|{Gu^uO3A<1JN)O)(G8G&4bdvEVTJg*L&JtXm+0~Q8neeKr2{T1D`N2CRbdt$A zO@gJmAlpYK2P?^6ex7hN`~3)umsY~eIuf?u)bNvtm~w@kI4Q^hqpoUKfbExC%cqxk$k|fHsW8uG;9#yEK=;lB!AA1W%1r|+ruVrNwij< zS84HS(I!%WBVc@d>NbW1EZq0hyAgekh>99nqd==)7Wf_w-28RDMfQ^*B*x#-2RM=0 z(<4_vQ2U;Q^mn{$YqF2I`qenei=PQ1xPdr*qG_RH8kK-)`HmY4nB z#TSFx{PP*;m4>nKsJR`SBovh%ib zCpmIB)k4#C?VJK z7-dc{b_&;pxsS2Uw(;eMX{(hgzb%xg$9Jt6jJu+0!({xapuegOLvTxM|Zer zxRWRj>+##{t?0G&(exQMFKqet3^697zL@`VUeWY9nK`)!(nF%-^lA;Afs%y1?fm>T zf*SSV-Jx5=clk};R0`=Vl<9D!^4v>`dP}#p>5k9lQXmWExrf3|IG5!l<5Va^)CYO$ zxJ+fvM~U@P{twxq&iIg_|I9#;-k*ZY)LJ#b^v!%;T@et4PoJz#RJW_f{!e)Gom)uB3mSvzn>^jxIv4m_NDls&cXTG^ZV@}G~Uc4Z$tdEx#alt-a@ ztU9kc`wp<%9w+>KBSoZ3^yt-ed)yQA&Y7{K`b6^s94<}12?m`}Ij$!qGXP6?d=B7I zFH(H*&5=7k=563Q#T$_b_FHPFH|D&JQqW|R${AgDUNAHM5ge+0!kVTCI z^-Rmn)Nnq2;bt>a;m-6cZp*B5JC~o8095pqU+*b=sJy6umeE&)t)I&-INUPaz z23NWu?rJC967_rn@klvdxnjd7|?SiM6ufBFhU< zeb~n`^ zS|tf{2qg5`pJ2U<%Bb*Vkvxo3a^g^jn)uf$T{k93utpoM))$k$jv_Lc1%3=BYi5{{ zk0}ScO&3f|vZxRFMD{0oox^^iR;67;kR%>!)y-Bb{u#gRP?%0$(jrf1TZ83V`h(fA z7cXXy9(y$!z6%7*?hE`sL8cvFVvZJPLdbXeVe8yD#L6u&c?RxO^%s^=Eu#$Vlvj9k{>3u37kk9)_vx>la~3M)Oz9l4jO z_$6N6M5=Wg!EIGv+*{5ldnZer$T(OQo1mK~IzOKb3f|2>F3@*yz(X$=EKS)Rxk$Nc z`npJ+Qcf~HpA~$Dp_OcyFHJTglQkrUUL}fO^aW25m}QA3N@hUSeqWCAc`o@6*=?F= z|9?mR&lxbv3A${8`wPS$hBvb*$k&yZpiUmx|zw^%Yw?dY2f$&z!b zCaq^#==f&uc+WCtvW5nfh9nt&BUzTLQa=>t0gZi>ZW}0)1rFLMFjo3G78p~}(}gZH z!u`M&IJj~7wCzis$Kf!Li8g^aKr%LpSW_SU#@;?Ucs&9jKB34j=JjR2?OdP#Z`TEs z4G;fgyu9gOR5#5u6&o_RZ5Pt*P-fSqX)H=%TKV6L8|=dZ#o%Q3{|Ddo|DbGW{`bm; zpm?t1`bwuKzRp{P1Py;xq|a(NeyX zc%4OwcoSWIC|>5*xQ;T1-4B?VP(pDPV)8It$W#3}TSmp$0u3>yOrTQr@)`c$YFdIp zka!0?H~>rC(Q9jK#VRKx=P?_b+;7YWlc4`+KJ7@Z_g?~J|IEk#m74Y~@oj!*p5aw; zy;8GsncBh_y{`vPGQ#dq=O>>$xBQE`vs`_7rGo zp~yq&#g5HF!(>ZK%l6Hv9P?#|I-bXeaV1{M?D{99<`&i3gI#aG=2v9%R+oPG{e~=% zqk!>%TX1&>6R1jf=&6QpLq6$WiT=B<#8Rg$V$Y3B>Xc1GaO^ikTrl#j#qu+ zx}Q(0zC4KO$O`qs{I+$n?75YI$?o0z^qTzODq&XnZXX+f+hOnOD_lcpV*h?Cd!3x!d z>swt$uK@n6IIMZ77>Gy>yLmsFnJg(OzGT0!04)?uw0>CJkb`}5NHA|cDjxaZol&E0 zNLjPtEFc&2p6U~WbA8tr5)eYs|8*c(!Kv7SG|bzf#va%(%agGU1D8A%jc6^RYw_ zG?X*9d<6jyI4(evAb!AmaoTm3?vJDkdjB4TQa8}BwphFk8#=2?HU2PUky|muNon}( zB?ScX?e9%VfhJ-!m#f`rDS)B9s>BGmxCRwhReS7|79>qMDLfZ=5__TLEru`70CQ1Z zzXoB&SeCvT&<~_pm@>Vr#o;KC80e8#hO7ojCtv@(6CNa;;OpNXtO|z}Zv-0NHnc}9 zvi@33htqug5yDq+a3BCeeysONH~yH{V%;+ied!d(%lV)LkXp9+-%;k4DDV0ua8WH4 z#i|eN5g&p@W=kw}tDi7tLPLdTNmXBwbe0#=q3|Kh)BuM4v5LJk7mbelpveiv;VFnz zQZq7|eJ*NrLA?|xGK$YJ&oL)ddrxaEP*jYv*S4m6AbIm9=wV3*+;1Vw6xe>M?g{$*5NjKi!K1aDN^ht9{=Z-4VHCS z2W>lzZ<$D{_1Wk=cb7*X3hIe9#NLRPYw}tft=t>zAv$OGfK2pr?((+)A_Akr7Zi~2 zSo36iN>A!rblYNXW@KC1Rh#vORf6{eZOHbnWQ6fD(@Ky;#VddQ`k($p8vbbah`~JB z#!7hV;?=*a%!v87$_)DS|EV%#Ta@1cy=EU}*Aun$e!iS|qtLUq+oby;#iiTe*Z=cm zY^z_J$z%TI0-BB;=2K*v+=fK(VBH z1dw`>8y0Fn9Wmc@wwdIa*3L((Zem#ezl(CDKimCRf;G*i7Z{N6B#$N=Ep=jd!{Z<2 z7BHRsSa!+u;slxL$B;y0O;Eu#^-o#WpAx{y!z;?HMRSnP+Ge|8c~3F6k1>hY)4E+9z za)9b8IVaD80Vl?xPH-I#X<3rEMhLzJjybKr2ppWYRN($eI)PI^Q>wptBXB+-_&22m zPSc(LvHgMmW#b>01|?;qY+2iomePNcM-kGCMR#n+EUHvc*pNBwjmEEpgGrA}uk;g= zmF49QCs`RpgP>Ln>>}wYDRA9!EI?D3UZpqwgS1#?8sNdKqW#R%Mc;i5;I}kNeAc0e z5oKS;`L;=bgPR=oa~7dlfAnj@;Es2#{#8}tfRLGHgZMF6xu58W>U~l#=pPs$8vON( z0@*lYmYSIM_^PtQ`sY=s=$8w0a_Lfzjx76Jn{NSL8FaY`G2jIRJs|Yj_POv?ng)Sr zU+jwBlRdlo<(#wk&RBC=34k!pX^6T*2R|s{iz_cQc&(KTGr+_#1q8x(-oXUBbwb2Y zED4Tjp{biXpUy{okv67imBDnpy-MRIWrbuCk%#8LHY$nnayjlVnUfnFr{|g!dcs9g zgN?N~V_h^;_j?n>v_(-7fM4O)PVEt7 zG`c;{H&Gb!ERxJqJE~E4OlX zuG(-tqZgY8b^HF7Z(!Oe)d1+)`Bw`-Igc%Kta4S2*nHWeykA1qUFUU@rQy4)ZF(p1 zKgkrNv0KURuTGF5Ze=9?+kO1&oIWxI5-y;B>Cb{{>c>^fM_%~;Xr$`Gn)^s*5XTZSUC@i=|XCT9hJ&c$c@N{Iz1 z9&AuCj7Sw2-k>`Nye{zF+ZA{xx9Bo8^xQ|d!zD7tMcT$}W)Zf@IVbA{V&h1Ek&k)< zG4GQ=OPbXwkg}~iC$?@L0D(HNEnA{+{%(7pqirF{gV7H)`*<{avzz+^Vzb>rKTx?I z)NZ!kP5TOcG_pWzwn{#(ECJTsnHMfi8_@WPo~|OfK>fz_Kv(<4^KPYCeF338L3q(al;~N1(!5Ecpm&y^-bBF~F1kT!(f*bx8+y|Fa(M@D;iM4| ztNhKEYP0C|yIa|AGGUnBO53Z4lp8ypw_30P=;PMgzRHlL21PC&Y@DuarwKJT_*?)T zA7BL2^a()G)YJeCH>g&fUEisQLrA$_n(ieu*G?U-H=9qgyfwu;zy~l*Pgj@f2hH^J zI%ANy0qKF8sbt_0E@rttb0jG@R?;K7b56comc&b8=-&rkw-pG}G+Lg$};# zOM0X<>9f9UK3q+1bV9T85BfTpW(SA$TZ!AA*D$y3^y%3NG9B=X%j_9CW!7ikSu~Cu zZ+L-Z!+;pt%SXzFtV?0mYb`6v#|NxeqKb->Zv7LM{Tk8cDwngPro%(Pni!%r81>Ii z$4Ye1tbBa*#tsp!h}@U%Xdwy0y(l*L$xsIM!B#6^;6XHda-%;oMq*MF`e2U-aWqfT zi$pwpnASfFAy!6gZ9l<#k6tw0DK05-z4&5@XNou<0~LcyRq4R~!gt%6zeU-ixp#rN z$pG;9ptV!l$O3o(OmE|{!#q)6k4x9)2I}jrplYnSwDe;}>eVBlnNpA$zMm_^zh8}x zCIHm9zT4#o1WPs+MPK>!k*W6O$riu<>F~MLRQ(~!n>=*rBvpRw@Z3L--h449sw6e7 z1&q#_rdxkBQ3cL`$jJk>!|Geqa6UMoG@P2@i{L)+hR^o0r<}yZSKswo1+(kBc)~t& zWXemhjBX{>7p_2~=L!l6Tq-66=oA!80Z89Rb4==ofqgUVd;#R4UJlEPRHmPHxQgn| zciOIk>T}=KqnOb=9js?|KQ!`-tMMAXVS)+f5X%M~t)guA&W>TAr=$|70Bx86t!Uh* zO>JyA(dtN4I;qZ8WvS0;$~kV38}zEK`Yb!)^5A=1)c)48rXYARUdWD)GMffYh(`L~+0x$NCn;7e7p}NXVxYrOk%a=<>mGDr&pR>@MpMk>-_jC?|)Uy!XoA! z6kH5aS71ry>6J7e^e3dBjya)%{lLNkY<`Zle!~$t!NpSUj@QQIY#kWsid(qyxhx6_ zSRP{_Py~w|T)`Uo4cM$=uXA6$+Fh3!G$2oO|L}DWkW)5KkSot!I2Z7iIyN@}Y<9^= zjf;yzH#eQ#EiMZj#1l^=PmTdEVMnX$Fxu1$-wj`~wKy7Rh{%c>t)&xMmO=)4iH9$_TBH5hjj z-QxW_l~SCL(O2NzEb>vKY|pA|75DccBeV&vLl43=O8y@qRy)`^z?Kr(0gzor>yLEkeDXAou;rE4UgCg!oxdD zc5!mz(Ep9u<+2N3TwhMj|3jO-)o( zRCjtwBke93+|8IA71Dj)nu0c`U(@ZnN(w3}SalDoN*=N%y>=))nJcYX+uABRJ4}D< zTH?JlSme8PzmtHcr)z8D@KEf$^)%yRGq)$@$%L$?`&s_gT^26D&_6L}dq4+HwW}j* z(qm`Ut(i3qari^^L6t%4d*dxWJ6*o&BxEcX$Igb(pwF?L&3DEkZ6diZ+w1F;2VV}4 zj#hk1vcp2V&@{;LG9%D^L`?Xi4^cEpy>Ygo9}_oTmY(kW%Wfy|E~>h^8rSO^1Akt@ zR4V9OwYM!Y?p5k!V{UPJfG=)qyEF7UUIct~OIcJc_IXWJ6%*b*&E>prWRX*4Rnq)*^sLbURy|=AR?CMlvbjeyfwzcXIO!v0u{(UHqZI!bnA1x{55tDXG$tw zQBiMsVZl=RtkvWPb*cZ^5w5q=@R}27fwrwhanc7EfLU{&+=7Zn?xK#vz=>mRYi~CH zew;;dGBL9b?gJ*D4ZDUqqP}yXjQB=ElI=+2G7MV6N=+DPVTtSy=O`&Wp(TyyQp_!( z+`rTz3a-)_=?$i zB>DJYSQ$&i-1lbc`i#+q>_KOWYpBQS8s3?lcakHm=5n72s~#Dy|QG8h~_mj)l7u zyfRcvm8BNn8&W>*n_tMnZP66gsPM!IvQK~IePIbY1~z*>Y6xmHw(04(%uy8mC8|*& zG{MEQ>i>MZ^gWMk_RF=*%y$_9^@2j4kn%?yh$R7_FhGXseaR*22;R=2h;E?(On9@v84a1(7RsBnZ;V}S)+;k5P; zePoM19h9K~DXgV@&Yq|)%BNUtobVNtZIkmtN61otQtErr^ot|YSG=w^U|!BpJ7SY} znT@(5+b6)<55ujjFise@kZ>^lo@X zDL&rZ%!6_!vm@yNTQsgPpgZegcm4u%v}Mi7gZI+-kg+J#5z#IvV7lsw!>Nwo@GDCc zF-5$)h^T8{!?L;0(tM|zR-n+PJ3*3`!h&9%qLV1IzVr;~Uz&s|CxUpJ>wQR$|o^>qIjysX!)KZpmV{!0}qU;;}v zd~`voh1Yd^Q@|0H^%9Q~%56rLrKY8oB(Kz~*V^#)D{^)4Syqvb&fyOF(zkup70QB3 z3H>oO)mZ8^|AQqL3!hzaXm5^iO}1D_d!d|?sL%-!ghF$hzR&m zWosi(C9t!sY(&S09i4tKtCvq&^aYvWo~bL(ko641aB55K!p-wQkFKn%!{|jS#X(;} zU)t+fP751RXq%BS5I{V5yk)T83hV`AkS2>zmZ0EF#@DbQlI&p-5t#--A;+=Xa-<}n zsr?@6V*NV>F7}Q;bF;L?+DN$Q3CC0rCOp5 zZ0XeulHDF&V{hJzEBTV6to+2`X7R#JcucoC>pc$57qQRBEe)W1@j*4HTKsBJ*aH0}r`;Bnh{_*8fu(P36h6t=J9s1n`a8!E zp}O|T4Zg~0lOS<)S(ImPJO1$Gkb6s1wf&y06R2i+6PrBI(ron%ArHEsL{qKUd z&@eJG+Sc3{1UpVaDI@*NTi6qk`tx87+=2g!u=TIXNsXDyFtBjpO`afavfQiTFa=KXd9_;# zD+ur1?i8Q;#k_Y372h9<2pl=|Pg|M}q^EH{0Bs3`JNNg!2BKwyEJsKqDlE^YudB-VXvT|AhQL(Q6`|N zRxOjC=K_E|c~PL-V=0(V&TQM}q@uF@9;1gKw})ifrgpxoy4~8y4Z9sa0yq;if%xj` z>hV0@Xb}GBRFg~Jm{yNKjDvlFkj7@vDdM_C(!@W9ZSxV->-N7Dl4Qc4r8Fjw`Z(NGVmGL=Tu`Brz5}=qR zDLJ^VCY<|Lp}$@h(0Rnwlzi8Xvs>B+!|DJtVLW~RrcS7De{zE_7>DN4z`GnnZl=b6 zrU$sbi5l0PuaPOh+Mx#@eK<;?_q)6TnC=;xtrH!Ao-TAt8Ivg+B3XbPUE-jVh6JliZVjo9ttDSXGW_AnvAl{Z|US`4$J^a1q zM>m-ao= z{~4*6b{5mGVtqsCchB#|4Btz4I2MN8HFj3kTCc8fRSRwKPl%#9cu}hQvmx*(G@yX% z4$GtTZp|CRgD~yhopNP(FOQ;{#{u7W`#Pj0!S3y~S3g<0qx8>uMtem)v?w5CK`{y5 z2YXc+Ru@ahzrCWaLlTF6Ud#Ckc!b8eER8*p+kRosT4hS03U?sK4q&KpHkrE+#p?yH zAagqZw>E=LIIgZ*bu|adwm&5yeFHZEe!O4ajThnWp4UAViQHb)+D;|)6vzJjJG;C* z;pJko)&Pm+DH5p0J94h3tmpS3gYWTRcZE2%h(_Ur=HBs05gsC=@x!4=ZGrRNiYTF) zYh|S2^$4!GEe@Mm?_pB9fRC4MsNyIV4;{eOerPSj)Y%-ODQSLK>1Bs#zuM*tz%G$+|7pT`;}nx}>4j=+Z#T&mQW^vCqd4rFKs*6S87lLt;& zawwX;LTm?qokSds>gorivyWOeuKW(AV|jegXLcg(xe*1I?JC{xH@YxN{QbY$yY{H0 zvph~Yjy9%QQ}#4#&89TcrtD>=VUKk*sj)Oi5iLy<6_U^tkSx+1;}{yL--@+1d8&*}wRm-|uq2zx(~(@8f=c_kO?i zO>EEJPK8(Lhj>?3YtV%{0&AgDM4{L27nZ>3A75pqR6oif`4gt&%Ak{0HUSy?eqvr< zlu&(OEWNUM{kMt5hM0h+14h79Vitv5T(r87=11IJY3j|t$594NG&v5^iW0ZXHQCJ$ zS(!y3Rl~Q9{dmQ@oM$P53q3(o^5)1DJB!(#1(MPSBe&$lv2HWvj4}LU7Q<%VUUxjv zh#7o`^!(%cW~8LznM$jfG&K^Nzj|S&AqDGtuv)aB44NH`CH7|LXu(tvSV7hJup6@c zM{mS;s^+yQ30pKTq30`Rsg5d>Wo-EeKB-$!56pc<`~J{tx6VkvS9A=cuyZu?pm1|0 zc}+}VdQetoR3)VsT_D~L9*R6tH>wen?!Y~VL|8U z=PN|236llq#9}C(K#1BTcUT03q}?ObT#6?OAIUt{9tg5|C zXg`iVdrU(8in@;A8)fHeooW4A1$r_XyQXFdlYVgf$`p?3a?>><*42T|iAD1#c#mdm z_lLl#N2)zKY$iH};VY?#$w@a_=NPF}Dsq$6rCATuO|r}q2t6xeXI{NUZ!r34OYTNe z4kqXoCI!8LlTB{n=!Gu^JSk)WO`R_iUj=)`QJj@DN$q$eXRg?^@0`?D+k4>Ytky%- zpi$8n0UP8d?HgHoGcBt;aEDnd7v&I35XncC)h%_lUPtQtxN5sm8Qg*V~u{VOp|Mk_abVAi>4TNtQ{D=tYp z+w>QI5A*gOtVDn2*W&Z_-@4f@!)x1fBtIZB8kJsv3S}%Dcwt+g4L?_M{`bWnt48n; zj7zK)d=#$@S$%7W08W~u_5wdZ9a2qZ$u};pKbBKdWBnd%hRECF2WljK%1G#6`0uTV zFs@?CFzpRD5`mD7=z(eU>bcy?8sD1ITV=dOL;eeT;hV_Fxhb>q=Hvks_6H!%pBEldDoEJ?iTF;o^RxaAOXu75s!`gmx*j2Cn+1Q9AD z@slT>YYYN9yzY5(tt51nAd|9IS_|IH`Ph+KEy(H@ahC3lAZapKn0n)I((Wh=>}Xp| zNhBjDP9Juzbo3_0f#=Wa(+9@7Z9ECoh8x8%^{|M*j$yy+TCuqPJQNUjsDnG0DS?VvY3gmK1#^sB?TE0h_m#4_I^wmJ$>!~fsIV7i1Rkk;p3`d0my$%Z7 z$q2I!78X3THXnLL;+B%0+EeSlkm-@+-~Wa**Z-r~T4-9{)k!1`tN_$vo&ez+CkD?s z4=eQ>vewCLraqLP=E}%sl0vF{beuJX;jqgh9_b98f`Rt0S9Oq`|oL9O1T?x+qr1Zs2K)yqmB*yakl|UC?G;Z5 zxU1RQ-}T?WM1^u+j9$?x2sb&zxqm4#bd>qVdM(gV5L>?f=52j@@rk@4jv&T0vda*r z9j_`)er)0bQb<0wKYHZM_CPmh9G^|z+wYo8_q|H1A&X@`5 zJac^tx4&JHq7QRzG}9$_&7k?N!37j?mh8_OLw_s@(#eNo3u;e*I!4}C||;qanJ^XQ%@>RlK5xeDo(dNhnQ&0nftlSM4B2dKU1C6zbk;dlu* z#-t08PRIx!^&kmK=rvHLnS-gVOyWs2P6H^V;M828%0yG|P~B*JR4bxpxPHy?rC^y0 z!%RRNbBiQF?r#l(H$>!-UOl9EGfLx5ZjLUgs)~5cX79m{T6f-ZN$HB#Z(wzj(c&xy zu{c<+ES*^US?9}_otAYINO4RIMVPWfP^UMP1l8SX2dwt(CKIsFp+&Z)!t0|{no0A; z5iz;Bxg*t3al^Z_vISp?@ZsL22b>mptr3YtWyP7vlG6~(;gtpke7v^D)vwcT@75WB zb=3H^KG;`O2L&aUAYV45X=1YX4;OEY7WDFUS0O{OV7IZ<{+$G^KnAp)8^9TNvCR{)!|4VdKQ+^B41;yb#C zq4|ZGDH*2Cts_3oR%9mcw$t9s^azLJSZKvEqjRMqCj=n>I`KM)3i9HFWP`Dsdf+XZ zEsMi_L0fNrksnf5_#hdrmt9pJZg)&uQq!j&u+B8V>HQT34v`%qtxzB6wQx!>y!H%W zz4wnsflh3I7g^3jU9`XCf5~uGrbF-R`&>x?asXyR#~UY4aMbSdr1>z)UGHIalSo#s z_5fJ1tu6dVz9fQHgm&E*D8Gy#83C=Bx}Vt>r( JC>7>){ZIWd+D`xg literal 0 HcmV?d00001 diff --git a/docs/en/CLI.md b/docs/en/CLI.md index b4f2b704f2..ced5b5817f 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -123,8 +123,8 @@ abp update [options] #### Options * `--include-previews` or `-p`: Includes preview, beta and rc packages while checking the latest versions. -* `--npm`: Only updates NPM packages -* `--nuget`: Only updates NuGet packages +* `--npm`: Only updates NPM packages. +* `--nuget`: Only updates NuGet packages. ### help From a228a9de335a280aad7a648eaa60bcd659c5f729 Mon Sep 17 00:00:00 2001 From: Xeevis Date: Sun, 18 Aug 2019 23:47:09 +0200 Subject: [PATCH 091/149] Update translation --- docs/cs/CLI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cs/CLI.md b/docs/cs/CLI.md index 06d658e6c6..cbf8006ad2 100644 --- a/docs/cs/CLI.md +++ b/docs/cs/CLI.md @@ -37,7 +37,7 @@ abp new Acme.BookStore * `Acme.BookStore` je tady název řešení. * Běžná konvence je nazvat řešení stylem *VaseSpolecnost.VasProjekt*. Nicméně můžete použít i jiné pojmenování jako *VasProjekt* (jednostupňový jmenný prostor) nebo *VaseSpolecnost.VasProjekt.VasModul* (třístupňový jmenný prostor). -#### Options +#### Možnosti * `--template` nebo `-t`: Určuje název šablony. Výchozí šablona je `app`, která generuje webovou aplikaci. Dostupné šablony: * `app` (výchozí): [Aplikační šablona](Startup-Templates/Application.md). Dodatečné možnosti: From d05ad8cc1056c3e1ff92dedb6adb461ea018aa4c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 09:48:19 +0300 Subject: [PATCH 092/149] feature(core): add form-submit.directive move form-keyup-listener.directive logics to form-submit update @ngx-validate/core package version --- .../packages/core/src/lib/core.module.ts | 6 +- .../form-keyup-listener.directive.ts | 23 ------ .../lib/directives/form-submit.directive.ts | 78 +++++++++++++++++++ .../packages/core/src/lib/directives/index.ts | 2 +- .../packages/theme-shared/package.json | 2 +- 5 files changed, 83 insertions(+), 28 deletions(-) delete mode 100644 npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts create mode 100644 npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index b9979bde06..d967ae74c9 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -22,7 +22,7 @@ import { EllipsisDirective } from './directives/ellipsis.directive'; import { AutofocusDirective } from './directives/autofocus.directive'; import { InputEventDebounceDirective } from './directives/debounce.directive'; import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; -import { FormKeyupListenerDirective } from './directives/form-keyup-listener.directive'; +import { FormSubmitDirective } from './directives/form-submit.directive'; @NgModule({ imports: [ @@ -40,7 +40,7 @@ import { FormKeyupListenerDirective } from './directives/form-keyup-listener.dir DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, - FormKeyupListenerDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -57,7 +57,7 @@ import { FormKeyupListenerDirective } from './directives/form-keyup-listener.dir DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, - FormKeyupListenerDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, diff --git a/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts deleted file mode 100644 index 2c9b5d3410..0000000000 --- a/npm/ng-packs/packages/core/src/lib/directives/form-keyup-listener.directive.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Directive, ElementRef, EventEmitter, Output, OnDestroy } from '@angular/core'; -import { fromEvent } from 'rxjs'; -import { debounceTime, filter, tap } from 'rxjs/operators'; -import { takeUntilDestroy } from '../utils/rxjs-utils'; - -@Directive({ - selector: 'form[ngSubmit]', -}) -export class FormKeyupListenerDirective implements OnDestroy { - @Output() ngSubmit = new EventEmitter(); - - constructor(private elRef: ElementRef) { - fromEvent(elRef.nativeElement as HTMLElement, 'keyup') - .pipe( - debounceTime(200), - filter((key: KeyboardEvent) => key && key.key === 'Enter'), - takeUntilDestroy(this), - ) - .subscribe(() => this.ngSubmit.emit()); - } - - ngOnDestroy(): void {} -} diff --git a/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts new file mode 100644 index 0000000000..1672e6099a --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts @@ -0,0 +1,78 @@ +import { + Directive, + ElementRef, + OnDestroy, + OnInit, + Self, + ChangeDetectorRef, + HostBinding, + Input, + Output, + EventEmitter, +} from '@angular/core'; +import { FormGroupDirective, FormGroup, FormControl, ɵNgNoValidate } from '@angular/forms'; +import { fromEvent } from 'rxjs'; +import { takeUntilDestroy } from '../utils'; +import { debounceTime, filter } from 'rxjs/operators'; + +type Controls = { [key: string]: FormControl } | FormGroup[]; + +@Directive({ + selector: 'form[ngSubmit][formGroup]', +}) +export class FormSubmitDirective implements OnInit, OnDestroy { + @Input() + noValidateOnSubmit; + + @Input() + allowSubmit: boolean = true; + + constructor( + @Self() private formGroupDirective: FormGroupDirective, + private host: ElementRef, + private cdRef: ChangeDetectorRef, + ) {} + + ngOnInit() { + fromEvent(this.host.nativeElement as HTMLElement, 'keyup') + .pipe( + debounceTime(200), + filter((key: KeyboardEvent) => key && key.key === 'Enter' && this.allowSubmit), + takeUntilDestroy(this), + ) + .subscribe(() => { + this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + }); + + if (this.noValidateOnSubmit || typeof this.noValidateOnSubmit === 'string') { + return; + } + + fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this)) + .subscribe(() => { + const { form } = this.formGroupDirective; + + setDirty(form.controls as { [key: string]: FormControl }); + form.markAsDirty(); + + this.cdRef.detectChanges(); + }); + } + + ngOnDestroy(): void {} +} + +function setDirty(controls: Controls) { + if (Array.isArray(controls)) { + controls.forEach(group => { + setDirty(group.controls as { [key: string]: FormControl }); + }); + return; + } + + Object.keys(controls).forEach(key => { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + }); +} diff --git a/npm/ng-packs/packages/core/src/lib/directives/index.ts b/npm/ng-packs/packages/core/src/lib/directives/index.ts index d3da66bed4..336b6ff5ab 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/index.ts @@ -1,5 +1,5 @@ export * from './autofocus.directive'; export * from './ellipsis.directive'; -export * from './form-keyup-listener.directive'; +export * from './form-submit.directive'; export * from './permission.directive'; export * from './visibility.directive'; diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index a71bc08def..6ed4fbe8eb 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -5,7 +5,7 @@ "@abp/ng.core": "^0.8.3", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", - "@ngx-validate/core": "^0.0.4", + "@ngx-validate/core": "^0.0.5", "bootstrap": "^4.3.1", "font-awesome": "^4.7.0", "ngx-perfect-scrollbar": "^8.0.0", From 22f7acbadb207eee14e89481b67a0b52414246ca Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 09:50:48 +0300 Subject: [PATCH 093/149] docs: fix file name --- docs/en/Tutorials/Angular/Part-II.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Tutorials/Angular/Part-II.md b/docs/en/Tutorials/Angular/Part-II.md index 61e3232a1b..ed6afcb947 100644 --- a/docs/en/Tutorials/Angular/Part-II.md +++ b/docs/en/Tutorials/Angular/Part-II.md @@ -253,7 +253,7 @@ import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; export class BooksModule {} ``` -Then open the `book-list.component.html` and add `providers` as shown below: +Then open the `book-list.component.ts` and add `providers` as shown below: ```js import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; From b8ab12e33f14bd450509b2547085782af1bcefa9 Mon Sep 17 00:00:00 2001 From: vnetonline Date: Mon, 19 Aug 2019 17:06:26 +1000 Subject: [PATCH 094/149] Changes example usage information for -sp option using relative path The migration is added in the DbMigrations project so need to refer to the startup path relatively --- .../Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs index 90028ed638..a7afbfa87d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs @@ -66,7 +66,7 @@ namespace Volo.Abp.Cli.Commands sb.AppendLine(" abp add-module Volo.Blogging Adds the module to the current solution."); sb.AppendLine(" abp add-module Volo.Blogging -s Acme.BookStore Adds the module to the given solution."); sb.AppendLine(" abp add-module Volo.Blogging -s Acme.BookStore --skip-db-migrations false Adds the module to the given solution but doesn't create a database migration."); - sb.AppendLine(@" abp add-module Volo.Blogging -s Acme.BookStore -sp src\Acme.BookStore.Web\Acme.BookStore.Web.csproj Adds the module to the given solution and specify migration startup project."); + sb.AppendLine(@" abp add-module Volo.Blogging -s Acme.BookStore -sp ..\Acme.BookStore.Web\Acme.BookStore.Web.csproj Adds the module to the given solution and specify migration startup project."); sb.AppendLine(""); sb.AppendLine("See the documentation for more info: https://docs.abp.io/en/abp/latest/CLI"); From e8b8117296b6f3e63614bed3ce54f01e19f3a9ca Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 11:06:49 +0300 Subject: [PATCH 095/149] refactor: form-submit directive --- .../src/lib/directives/form-submit.directive.ts | 16 ++++++---------- .../src/lib/tenant-management.module.ts | 2 ++ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts index 1672e6099a..a3ea93a753 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts @@ -22,10 +22,7 @@ type Controls = { [key: string]: FormControl } | FormGroup[]; }) export class FormSubmitDirective implements OnInit, OnDestroy { @Input() - noValidateOnSubmit; - - @Input() - allowSubmit: boolean = true; + notValidateOnSubmit: string | boolean; constructor( @Self() private formGroupDirective: FormGroupDirective, @@ -37,19 +34,18 @@ export class FormSubmitDirective implements OnInit, OnDestroy { fromEvent(this.host.nativeElement as HTMLElement, 'keyup') .pipe( debounceTime(200), - filter((key: KeyboardEvent) => key && key.key === 'Enter' && this.allowSubmit), + filter((key: KeyboardEvent) => key && key.key === 'Enter'), takeUntilDestroy(this), ) .subscribe(() => { this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); }); - if (this.noValidateOnSubmit || typeof this.noValidateOnSubmit === 'string') { - return; - } - fromEvent(this.host.nativeElement, 'submit') - .pipe(takeUntilDestroy(this)) + .pipe( + takeUntilDestroy(this), + filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'), + ) .subscribe(() => { const { form } = this.formGroupDirective; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts b/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts index 2850111dcc..fd1e0e72e9 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts @@ -7,12 +7,14 @@ import { TableModule } from 'primeng/table'; import { TenantsComponent } from './components/tenants/tenants.component'; import { TenantManagementState } from './states/tenant-management.state'; import { TenantManagementRoutingModule } from './tenant-management-routing.module'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; @NgModule({ declarations: [TenantsComponent], imports: [ TenantManagementRoutingModule, NgxsModule.forFeature([TenantManagementState]), + NgxValidateCoreModule, CoreModule, TableModule, ThemeSharedModule, From 52a356f4e27d5550cfe16e21944d60986ef4183d Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Mon, 19 Aug 2019 12:57:27 +0300 Subject: [PATCH 096/149] feature(feature-management): create feature management module --- .../packages/feature-management/README.md | 1 + .../packages/feature-management/karma.conf.js | 32 ++++++ .../feature-management/ng-package.json | 8 ++ .../packages/feature-management/package.json | 4 + .../lib/actions/feature-management.actions.ts | 11 ++ .../src/lib/actions/index.ts | 1 + .../feature-management.component.html | 32 ++++++ .../feature-management.component.ts | 106 ++++++++++++++++++ .../src/lib/components/index.ts | 1 + .../src/lib/feature-management.module.ts | 13 +++ .../src/lib/models/feature-management.ts | 29 +++++ .../src/lib/models/index.ts | 1 + .../services/feature-management.service.ts | 35 ++++++ .../src/lib/services/index.ts | 1 + .../lib/states/feature-management.state.ts | 34 ++++++ .../src/lib/states/index.ts | 1 + .../feature-management/src/public-api.ts | 2 + .../packages/feature-management/src/test.ts | 21 ++++ .../feature-management/tsconfig.lib.json | 26 +++++ .../feature-management/tsconfig.spec.json | 17 +++ .../packages/feature-management/tslint.json | 17 +++ 21 files changed, 393 insertions(+) create mode 100644 npm/ng-packs/packages/feature-management/README.md create mode 100644 npm/ng-packs/packages/feature-management/karma.conf.js create mode 100644 npm/ng-packs/packages/feature-management/ng-package.json create mode 100644 npm/ng-packs/packages/feature-management/package.json create mode 100644 npm/ng-packs/packages/feature-management/src/lib/actions/feature-management.actions.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/actions/index.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html create mode 100644 npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/components/index.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/models/feature-management.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/models/index.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/services/feature-management.service.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/services/index.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/states/feature-management.state.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/states/index.ts create mode 100644 npm/ng-packs/packages/feature-management/src/public-api.ts create mode 100644 npm/ng-packs/packages/feature-management/src/test.ts create mode 100644 npm/ng-packs/packages/feature-management/tsconfig.lib.json create mode 100644 npm/ng-packs/packages/feature-management/tsconfig.spec.json create mode 100644 npm/ng-packs/packages/feature-management/tslint.json diff --git a/npm/ng-packs/packages/feature-management/README.md b/npm/ng-packs/packages/feature-management/README.md new file mode 100644 index 0000000000..d040ec455a --- /dev/null +++ b/npm/ng-packs/packages/feature-management/README.md @@ -0,0 +1 @@ +

     @abp/ng.feature-management

    diff --git a/npm/ng-packs/packages/feature-management/karma.conf.js b/npm/ng-packs/packages/feature-management/karma.conf.js new file mode 100644 index 0000000000..65f905a52e --- /dev/null +++ b/npm/ng-packs/packages/feature-management/karma.conf.js @@ -0,0 +1,32 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, '../../coverage/feature-management'), + reports: ['html', 'lcovonly', 'text-summary'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/npm/ng-packs/packages/feature-management/ng-package.json b/npm/ng-packs/packages/feature-management/ng-package.json new file mode 100644 index 0000000000..0293d70b2e --- /dev/null +++ b/npm/ng-packs/packages/feature-management/ng-package.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/feature-management", + "lib": { + "entryFile": "src/public-api.ts" + }, + "deleteDestPath": false +} diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json new file mode 100644 index 0000000000..f41fd28fa1 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/package.json @@ -0,0 +1,4 @@ +{ + "name": "@abp/ng.feature-management", + "version": "0.0.1" +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/actions/feature-management.actions.ts b/npm/ng-packs/packages/feature-management/src/lib/actions/feature-management.actions.ts new file mode 100644 index 0000000000..dee5da664a --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/actions/feature-management.actions.ts @@ -0,0 +1,11 @@ +import { FeatureManagement } from '../models'; + +export class GetFeatures { + static readonly type = '[FeatureManagement] Get Features'; + constructor(public payload: FeatureManagement.Provider) {} +} + +export class UpdateFeatures { + static readonly type = '[FeatureManagement] Update Features'; + constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {} +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/actions/index.ts b/npm/ng-packs/packages/feature-management/src/lib/actions/index.ts new file mode 100644 index 0000000000..66678fb322 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/actions/index.ts @@ -0,0 +1 @@ +export * from './feature-management.actions'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html new file mode 100644 index 0000000000..27cb5728f5 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html @@ -0,0 +1,32 @@ + + +

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    +
    + + + +
    +
    {{ feature.name }}
    +
    + +
    +
    + +
    +
    + +
    + + + + + +
    diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts new file mode 100644 index 0000000000..b2ab6e71cf --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -0,0 +1,106 @@ +import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; +import { Select, Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { GetFeatures, UpdateFeatures } from '../../actions'; +import { FeatureManagement } from '../../models/feature-management'; +import { FeatureManagementState } from '../../states'; +import { FormGroup, FormControl } from '@angular/forms'; +import { pluck, tap } from 'rxjs/operators'; + +@Component({ + selector: 'abp-feature-management', + templateUrl: './feature-management.component.html', +}) +export class FeatureManagementComponent implements OnChanges { + @Input() + providerKey: string; + + @Input() + providerName: string; + + protected _visible; + + @Input() + get visible(): boolean { + return this._visible; + } + + set visible(value: boolean) { + this._visible = value; + this.visibleChange.emit(value); + } + + @Output() + visibleChange = new EventEmitter(); + + @Select(FeatureManagementState.getFeatures) + features$: Observable; + + modalBusy: boolean = false; + + form: FormGroup; + + constructor(private store: Store) {} + + ngOnChanges({ visible }: SimpleChanges): void { + if (!visible) return; + + if (visible.currentValue) { + this.openModal(); + } else if (this.visible && visible.currentValue === false) { + this.visible = false; + } + } + + openModal() { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + + this.getFeatures(); + } + + getFeatures() { + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(pluck('FeatureManagementState', 'features')) + .subscribe(features => { + this.buildForm(features); + this.visible = true; + }); + } + + buildForm(features) { + const formGroupObj = {}; + + for (let i = 0; i < features.length; i++) { + formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value); + } + + this.form = new FormGroup(formGroupObj); + } + + save() { + this.modalBusy = true; + + let features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + + features = features.map((feature, i) => ({ + name: feature.name, + value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i], + })); + + this.store + .dispatch( + new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features, + }), + ) + .subscribe(() => { + this.modalBusy = false; + this.visible = false; + }); + } +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/index.ts b/npm/ng-packs/packages/feature-management/src/lib/components/index.ts new file mode 100644 index 0000000000..64f8bd0fc5 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/components/index.ts @@ -0,0 +1 @@ +export * from './feature-management/feature-management.component'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts b/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts new file mode 100644 index 0000000000..ee3eca6d42 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts @@ -0,0 +1,13 @@ +import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgModule } from '@angular/core'; +import { FeatureManagementComponent } from './components/feature-management/feature-management.component'; +import { NgxsModule } from '@ngxs/store'; +import { FeatureManagementState } from './states/feature-management.state'; + +@NgModule({ + declarations: [FeatureManagementComponent], + imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], +}) +export class FeatureManagementModule {} diff --git a/npm/ng-packs/packages/feature-management/src/lib/models/feature-management.ts b/npm/ng-packs/packages/feature-management/src/lib/models/feature-management.ts new file mode 100644 index 0000000000..05a0a28c99 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/models/feature-management.ts @@ -0,0 +1,29 @@ +export namespace FeatureManagement { + export interface State { + features: Feature[]; + } + + export interface ValueType { + name: string; + properties: object; + validator: object; + } + + export interface Feature { + name: string; + value: string; + description?: string; + valueType?: ValueType; + depth?: number; + parentName?: string; + } + + export interface Features { + features: Feature[]; + } + + export interface Provider { + providerName: string; + providerKey: string; + } +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/models/index.ts b/npm/ng-packs/packages/feature-management/src/lib/models/index.ts new file mode 100644 index 0000000000..d6ed522ae0 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/models/index.ts @@ -0,0 +1 @@ +export * from './feature-management'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management.service.ts b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management.service.ts new file mode 100644 index 0000000000..5f6c0eed6e --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management.service.ts @@ -0,0 +1,35 @@ +import { Injectable } from '@angular/core'; +import { RestService, Rest } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { FeatureManagement } from '../models'; + +@Injectable({ + providedIn: 'root', +}) +export class FeatureManagementService { + constructor(private rest: RestService, private store: Store) {} + + getFeatures(params: FeatureManagement.Provider): Observable { + const request: Rest.Request = { + method: 'GET', + url: '/api/abp/features', + params, + }; + return this.rest.request(request); + } + + updateFeatures({ + features, + providerKey, + providerName, + }: FeatureManagement.Provider & FeatureManagement.Features): Observable { + const request: Rest.Request = { + method: 'PUT', + url: '/api/abp/features', + body: { features }, + params: { providerKey, providerName }, + }; + return this.rest.request(request); + } +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/services/index.ts b/npm/ng-packs/packages/feature-management/src/lib/services/index.ts new file mode 100644 index 0000000000..10fceceafe --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/services/index.ts @@ -0,0 +1 @@ +export * from './feature-management.service'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/states/feature-management.state.ts b/npm/ng-packs/packages/feature-management/src/lib/states/feature-management.state.ts new file mode 100644 index 0000000000..a02e075bdb --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/states/feature-management.state.ts @@ -0,0 +1,34 @@ +import { Action, Selector, State, StateContext } from '@ngxs/store'; +import { tap } from 'rxjs/operators'; +import { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions'; +import { FeatureManagement } from '../models/feature-management'; +import { FeatureManagementService } from '../services/feature-management.service'; + +@State({ + name: 'FeatureManagementState', + defaults: { features: {} } as FeatureManagement.State, +}) +export class FeatureManagementState { + @Selector() + static getFeatures({ features }: FeatureManagement.State) { + return features; + } + + constructor(private featureManagementService: FeatureManagementService) {} + + @Action(GetFeatures) + getFeatures({ patchState }: StateContext, { payload }: GetFeatures) { + return this.featureManagementService.getFeatures(payload).pipe( + tap(({ features }) => + patchState({ + features, + }), + ), + ); + } + + @Action(UpdateFeatures) + updateFeatures(_, { payload }: UpdateFeatures) { + return this.featureManagementService.updateFeatures(payload); + } +} diff --git a/npm/ng-packs/packages/feature-management/src/lib/states/index.ts b/npm/ng-packs/packages/feature-management/src/lib/states/index.ts new file mode 100644 index 0000000000..5c32d87889 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/states/index.ts @@ -0,0 +1 @@ +export * from "./feature-management.state"; diff --git a/npm/ng-packs/packages/feature-management/src/public-api.ts b/npm/ng-packs/packages/feature-management/src/public-api.ts new file mode 100644 index 0000000000..047ac00914 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/public-api.ts @@ -0,0 +1,2 @@ +export * from './lib/feature-management.module'; +export * from './lib/components'; diff --git a/npm/ng-packs/packages/feature-management/src/test.ts b/npm/ng-packs/packages/feature-management/src/test.ts new file mode 100644 index 0000000000..978c64fb83 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/test.ts @@ -0,0 +1,21 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone'; +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/npm/ng-packs/packages/feature-management/tsconfig.lib.json b/npm/ng-packs/packages/feature-management/tsconfig.lib.json new file mode 100644 index 0000000000..bd23948e59 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/tsconfig.lib.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/lib", + "target": "es2015", + "declaration": true, + "inlineSources": true, + "types": [], + "lib": [ + "dom", + "es2018" + ] + }, + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true, + "enableResourceInlining": true + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/npm/ng-packs/packages/feature-management/tsconfig.spec.json b/npm/ng-packs/packages/feature-management/tsconfig.spec.json new file mode 100644 index 0000000000..16da33db07 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/tsconfig.spec.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/npm/ng-packs/packages/feature-management/tslint.json b/npm/ng-packs/packages/feature-management/tslint.json new file mode 100644 index 0000000000..8c3919ea62 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "abp", + "camelCase" + ], + "component-selector": [ + true, + "element", + "abp", + "kebab-case" + ] + } +} From 1fad9230fd78c4e66f0a54046619c4e47f9fec38 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Mon, 19 Aug 2019 12:58:02 +0300 Subject: [PATCH 097/149] feature(tenant-management): add feature-management modal to tenants component --- .../lib/components/tenants/tenants.component.html | 15 ++++++++++++++- .../lib/components/tenants/tenants.component.ts | 4 ++++ .../src/lib/tenant-management.module.ts | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html index 9972e10220..cd1abf487d 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html @@ -71,7 +71,14 @@ ngbDropdownItem (click)="onEditConnectionString(data.id)" > - {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }} + {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }} + + - + diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts index b2ab6e71cf..38219b2b08 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -11,7 +11,7 @@ import { pluck, tap } from 'rxjs/operators'; selector: 'abp-feature-management', templateUrl: './feature-management.component.html', }) -export class FeatureManagementComponent implements OnChanges { +export class FeatureManagementComponent { @Input() providerKey: string; @@ -28,6 +28,8 @@ export class FeatureManagementComponent implements OnChanges { set visible(value: boolean) { this._visible = value; this.visibleChange.emit(value); + + if (value) this.openModal(); } @Output() @@ -42,16 +44,6 @@ export class FeatureManagementComponent implements OnChanges { constructor(private store: Store) {} - ngOnChanges({ visible }: SimpleChanges): void { - if (!visible) return; - - if (visible.currentValue) { - this.openModal(); - } else if (this.visible && visible.currentValue === false) { - this.visible = false; - } - } - openModal() { if (!this.providerKey || !this.providerName) { throw new Error('Provider Key and Provider Name are required.'); @@ -66,7 +58,6 @@ export class FeatureManagementComponent implements OnChanges { .pipe(pluck('FeatureManagementState', 'features')) .subscribe(features => { this.buildForm(features); - this.visible = true; }); } From baff0c9681402bccb0039fc6b41a6accd9390896 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 14:08:29 +0300 Subject: [PATCH 101/149] feature(tenant-management): add abp/ng.feature-management to package.json --- .../tenant-management/ng-package.json | 2 +- .../packages/tenant-management/package.json | 3 ++- .../account-layout.component.html | 27 +------------------ .../account-layout.component.ts | 2 -- .../empty-layout/empty-layout.component.ts | 1 - 5 files changed, 4 insertions(+), 31 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/ng-package.json b/npm/ng-packs/packages/tenant-management/ng-package.json index e506119f69..07fbab773b 100644 --- a/npm/ng-packs/packages/tenant-management/ng-package.json +++ b/npm/ng-packs/packages/tenant-management/ng-package.json @@ -4,5 +4,5 @@ "lib": { "entryFile": "src/public-api.ts" }, - "whitelistedNonPeerDependencies": ["@abp/ng.theme.shared"] + "whitelistedNonPeerDependencies": ["@abp/ng.theme.shared", "@abp/ng.feature-management"] } diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index 73347fccd4..0e415b4e80 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -2,7 +2,8 @@ "name": "@abp/ng.tenant-management", "version": "0.8.3", "dependencies": { - "@abp/ng.theme.shared": "^0.8.3" + "@abp/ng.theme.shared": "^0.8.3", + "@abp/ng.feature-management": "^0.8.4" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.html b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.html index 00d209e02a..0680b43f9c 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.html +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.html @@ -1,26 +1 @@ - - - - - - - - - + diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.ts index e3e4d2db07..7a97b307fa 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/account-layout.component.ts @@ -8,6 +8,4 @@ import { eLayoutType } from '@abp/ng.core'; export class AccountLayoutComponent { // required for dynamic component static type = eLayoutType.account; - - isCollapsed: boolean = false; } diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/empty-layout/empty-layout.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/empty-layout/empty-layout.component.ts index 77e6f2a8e4..efc65f7598 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/empty-layout/empty-layout.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/empty-layout/empty-layout.component.ts @@ -9,6 +9,5 @@ import { eLayoutType } from '@abp/ng.core'; `, }) export class EmptyLayoutComponent { - // required for dynamic component static type = eLayoutType.empty; } From e0adc2e48f975d1529759ada814971dabdd2bdc3 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 19 Aug 2019 15:40:29 +0300 Subject: [PATCH 102/149] Update en.json --- .../AbpIoLocalization/Www/Localization/Resources/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json index 7224dab07e..cf70dafd7a 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json @@ -154,6 +154,7 @@ "Result": "Result", "SeeTheDocumentForMoreInformation": "See the {0} document for more information", "IndexPageHeroSection": "open sourceWeb Application
    Framework
    for asp.net core", - "UiFramework": "UI Framework" + "UiFramework": "UI Framework", + "EmailAddress": "Email address" } } \ No newline at end of file From b0a3a3ab146b7881d47006d8829ccd89753b38a6 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 15:48:10 +0300 Subject: [PATCH 103/149] build: feature-management --- .../dist/feature-management/README.md | 1 + .../abp-ng.feature-management.d.ts | 10 + .../abp-ng.feature-management.metadata.json | 1 + .../bundles/abp-ng.feature-management.umd.js | 596 ++++++++++++++++++ .../abp-ng.feature-management.umd.js.map | 1 + .../abp-ng.feature-management.umd.min.js | 2 + .../abp-ng.feature-management.umd.min.js.map | 1 + .../esm2015/abp-ng.feature-management.js | 14 + .../lib/actions/feature-management.actions.js | 35 + .../esm2015/lib/actions/index.js | 6 + .../feature-management.component.js | 149 +++++ .../esm2015/lib/components/index.js | 6 + .../esm2015/lib/feature-management.module.js | 20 + .../esm2015/lib/models/feature-management.js | 69 ++ .../esm2015/lib/models/index.js | 6 + .../services/feature-management.service.js | 71 +++ .../lib/states/feature-management.state.js | 80 +++ .../esm2015/lib/states/index.js | 6 + .../feature-management/esm2015/public-api.js | 7 + .../esm5/abp-ng.feature-management.js | 14 + .../lib/actions/feature-management.actions.js | 33 + .../esm5/lib/actions/index.js | 6 + .../feature-management.component.js | 167 +++++ .../esm5/lib/components/index.js | 6 + .../esm5/lib/feature-management.module.js | 24 + .../esm5/lib/models/feature-management.js | 69 ++ .../esm5/lib/models/index.js | 6 + .../services/feature-management.service.js | 78 +++ .../lib/states/feature-management.state.js | 99 +++ .../esm5/lib/states/index.js | 6 + .../feature-management/esm5/public-api.js | 7 + .../fesm2015/abp-ng.feature-management.js | 365 +++++++++++ .../fesm2015/abp-ng.feature-management.js.map | 1 + .../fesm5/abp-ng.feature-management.js | 406 ++++++++++++ .../fesm5/abp-ng.feature-management.js.map | 1 + .../actions/feature-management.actions.d.ts | 11 + .../feature-management/lib/actions/index.d.ts | 1 + .../feature-management.component.d.ts | 21 + .../lib/components/index.d.ts | 1 + .../lib/feature-management.module.d.ts | 2 + .../lib/models/feature-management.d.ts | 25 + .../feature-management/lib/models/index.d.ts | 1 + .../services/feature-management.service.d.ts | 11 + .../lib/states/feature-management.state.d.ts | 11 + .../feature-management/lib/states/index.d.ts | 1 + .../dist/feature-management/package.json | 21 + .../dist/feature-management/public-api.d.ts | 2 + .../feature-management/ng-package.json | 3 +- .../packages/feature-management/package.json | 8 +- .../packages/tenant-management/package.json | 2 +- 50 files changed, 2487 insertions(+), 3 deletions(-) create mode 100644 npm/ng-packs/dist/feature-management/README.md create mode 100644 npm/ng-packs/dist/feature-management/abp-ng.feature-management.d.ts create mode 100644 npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json create mode 100644 npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js create mode 100644 npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map create mode 100644 npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js create mode 100644 npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map create mode 100644 npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/actions/feature-management.actions.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/actions/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/components/feature-management/feature-management.component.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/components/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/feature-management.module.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/models/feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/models/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/services/feature-management.service.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/states/feature-management.state.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/states/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm2015/public-api.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/actions/feature-management.actions.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/actions/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/components/feature-management/feature-management.component.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/components/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/feature-management.module.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/models/feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/models/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/services/feature-management.service.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/states/feature-management.state.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/states/index.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/public-api.js create mode 100644 npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map create mode 100644 npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js create mode 100644 npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map create mode 100644 npm/ng-packs/dist/feature-management/lib/actions/feature-management.actions.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/actions/index.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/components/feature-management/feature-management.component.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/components/index.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/feature-management.module.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/models/feature-management.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/models/index.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/services/feature-management.service.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/states/feature-management.state.d.ts create mode 100644 npm/ng-packs/dist/feature-management/lib/states/index.d.ts create mode 100644 npm/ng-packs/dist/feature-management/package.json create mode 100644 npm/ng-packs/dist/feature-management/public-api.d.ts diff --git a/npm/ng-packs/dist/feature-management/README.md b/npm/ng-packs/dist/feature-management/README.md new file mode 100644 index 0000000000..d040ec455a --- /dev/null +++ b/npm/ng-packs/dist/feature-management/README.md @@ -0,0 +1 @@ +

     @abp/ng.feature-management

    diff --git a/npm/ng-packs/dist/feature-management/abp-ng.feature-management.d.ts b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.d.ts new file mode 100644 index 0000000000..79bee14655 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.d.ts @@ -0,0 +1,10 @@ +/** + * Generated bundle index. Do not edit. + */ +export * from './public-api'; +export { GetFeatures as ɵe, UpdateFeatures as ɵf } from './lib/actions/feature-management.actions'; +export { FeatureManagementComponent as ɵa } from './lib/components/feature-management/feature-management.component'; +export { FeatureManagement as ɵg } from './lib/models'; +export { FeatureManagementService as ɵd } from './lib/services/feature-management.service'; +export { FeatureManagementState as ɵb } from './lib/states'; +export { FeatureManagementState as ɵc } from './lib/states/feature-management.state'; diff --git a/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json new file mode 100644 index 0000000000..7510f82cae --- /dev/null +++ b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json @@ -0,0 +1 @@ +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/feature-management/feature-management.component"}],"metadata":{"FeatureManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":9,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":9,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":9,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵc"}]]}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-feature-management","template":"\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n\n"}]}],"members":{"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"features$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":37,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getFeatures"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":29}]}],"openModal":[{"__symbolic":"method"}],"getFeatures":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"FeatureManagementState","defaults":{"features":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"getFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"updateFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getFeatures":{"__symbolic":"function","parameters":["features"],"value":{"__symbolic":"reference","name":"features"}}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":10,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":56}]}],"getFeatures":[{"__symbolic":"method"}],"updateFeatures":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Provider"}]}]},"statics":{"type":"[FeatureManagement] Get Features"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/feature-management.actions"}]}]},"statics":{"type":"[FeatureManagement] Update Features"}}},"origins":{"FeatureManagementModule":"./lib/feature-management.module","ɵa":"./lib/components/feature-management/feature-management.component","ɵb":"./lib/states","ɵc":"./lib/states/feature-management.state","ɵd":"./lib/services/feature-management.service","ɵe":"./lib/actions/feature-management.actions","ɵf":"./lib/actions/feature-management.actions","ɵg":"./lib/models"},"importAs":"@abp/ng.feature-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js new file mode 100644 index 0000000000..517a026099 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js @@ -0,0 +1,596 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@angular/core'), require('@ngxs/store'), require('rxjs'), require('rxjs/operators'), require('@angular/forms')) : + typeof define === 'function' && define.amd ? define('@abp/ng.feature-management', ['exports', '@abp/ng.core', '@abp/ng.theme.shared', '@angular/core', '@ngxs/store', 'rxjs', 'rxjs/operators', '@angular/forms'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['feature-management'] = {}), global.ng_core, global.ng_theme_shared, global.ng.core, global.store, global.rxjs, global.rxjs.operators, global.ng.forms)); +}(this, function (exports, ng_core, ng_theme_shared, core, store, rxjs, operators, forms) { 'use strict'; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var GetFeatures = /** @class */ (function () { + function GetFeatures(payload) { + this.payload = payload; + } + GetFeatures.type = '[FeatureManagement] Get Features'; + return GetFeatures; + }()); + if (false) { + /** @type {?} */ + GetFeatures.type; + /** @type {?} */ + GetFeatures.prototype.payload; + } + var UpdateFeatures = /** @class */ (function () { + function UpdateFeatures(payload) { + this.payload = payload; + } + UpdateFeatures.type = '[FeatureManagement] Update Features'; + return UpdateFeatures; + }()); + if (false) { + /** @type {?} */ + UpdateFeatures.type; + /** @type {?} */ + UpdateFeatures.prototype.payload; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var FeatureManagementService = /** @class */ (function () { + function FeatureManagementService(rest, store) { + this.rest = rest; + this.store = store; + } + /** + * @param {?} params + * @return {?} + */ + FeatureManagementService.prototype.getFeatures = /** + * @param {?} params + * @return {?} + */ + function (params) { + /** @type {?} */ + var request = { + method: 'GET', + url: '/api/abp/features', + params: params, + }; + return this.rest.request(request); + }; + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementService.prototype.updateFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features, providerKey = _a.providerKey, providerName = _a.providerName; + /** @type {?} */ + var request = { + method: 'PUT', + url: '/api/abp/features', + body: { features: features }, + params: { providerKey: providerKey, providerName: providerName }, + }; + return this.rest.request(request); + }; + FeatureManagementService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + FeatureManagementService.ctorParameters = function () { return [ + { type: ng_core.RestService }, + { type: store.Store } + ]; }; + /** @nocollapse */ FeatureManagementService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function FeatureManagementService_Factory() { return new FeatureManagementService(core.ɵɵinject(ng_core.RestService), core.ɵɵinject(store.Store)); }, token: FeatureManagementService, providedIn: "root" }); + return FeatureManagementService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.rest; + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var FeatureManagementState = /** @class */ (function () { + function FeatureManagementState(featureManagementService) { + this.featureManagementService = featureManagementService; + } + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementState.getFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return features; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.getFeatures = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + return this.featureManagementService.getFeatures(payload).pipe(operators.tap((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return patchState({ + features: features, + }); + }))); + }; + /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.updateFeatures = /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + function (_, _a) { + var payload = _a.payload; + return this.featureManagementService.updateFeatures(payload); + }; + __decorate([ + store.Action(GetFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, GetFeatures]), + __metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "getFeatures", null); + __decorate([ + store.Action(UpdateFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, UpdateFeatures]), + __metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "updateFeatures", null); + __decorate([ + store.Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) + ], FeatureManagementState, "getFeatures", null); + FeatureManagementState = __decorate([ + store.State({ + name: 'FeatureManagementState', + defaults: (/** @type {?} */ ({ features: {} })), + }), + __metadata("design:paramtypes", [FeatureManagementService]) + ], FeatureManagementState); + return FeatureManagementState; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementState.prototype.featureManagementService; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var FeatureManagementComponent = /** @class */ (function () { + function FeatureManagementComponent(store) { + this.store = store; + this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; + } + Object.defineProperty(FeatureManagementComponent.prototype, "visible", { + get: /** + * @return {?} + */ + function () { + return this._visible; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._visible = value; + this.visibleChange.emit(value); + if (value) + this.openModal(); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + FeatureManagementComponent.prototype.openModal = /** + * @return {?} + */ + function () { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + this.getFeatures(); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.getFeatures = /** + * @return {?} + */ + function () { + var _this = this; + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(operators.pluck('FeatureManagementState', 'features')) + .subscribe((/** + * @param {?} features + * @return {?} + */ + function (features) { + _this.buildForm(features); + })); + }; + /** + * @param {?} features + * @return {?} + */ + FeatureManagementComponent.prototype.buildForm = /** + * @param {?} features + * @return {?} + */ + function (features) { + /** @type {?} */ + var formGroupObj = {}; + for (var i = 0; i < features.length; i++) { + formGroupObj[i] = new forms.FormControl(features[i].value === 'false' ? null : features[i].value); + } + this.form = new forms.FormGroup(formGroupObj); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.save = /** + * @return {?} + */ + function () { + var _this = this; + this.modalBusy = true; + /** @type {?} */ + var features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + features = features.map((/** + * @param {?} feature + * @param {?} i + * @return {?} + */ + function (feature, i) { return ({ + name: feature.name, + value: !_this.form.value[i] || _this.form.value[i] === 'false' ? null : _this.form.value[i], + }); })); + this.store + .dispatch(new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features: features, + })) + .subscribe((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + _this.visible = false; + })); + }; + FeatureManagementComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-feature-management', + template: "\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n\n" + }] } + ]; + /** @nocollapse */ + FeatureManagementComponent.ctorParameters = function () { return [ + { type: store.Store } + ]; }; + FeatureManagementComponent.propDecorators = { + providerKey: [{ type: core.Input }], + providerName: [{ type: core.Input }], + visible: [{ type: core.Input }], + visibleChange: [{ type: core.Output }] + }; + __decorate([ + store.Select(FeatureManagementState.getFeatures), + __metadata("design:type", rxjs.Observable) + ], FeatureManagementComponent.prototype, "features$", void 0); + return FeatureManagementComponent; + }()); + if (false) { + /** @type {?} */ + FeatureManagementComponent.prototype.providerKey; + /** @type {?} */ + FeatureManagementComponent.prototype.providerName; + /** + * @type {?} + * @protected + */ + FeatureManagementComponent.prototype._visible; + /** @type {?} */ + FeatureManagementComponent.prototype.visibleChange; + /** @type {?} */ + FeatureManagementComponent.prototype.features$; + /** @type {?} */ + FeatureManagementComponent.prototype.modalBusy; + /** @type {?} */ + FeatureManagementComponent.prototype.form; + /** + * @type {?} + * @private + */ + FeatureManagementComponent.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var FeatureManagementModule = /** @class */ (function () { + function FeatureManagementModule() { + } + FeatureManagementModule.decorators = [ + { type: core.NgModule, args: [{ + declarations: [FeatureManagementComponent], + imports: [ng_core.CoreModule, ng_theme_shared.ThemeSharedModule, store.NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], + },] } + ]; + return FeatureManagementModule; + }()); + + exports.FeatureManagementComponent = FeatureManagementComponent; + exports.FeatureManagementModule = FeatureManagementModule; + exports.ɵa = FeatureManagementComponent; + exports.ɵb = FeatureManagementState; + exports.ɵc = FeatureManagementState; + exports.ɵd = FeatureManagementService; + exports.ɵe = GetFeatures; + exports.ɵf = UpdateFeatures; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=abp-ng.feature-management.umd.js.map diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map new file mode 100644 index 0000000000..2ab31069d5 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.feature-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["Injectable","RestService","Store","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","pluck","FormControl","FormGroup","Component","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACjMD;QAEE,qBAAmB,OAAmC;YAAnC,YAAO,GAAP,OAAO,CAA4B;SAAI;QAD1C,gBAAI,GAAG,kCAAkC,CAAC;QAE5D,kBAAC;KAHD,IAGC;;;QAFC,iBAA0D;;QAC9C,8BAA0C;;AAGxD;QAEE,wBAAmB,OAAgE;YAAhE,YAAO,GAAP,OAAO,CAAyD;SAAI;QADvE,mBAAI,GAAG,qCAAqC,CAAC;QAE/D,qBAAC;KAHD,IAGC;;;QAFC,oBAA6D;;QACjD,iCAAuE;;;;;;;;;;;;ACTrF;QAUE,kCAAoB,IAAiB,EAAU,KAAY;YAAvC,SAAI,GAAJ,IAAI,CAAa;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAE/D,8CAAW;;;;QAAX,UAAY,MAAkC;;gBACtC,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,mBAAmB;gBACxB,MAAM,QAAA;aACP;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyD,OAAO,CAAC,CAAC;SAC3F;;;;;QAED,iDAAc;;;;QAAd,UAAe,EAI2C;gBAHxD,sBAAQ,EACR,4BAAW,EACX,8BAAY;;gBAEN,OAAO,GAA6C;gBACxD,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,mBAAmB;gBACxB,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE;gBAClB,MAAM,EAAE,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE;aACtC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmC,OAAO,CAAC,CAAC;SACrE;;oBA3BFA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAPQC,mBAAW;oBACXC,WAAK;;;uCAFd;KAMA,IA4BC;;;;;;QAxBa,wCAAyB;;;;;QAAE,yCAAoB;;;;;;;;QCM3D,gCAAoB,wBAAkD;YAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;SAAI;;;;;QAJnE,kCAAW;;;;QAAlB,UAAmB,EAAqC;gBAAnC,sBAAQ;YAC3B,OAAO,QAAQ,CAAC;SACjB;;;;;;QAKD,4CAAW;;;;;QAAX,UAAY,EAAqD,EAAE,EAAwB;gBAA7E,0BAAU;gBAA6C,oBAAO;YAC1E,OAAO,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5DC,aAAG;;;;YAAC,UAAC,EAAY;oBAAV,sBAAQ;gBACb,OAAA,UAAU,CAAC;oBACT,QAAQ,UAAA;iBACT,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,+CAAc;;;;;QAAd,UAAe,CAAC,EAAE,EAA2B;gBAAzB,oBAAO;YACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAC9D;QAbDC;YADCC,YAAM,CAAC,WAAW,CAAC;;qDAC4D,WAAW;;iEAQ1F;QAGDD;YADCC,YAAM,CAAC,cAAc,CAAC;;qDACQ,cAAc;;oEAE5C;QApBDD;YADCE,cAAQ,EAAE;;;;uDAGV;QAJU,sBAAsB;YAJlCC,WAAK,CAA0B;gBAC9B,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,qBAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAA2B;aACtD,CAAC;6CAO8C,wBAAwB;WAN3D,sBAAsB,CAuBlC;QAAD,6BAAC;KAAA,IAAA;;;;;;QAjBa,0DAA0D;;;;;;;;;;;;;QC4BtE,oCAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YAThC,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAK5C,cAAS,GAAY,KAAK,CAAC;SAIS;QAtBpC,sBACI,+CAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAc;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE/B,IAAI,KAAK;oBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aAC7B;;;WAPA;;;;QAqBD,8CAAS;;;QAAT;YACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;QAED,gDAAW;;;QAAX;YAAA,iBAOC;YANC,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;iBAC7F,IAAI,CAACC,eAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;iBACjD,SAAS;;;;YAAC,UAAA,QAAQ;gBACjB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC1B,EAAC,CAAC;SACN;;;;;QAED,8CAAS;;;;QAAT,UAAU,QAAQ;;gBACV,YAAY,GAAG,EAAE;YAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAIC,iBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC7F;YAED,IAAI,CAAC,IAAI,GAAG,IAAIC,eAAS,CAAC,YAAY,CAAC,CAAC;SACzC;;;;QAED,yCAAI;;;QAAJ;YAAA,iBAsBC;YArBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAElB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAE5E,QAAQ,GAAG,QAAQ,CAAC,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,CAAC,IAAK,QAAC;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACzF,IAAC,EAAC,CAAC;YAEJ,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAI,cAAc,CAAC;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,UAAA;aACT,CAAC,CACH;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAC,CAAC;SACN;;oBAtFFC,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,wvCAAkD;qBACnD;;;;oBAXgBV,WAAK;;;kCAanBW,UAAK;mCAGLA,UAAK;8BAKLA,UAAK;oCAYLC,WAAM;;QAIPV;YADCW,YAAM,CAAC,sBAAsB,CAAC,WAAW,CAAC;sCAChCC,eAAU;qEAA8B;QA0DrD,iCAAC;KAvFD,IAuFC;;;QAlFC,iDACoB;;QAEpB,kDACqB;;;;;QAErB,8CAAmB;;QAcnB,mDAC4C;;QAE5C,+CACmD;;QAEnD,+CAA2B;;QAE3B,0CAAgB;;;;;QAEJ,2CAAoB;;;;;;;AC5ClC;QAOA;SAKuC;;oBALtCC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;wBAC1C,OAAO,EAAE,CAACC,kBAAU,EAAEC,iCAAiB,EAAEC,gBAAU,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBACzF,OAAO,EAAE,CAAC,0BAA0B,CAAC;qBACtC;;QACqC,8BAAC;KALvC;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js new file mode 100644 index 0000000000..28befa0821 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@abp/ng.feature-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","@angular/forms"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["feature-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ng.forms)}(this,function(e,t,r,n,a,o,i,u){"use strict";function s(e,t,r,n){var a,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(i=(o<3?a(i):o>3?a(t,r,i):a(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var c=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Get Features",e}();var f=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Update Features",e}();var l=function(){function e(e,t){this.rest=e,this.store=t}return e.prototype.getFeatures=function(e){var t={method:"GET",url:"/api/abp/features",params:e};return this.rest.request(t)},e.prototype.updateFeatures=function(e){var t={method:"PUT",url:"/api/abp/features",body:{features:e.features},params:{providerKey:e.providerKey,providerName:e.providerName}};return this.rest.request(t)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService},{type:a.Store}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService),n.ɵɵinject(a.Store))},token:e,providedIn:"root"}),e}();var d=function(){function e(e){this.featureManagementService=e}return e.getFeatures=function(e){return e.features},e.prototype.getFeatures=function(e,t){var r=e.patchState,n=t.payload;return this.featureManagementService.getFeatures(n).pipe(i.tap(function(e){var t=e.features;return r({features:t})}))},e.prototype.updateFeatures=function(e,t){var r=t.payload;return this.featureManagementService.updateFeatures(r)},s([a.Action(c),p("design:type",Function),p("design:paramtypes",[Object,c]),p("design:returntype",void 0)],e.prototype,"getFeatures",null),s([a.Action(f),p("design:type",Function),p("design:paramtypes",[Object,f]),p("design:returntype",void 0)],e.prototype,"updateFeatures",null),s([a.Selector(),p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",void 0)],e,"getFeatures",null),e=s([a.State({name:"FeatureManagementState",defaults:{features:{}}}),p("design:paramtypes",[l])],e)}();var m=function(){function e(e){this.store=e,this.visibleChange=new n.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e),e&&this.openModal()},enumerable:!0,configurable:!0}),e.prototype.openModal=function(){if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.getFeatures()},e.prototype.getFeatures=function(){var e=this;this.store.dispatch(new c({providerKey:this.providerKey,providerName:this.providerName})).pipe(i.pluck("FeatureManagementState","features")).subscribe(function(t){e.buildForm(t)})},e.prototype.buildForm=function(e){for(var t={},r=0;r\n \n

    {{ \'AbpTenantManagement::Permission:ManageFeatures\' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n\n \n \n \n {{ \'AbpFeatureManagement::Save\' | abpLocalization }}\n \n \n\n'}]}],e.ctorParameters=function(){return[{type:a.Store}]},e.propDecorators={providerKey:[{type:n.Input}],providerName:[{type:n.Input}],visible:[{type:n.Input}],visibleChange:[{type:n.Output}]},s([a.Select(d.getFeatures),p("design:type",o.Observable)],e.prototype,"features$",void 0),e}();var g=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[m],imports:[t.CoreModule,r.ThemeSharedModule,a.NgxsModule.forFeature([d])],exports:[m]}]}],e}();e.FeatureManagementComponent=m,e.FeatureManagementModule=g,e.ɵa=m,e.ɵb=d,e.ɵc=d,e.ɵd=l,e.ɵe=c,e.ɵf=f,Object.defineProperty(e,"__esModule",{value:!0})}); +//# sourceMappingURL=abp-ng.feature-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map new file mode 100644 index 0000000000..aeaeeb062f --- /dev/null +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetFeatures","payload","this","type","UpdateFeatures","FeatureManagementService","rest","store","prototype","getFeatures","params","request","method","url","updateFeatures","_a","body","features","providerKey","providerName","Injectable","args","providedIn","RestService","Store","FeatureManagementState","featureManagementService","_b","patchState","pipe","tap","_","tslib_1.__decorate","Action","Selector","State","name","defaults","FeatureManagementComponent","visibleChange","EventEmitter","modalBusy","_visible","value","emit","openModal","Error","_this","dispatch","pluck","subscribe","buildForm","formGroupObj","FormControl","form","FormGroup","save","selectSnapshot","map","feature","visible","Component","selector","template","Input","Output","Select","Observable","FeatureManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js new file mode 100644 index 0000000000..c84f215508 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js @@ -0,0 +1,14 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * Generated bundle index. Do not edit. + */ +export { FeatureManagementModule, FeatureManagementComponent } from './public-api'; +export { GetFeatures as ɵe, UpdateFeatures as ɵf } from './lib/actions/feature-management.actions'; +export { FeatureManagementComponent as ɵa } from './lib/components/feature-management/feature-management.component'; +export { FeatureManagementService as ɵd } from './lib/services/feature-management.service'; +export { FeatureManagementState as ɵb } from './lib/states'; +export { FeatureManagementState as ɵc } from './lib/states/feature-management.state'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb0VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/actions/feature-management.actions.js b/npm/ng-packs/dist/feature-management/esm2015/lib/actions/feature-management.actions.js new file mode 100644 index 0000000000..741e4b7db2 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/actions/feature-management.actions.js @@ -0,0 +1,35 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export class GetFeatures { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +GetFeatures.type = '[FeatureManagement] Get Features'; +if (false) { + /** @type {?} */ + GetFeatures.type; + /** @type {?} */ + GetFeatures.prototype.payload; +} +export class UpdateFeatures { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +UpdateFeatures.type = '[FeatureManagement] Update Features'; +if (false) { + /** @type {?} */ + UpdateFeatures.type; + /** @type {?} */ + UpdateFeatures.prototype.payload; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2ZlYXR1cmUtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sV0FBVzs7OztJQUV0QixZQUFtQixPQUFtQztRQUFuQyxZQUFPLEdBQVAsT0FBTyxDQUE0QjtJQUFHLENBQUM7O0FBRDFDLGdCQUFJLEdBQUcsa0NBQWtDLENBQUM7OztJQUExRCxpQkFBMEQ7O0lBQzlDLDhCQUEwQzs7QUFHeEQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFFekIsWUFBbUIsT0FBZ0U7UUFBaEUsWUFBTyxHQUFQLE9BQU8sQ0FBeUQ7SUFBRyxDQUFDOztBQUR2RSxtQkFBSSxHQUFHLHFDQUFxQyxDQUFDOzs7SUFBN0Qsb0JBQTZEOztJQUNqRCxpQ0FBdUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBHZXRGZWF0dXJlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tGZWF0dXJlTWFuYWdlbWVudF0gR2V0IEZlYXR1cmVzJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEZlYXR1cmVNYW5hZ2VtZW50LlByb3ZpZGVyKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlRmVhdHVyZXMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbRmVhdHVyZU1hbmFnZW1lbnRdIFVwZGF0ZSBGZWF0dXJlcyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBGZWF0dXJlTWFuYWdlbWVudC5Qcm92aWRlciAmIEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/actions/index.js b/npm/ng-packs/dist/feature-management/esm2015/lib/actions/index.js new file mode 100644 index 0000000000..85625dd355 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/actions/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { GetFeatures, UpdateFeatures } from './feature-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw0Q0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/components/feature-management/feature-management.component.js b/npm/ng-packs/dist/feature-management/esm2015/lib/components/feature-management/feature-management.component.js new file mode 100644 index 0000000000..b3f483e624 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/components/feature-management/feature-management.component.js @@ -0,0 +1,149 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { Select, Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { GetFeatures, UpdateFeatures } from '../../actions'; +import { FeatureManagementState } from '../../states'; +import { FormGroup, FormControl } from '@angular/forms'; +import { pluck } from 'rxjs/operators'; +export class FeatureManagementComponent { + /** + * @param {?} store + */ + constructor(store) { + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + /** + * @return {?} + */ + get visible() { + return this._visible; + } + /** + * @param {?} value + * @return {?} + */ + set visible(value) { + this._visible = value; + this.visibleChange.emit(value); + if (value) + this.openModal(); + } + /** + * @return {?} + */ + openModal() { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + this.getFeatures(); + } + /** + * @return {?} + */ + getFeatures() { + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(pluck('FeatureManagementState', 'features')) + .subscribe((/** + * @param {?} features + * @return {?} + */ + features => { + this.buildForm(features); + })); + } + /** + * @param {?} features + * @return {?} + */ + buildForm(features) { + /** @type {?} */ + const formGroupObj = {}; + for (let i = 0; i < features.length; i++) { + formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value); + } + this.form = new FormGroup(formGroupObj); + } + /** + * @return {?} + */ + save() { + this.modalBusy = true; + /** @type {?} */ + let features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + features = features.map((/** + * @param {?} feature + * @param {?} i + * @return {?} + */ + (feature, i) => ({ + name: feature.name, + value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i], + }))); + this.store + .dispatch(new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features, + })) + .subscribe((/** + * @return {?} + */ + () => { + this.modalBusy = false; + this.visible = false; + })); + } +} +FeatureManagementComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-feature-management', + template: "\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n\n" + }] } +]; +/** @nocollapse */ +FeatureManagementComponent.ctorParameters = () => [ + { type: Store } +]; +FeatureManagementComponent.propDecorators = { + providerKey: [{ type: Input }], + providerName: [{ type: Input }], + visible: [{ type: Input }], + visibleChange: [{ type: Output }] +}; +tslib_1.__decorate([ + Select(FeatureManagementState.getFeatures), + tslib_1.__metadata("design:type", Observable) +], FeatureManagementComponent.prototype, "features$", void 0); +if (false) { + /** @type {?} */ + FeatureManagementComponent.prototype.providerKey; + /** @type {?} */ + FeatureManagementComponent.prototype.providerName; + /** + * @type {?} + * @protected + */ + FeatureManagementComponent.prototype._visible; + /** @type {?} */ + FeatureManagementComponent.prototype.visibleChange; + /** @type {?} */ + FeatureManagementComponent.prototype.features$; + /** @type {?} */ + FeatureManagementComponent.prototype.modalBusy; + /** @type {?} */ + FeatureManagementComponent.prototype.form; + /** + * @type {?} + * @private + */ + FeatureManagementComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQU01QyxNQUFNLE9BQU8sMEJBQTBCOzs7O0lBK0JyQyxZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQVRoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLNUMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUlRLENBQUM7Ozs7SUF0QnBDLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsSUFBSSxLQUFLO1lB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Y25CLG1EQUM0Qzs7SUFFNUMsK0NBQ21EOztJQUVuRCwrQ0FBMkI7O0lBRTNCLDBDQUFnQjs7Ozs7SUFFSiwyQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXMsIFVwZGF0ZUZlYXR1cmVzIH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudCB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGx1Y2ssIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWZlYXR1cmUtbWFuYWdlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChGZWF0dXJlTWFuYWdlbWVudFN0YXRlLmdldEZlYXR1cmVzKVxuICBmZWF0dXJlcyQ6IE9ic2VydmFibGU8RmVhdHVyZU1hbmFnZW1lbnQuRmVhdHVyZVtdPjtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLmdldEZlYXR1cmVzKCk7XG4gIH1cblxuICBnZXRGZWF0dXJlcygpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldEZlYXR1cmVzKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZScsICdmZWF0dXJlcycpKVxuICAgICAgLnN1YnNjcmliZShmZWF0dXJlcyA9PiB7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKGZlYXR1cmVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYnVpbGRGb3JtKGZlYXR1cmVzKSB7XG4gICAgY29uc3QgZm9ybUdyb3VwT2JqID0ge307XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZlYXR1cmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3JtR3JvdXBPYmpbaV0gPSBuZXcgRm9ybUNvbnRyb2woZmVhdHVyZXNbaV0udmFsdWUgPT09ICdmYWxzZScgPyBudWxsIDogZmVhdHVyZXNbaV0udmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwT2JqKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgbGV0IGZlYXR1cmVzID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGZWF0dXJlTWFuYWdlbWVudFN0YXRlLmdldEZlYXR1cmVzKTtcblxuICAgIGZlYXR1cmVzID0gZmVhdHVyZXMubWFwKChmZWF0dXJlLCBpKSA9PiAoe1xuICAgICAgbmFtZTogZmVhdHVyZS5uYW1lLFxuICAgICAgdmFsdWU6ICF0aGlzLmZvcm0udmFsdWVbaV0gfHwgdGhpcy5mb3JtLnZhbHVlW2ldID09PSAnZmFsc2UnID8gbnVsbCA6IHRoaXMuZm9ybS52YWx1ZVtpXSxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBVcGRhdGVGZWF0dXJlcyh7XG4gICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICBmZWF0dXJlcyxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/components/index.js b/npm/ng-packs/dist/feature-management/esm2015/lib/components/index.js new file mode 100644 index 0000000000..6b85ebc3c5 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/components/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementComponent } from './feature-management/feature-management.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/feature-management.module.js b/npm/ng-packs/dist/feature-management/esm2015/lib/feature-management.module.js new file mode 100644 index 0000000000..5142e83ff3 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/feature-management.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgModule } from '@angular/core'; +import { FeatureManagementComponent } from './components/feature-management/feature-management.component'; +import { NgxsModule } from '@ngxs/store'; +import { FeatureManagementState } from './states/feature-management.state'; +export class FeatureManagementModule { +} +FeatureManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [FeatureManagementComponent], + imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], + },] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2ZlYXR1cmUtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTzNFLE1BQU0sT0FBTyx1QkFBdUI7OztZQUxuQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN6RixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVhdHVyZU1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuL3N0YXRlcy9mZWF0dXJlLW1hbmFnZW1lbnQuc3RhdGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBUaGVtZVNoYXJlZE1vZHVsZSwgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtGZWF0dXJlTWFuYWdlbWVudFN0YXRlXSldLFxuICBleHBvcnRzOiBbRmVhdHVyZU1hbmFnZW1lbnRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTWFuYWdlbWVudE1vZHVsZSB7fVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/models/feature-management.js b/npm/ng-packs/dist/feature-management/esm2015/lib/models/feature-management.js new file mode 100644 index 0000000000..0305b2db6b --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/models/feature-management.js @@ -0,0 +1,69 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export var FeatureManagement; +(function (FeatureManagement) { + /** + * @record + */ + function State() { } + FeatureManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.features; + } + /** + * @record + */ + function ValueType() { } + FeatureManagement.ValueType = ValueType; + if (false) { + /** @type {?} */ + ValueType.prototype.name; + /** @type {?} */ + ValueType.prototype.properties; + /** @type {?} */ + ValueType.prototype.validator; + } + /** + * @record + */ + function Feature() { } + FeatureManagement.Feature = Feature; + if (false) { + /** @type {?} */ + Feature.prototype.name; + /** @type {?} */ + Feature.prototype.value; + /** @type {?|undefined} */ + Feature.prototype.description; + /** @type {?|undefined} */ + Feature.prototype.valueType; + /** @type {?|undefined} */ + Feature.prototype.depth; + /** @type {?|undefined} */ + Feature.prototype.parentName; + } + /** + * @record + */ + function Features() { } + FeatureManagement.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.features; + } + /** + * @record + */ + function Provider() { } + FeatureManagement.Provider = Provider; + if (false) { + /** @type {?} */ + Provider.prototype.providerName; + /** @type {?} */ + Provider.prototype.providerKey; + } +})(FeatureManagement || (FeatureManagement = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2ZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxLQUFXLGlCQUFpQixDQTRCakM7QUE1QkQsV0FBaUIsaUJBQWlCOzs7O0lBQ2hDLG9CQUVDOzs7O1FBREMseUJBQW9COzs7OztJQUd0Qix3QkFJQzs7OztRQUhDLHlCQUFhOztRQUNiLCtCQUFtQjs7UUFDbkIsOEJBQWtCOzs7OztJQUdwQixzQkFPQzs7OztRQU5DLHVCQUFhOztRQUNiLHdCQUFjOztRQUNkLDhCQUFxQjs7UUFDckIsNEJBQXNCOztRQUN0Qix3QkFBZTs7UUFDZiw2QkFBb0I7Ozs7O0lBR3RCLHVCQUVDOzs7O1FBREMsNEJBQW9COzs7OztJQUd0Qix1QkFHQzs7OztRQUZDLGdDQUFxQjs7UUFDckIsK0JBQW9COztBQUV4QixDQUFDLEVBNUJnQixpQkFBaUIsS0FBakIsaUJBQWlCLFFBNEJqQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBuYW1lc3BhY2UgRmVhdHVyZU1hbmFnZW1lbnQge1xuICBleHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgICBmZWF0dXJlczogRmVhdHVyZVtdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBWYWx1ZVR5cGUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwcm9wZXJ0aWVzOiBvYmplY3Q7XG4gICAgdmFsaWRhdG9yOiBvYmplY3Q7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHZhbHVlVHlwZT86IFZhbHVlVHlwZTtcbiAgICBkZXB0aD86IG51bWJlcjtcbiAgICBwYXJlbnROYW1lPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlcyB7XG4gICAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXIge1xuICAgIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuICAgIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/models/index.js b/npm/ng-packs/dist/feature-management/esm2015/lib/models/index.js new file mode 100644 index 0000000000..051244297f --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/models/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export {} from './feature-management'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGVBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbWFuYWdlbWVudCc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/services/feature-management.service.js b/npm/ng-packs/dist/feature-management/esm2015/lib/services/feature-management.service.js new file mode 100644 index 0000000000..7a09704674 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/services/feature-management.service.js @@ -0,0 +1,71 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; +import * as i0 from "@angular/core"; +import * as i1 from "@abp/ng.core"; +import * as i2 from "@ngxs/store"; +export class FeatureManagementService { + /** + * @param {?} rest + * @param {?} store + */ + constructor(rest, store) { + this.rest = rest; + this.store = store; + } + /** + * @param {?} params + * @return {?} + */ + getFeatures(params) { + /** @type {?} */ + const request = { + method: 'GET', + url: '/api/abp/features', + params, + }; + return this.rest.request(request); + } + /** + * @param {?} __0 + * @return {?} + */ + updateFeatures({ features, providerKey, providerName, }) { + /** @type {?} */ + const request = { + method: 'PUT', + url: '/api/abp/features', + body: { features }, + params: { providerKey, providerName }, + }; + return this.rest.request(request); + } +} +FeatureManagementService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } +]; +/** @nocollapse */ +FeatureManagementService.ctorParameters = () => [ + { type: RestService }, + { type: Store } +]; +/** @nocollapse */ FeatureManagementService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function FeatureManagementService_Factory() { return new FeatureManagementService(i0.ɵɵinject(i1.RestService), i0.ɵɵinject(i2.Store)); }, token: FeatureManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.rest; + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9mZWF0dXJlLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFPcEMsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7SUFDbkMsWUFBb0IsSUFBaUIsRUFBVSxLQUFZO1FBQXZDLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFFL0QsV0FBVyxDQUFDLE1BQWtDOztjQUN0QyxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixNQUFNO1NBQ1A7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF5RCxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxFQUNiLFFBQVEsRUFDUixXQUFXLEVBQ1gsWUFBWSxHQUM0Qzs7Y0FDbEQsT0FBTyxHQUE2QztZQUN4RCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxtQkFBbUI7WUFDeEIsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7U0FDdEM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFtQyxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7WUEzQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBUFEsV0FBVztZQUNYLEtBQUs7Ozs7Ozs7O0lBUUEsd0NBQXlCOzs7OztJQUFFLHlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0IH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmVhdHVyZU1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZU1hbmFnZW1lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgZ2V0RmVhdHVyZXMocGFyYW1zOiBGZWF0dXJlTWFuYWdlbWVudC5Qcm92aWRlcik6IE9ic2VydmFibGU8RmVhdHVyZU1hbmFnZW1lbnQuRmVhdHVyZXM+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnL2FwaS9hYnAvZmVhdHVyZXMnLFxuICAgICAgcGFyYW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PEZlYXR1cmVNYW5hZ2VtZW50LlByb3ZpZGVyLCBGZWF0dXJlTWFuYWdlbWVudC5GZWF0dXJlcz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVGZWF0dXJlcyh7XG4gICAgZmVhdHVyZXMsXG4gICAgcHJvdmlkZXJLZXksXG4gICAgcHJvdmlkZXJOYW1lLFxuICB9OiBGZWF0dXJlTWFuYWdlbWVudC5Qcm92aWRlciAmIEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmw6ICcvYXBpL2FicC9mZWF0dXJlcycsXG4gICAgICBib2R5OiB7IGZlYXR1cmVzIH0sXG4gICAgICBwYXJhbXM6IHsgcHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZSB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzLCBudWxsPihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/states/feature-management.state.js b/npm/ng-packs/dist/feature-management/esm2015/lib/states/feature-management.state.js new file mode 100644 index 0000000000..87e67282c2 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/states/feature-management.state.js @@ -0,0 +1,80 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Action, Selector, State } from '@ngxs/store'; +import { tap } from 'rxjs/operators'; +import { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions'; +import { FeatureManagementService } from '../services/feature-management.service'; +let FeatureManagementState = class FeatureManagementState { + /** + * @param {?} featureManagementService + */ + constructor(featureManagementService) { + this.featureManagementService = featureManagementService; + } + /** + * @param {?} __0 + * @return {?} + */ + static getFeatures({ features }) { + return features; + } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + getFeatures({ patchState }, { payload }) { + return this.featureManagementService.getFeatures(payload).pipe(tap((/** + * @param {?} __0 + * @return {?} + */ + ({ features }) => patchState({ + features, + })))); + } + /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + updateFeatures(_, { payload }) { + return this.featureManagementService.updateFeatures(payload); + } +}; +tslib_1.__decorate([ + Action(GetFeatures), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, GetFeatures]), + tslib_1.__metadata("design:returntype", void 0) +], FeatureManagementState.prototype, "getFeatures", null); +tslib_1.__decorate([ + Action(UpdateFeatures), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, UpdateFeatures]), + tslib_1.__metadata("design:returntype", void 0) +], FeatureManagementState.prototype, "updateFeatures", null); +tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", void 0) +], FeatureManagementState, "getFeatures", null); +FeatureManagementState = tslib_1.__decorate([ + State({ + name: 'FeatureManagementState', + defaults: (/** @type {?} */ ({ features: {} })), + }), + tslib_1.__metadata("design:paramtypes", [FeatureManagementService]) +], FeatureManagementState); +export { FeatureManagementState }; +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementState.prototype.featureManagementService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL2ZlYXR1cmUtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7SUFNckUsc0JBQXNCLFNBQXRCLHNCQUFzQjs7OztJQU1qQyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7Ozs7O0lBSjFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQTJCO1FBQ3RELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7OztJQUtELFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBeUMsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUN6RixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHOzs7O1FBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsVUFBVSxDQUFDO1lBQ1QsUUFBUTtTQUNULENBQUMsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCxjQUFjLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFrQjtRQUMzQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGLENBQUE7QUFkQztJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUM0RCxXQUFXOzt5REFRMUY7QUFHRDtJQURDLE1BQU0sQ0FBQyxjQUFjLENBQUM7O3FEQUNRLGNBQWM7OzREQUU1QztBQXBCRDtJQURDLFFBQVEsRUFBRTs7OzsrQ0FHVjtBQUpVLHNCQUFzQjtJQUpsQyxLQUFLLENBQTBCO1FBQzlCLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLG1CQUFBLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUEyQjtLQUN0RCxDQUFDOzZDQU84Qyx3QkFBd0I7R0FOM0Qsc0JBQXNCLENBdUJsQztTQXZCWSxzQkFBc0I7Ozs7OztJQU1yQiwwREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0IH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXMsIFVwZGF0ZUZlYXR1cmVzIH0gZnJvbSAnLi4vYWN0aW9ucy9mZWF0dXJlLW1hbmFnZW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscy9mZWF0dXJlLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuXG5AU3RhdGU8RmVhdHVyZU1hbmFnZW1lbnQuU3RhdGU+KHtcbiAgbmFtZTogJ0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUnLFxuICBkZWZhdWx0czogeyBmZWF0dXJlczoge30gfSBhcyBGZWF0dXJlTWFuYWdlbWVudC5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRGZWF0dXJlcyh7IGZlYXR1cmVzIH06IEZlYXR1cmVNYW5hZ2VtZW50LlN0YXRlKSB7XG4gICAgcmV0dXJuIGZlYXR1cmVzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmZWF0dXJlTWFuYWdlbWVudFNlcnZpY2U6IEZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSkge31cblxuICBAQWN0aW9uKEdldEZlYXR1cmVzKVxuICBnZXRGZWF0dXJlcyh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PEZlYXR1cmVNYW5hZ2VtZW50LlN0YXRlPiwgeyBwYXlsb2FkIH06IEdldEZlYXR1cmVzKSB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZU1hbmFnZW1lbnRTZXJ2aWNlLmdldEZlYXR1cmVzKHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoKHsgZmVhdHVyZXMgfSkgPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgZmVhdHVyZXMsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVGZWF0dXJlcylcbiAgdXBkYXRlRmVhdHVyZXMoXywgeyBwYXlsb2FkIH06IFVwZGF0ZUZlYXR1cmVzKSB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZU1hbmFnZW1lbnRTZXJ2aWNlLnVwZGF0ZUZlYXR1cmVzKHBheWxvYWQpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/states/index.js b/npm/ng-packs/dist/feature-management/esm2015/lib/states/index.js new file mode 100644 index 0000000000..9b8a3b3a43 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/states/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementState } from "./feature-management.state"; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlXCI7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/public-api.js b/npm/ng-packs/dist/feature-management/esm2015/public-api.js new file mode 100644 index 0000000000..2ca23efea6 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/public-api.js @@ -0,0 +1,7 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementModule } from './lib/feature-management.module'; +export { FeatureManagementComponent } from './lib/components'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js new file mode 100644 index 0000000000..c84f215508 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js @@ -0,0 +1,14 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * Generated bundle index. Do not edit. + */ +export { FeatureManagementModule, FeatureManagementComponent } from './public-api'; +export { GetFeatures as ɵe, UpdateFeatures as ɵf } from './lib/actions/feature-management.actions'; +export { FeatureManagementComponent as ɵa } from './lib/components/feature-management/feature-management.component'; +export { FeatureManagementService as ɵd } from './lib/services/feature-management.service'; +export { FeatureManagementState as ɵb } from './lib/states'; +export { FeatureManagementState as ɵc } from './lib/states/feature-management.state'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb0VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/actions/feature-management.actions.js b/npm/ng-packs/dist/feature-management/esm5/lib/actions/feature-management.actions.js new file mode 100644 index 0000000000..6313fd45f3 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/actions/feature-management.actions.js @@ -0,0 +1,33 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var GetFeatures = /** @class */ (function () { + function GetFeatures(payload) { + this.payload = payload; + } + GetFeatures.type = '[FeatureManagement] Get Features'; + return GetFeatures; +}()); +export { GetFeatures }; +if (false) { + /** @type {?} */ + GetFeatures.type; + /** @type {?} */ + GetFeatures.prototype.payload; +} +var UpdateFeatures = /** @class */ (function () { + function UpdateFeatures(payload) { + this.payload = payload; + } + UpdateFeatures.type = '[FeatureManagement] Update Features'; + return UpdateFeatures; +}()); +export { UpdateFeatures }; +if (false) { + /** @type {?} */ + UpdateFeatures.type; + /** @type {?} */ + UpdateFeatures.prototype.payload; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2ZlYXR1cmUtbWFuYWdlbWVudC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQUVFLHFCQUFtQixPQUFtQztRQUFuQyxZQUFPLEdBQVAsT0FBTyxDQUE0QjtJQUFHLENBQUM7SUFEMUMsZ0JBQUksR0FBRyxrQ0FBa0MsQ0FBQztJQUU1RCxrQkFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFdBQVc7OztJQUN0QixpQkFBMEQ7O0lBQzlDLDhCQUEwQzs7QUFHeEQ7SUFFRSx3QkFBbUIsT0FBZ0U7UUFBaEUsWUFBTyxHQUFQLE9BQU8sQ0FBeUQ7SUFBRyxDQUFDO0lBRHZFLG1CQUFJLEdBQUcscUNBQXFDLENBQUM7SUFFL0QscUJBQUM7Q0FBQSxBQUhELElBR0M7U0FIWSxjQUFjOzs7SUFDekIsb0JBQTZEOztJQUNqRCxpQ0FBdUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBHZXRGZWF0dXJlcyB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tGZWF0dXJlTWFuYWdlbWVudF0gR2V0IEZlYXR1cmVzJztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEZlYXR1cmVNYW5hZ2VtZW50LlByb3ZpZGVyKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlRmVhdHVyZXMge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbRmVhdHVyZU1hbmFnZW1lbnRdIFVwZGF0ZSBGZWF0dXJlcyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBGZWF0dXJlTWFuYWdlbWVudC5Qcm92aWRlciAmIEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/actions/index.js b/npm/ng-packs/dist/feature-management/esm5/lib/actions/index.js new file mode 100644 index 0000000000..85625dd355 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/actions/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { GetFeatures, UpdateFeatures } from './feature-management.actions'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw0Q0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/components/feature-management/feature-management.component.js b/npm/ng-packs/dist/feature-management/esm5/lib/components/feature-management/feature-management.component.js new file mode 100644 index 0000000000..fce9f8c488 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/components/feature-management/feature-management.component.js @@ -0,0 +1,167 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { Select, Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { GetFeatures, UpdateFeatures } from '../../actions'; +import { FeatureManagementState } from '../../states'; +import { FormGroup, FormControl } from '@angular/forms'; +import { pluck } from 'rxjs/operators'; +var FeatureManagementComponent = /** @class */ (function () { + function FeatureManagementComponent(store) { + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + Object.defineProperty(FeatureManagementComponent.prototype, "visible", { + get: /** + * @return {?} + */ + function () { + return this._visible; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._visible = value; + this.visibleChange.emit(value); + if (value) + this.openModal(); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + FeatureManagementComponent.prototype.openModal = /** + * @return {?} + */ + function () { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + this.getFeatures(); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.getFeatures = /** + * @return {?} + */ + function () { + var _this = this; + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(pluck('FeatureManagementState', 'features')) + .subscribe((/** + * @param {?} features + * @return {?} + */ + function (features) { + _this.buildForm(features); + })); + }; + /** + * @param {?} features + * @return {?} + */ + FeatureManagementComponent.prototype.buildForm = /** + * @param {?} features + * @return {?} + */ + function (features) { + /** @type {?} */ + var formGroupObj = {}; + for (var i = 0; i < features.length; i++) { + formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value); + } + this.form = new FormGroup(formGroupObj); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.save = /** + * @return {?} + */ + function () { + var _this = this; + this.modalBusy = true; + /** @type {?} */ + var features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + features = features.map((/** + * @param {?} feature + * @param {?} i + * @return {?} + */ + function (feature, i) { return ({ + name: feature.name, + value: !_this.form.value[i] || _this.form.value[i] === 'false' ? null : _this.form.value[i], + }); })); + this.store + .dispatch(new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features: features, + })) + .subscribe((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + _this.visible = false; + })); + }; + FeatureManagementComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-feature-management', + template: "\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n\n" + }] } + ]; + /** @nocollapse */ + FeatureManagementComponent.ctorParameters = function () { return [ + { type: Store } + ]; }; + FeatureManagementComponent.propDecorators = { + providerKey: [{ type: Input }], + providerName: [{ type: Input }], + visible: [{ type: Input }], + visibleChange: [{ type: Output }] + }; + tslib_1.__decorate([ + Select(FeatureManagementState.getFeatures), + tslib_1.__metadata("design:type", Observable) + ], FeatureManagementComponent.prototype, "features$", void 0); + return FeatureManagementComponent; +}()); +export { FeatureManagementComponent }; +if (false) { + /** @type {?} */ + FeatureManagementComponent.prototype.providerKey; + /** @type {?} */ + FeatureManagementComponent.prototype.providerName; + /** + * @type {?} + * @protected + */ + FeatureManagementComponent.prototype._visible; + /** @type {?} */ + FeatureManagementComponent.prototype.visibleChange; + /** @type {?} */ + FeatureManagementComponent.prototype.features$; + /** @type {?} */ + FeatureManagementComponent.prototype.modalBusy; + /** @type {?} */ + FeatureManagementComponent.prototype.form; + /** + * @type {?} + * @private + */ + FeatureManagementComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QztJQW1DRSxvQ0FBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFUaEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFJUSxDQUFDO0lBdEJwQyxzQkFDSSwrQ0FBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7Ozs7O1FBRUQsVUFBWSxLQUFjO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRS9CLElBQUksS0FBSztnQkFBRSxJQUFJLENBQUMsU0FBUyxFQUFF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Q0FBQztDQUFBLEFBdkZELElBdUZDO1NBbkZZLDBCQUEwQjs7O0lBQ3JDLGlEQUNvQjs7SUFFcEIsa0RBQ3FCOzs7OztJQUVyQiw4Q0FBbUI7O0lBY25CLG1EQUM0Qzs7SUFFNUMsK0NBQ21EOztJQUVuRCwrQ0FBMkI7O0lBRTNCLDBDQUFnQjs7Ozs7SUFFSiwyQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXMsIFVwZGF0ZUZlYXR1cmVzIH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudCB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGx1Y2ssIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWZlYXR1cmUtbWFuYWdlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChGZWF0dXJlTWFuYWdlbWVudFN0YXRlLmdldEZlYXR1cmVzKVxuICBmZWF0dXJlcyQ6IE9ic2VydmFibGU8RmVhdHVyZU1hbmFnZW1lbnQuRmVhdHVyZVtdPjtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLmdldEZlYXR1cmVzKCk7XG4gIH1cblxuICBnZXRGZWF0dXJlcygpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldEZlYXR1cmVzKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZScsICdmZWF0dXJlcycpKVxuICAgICAgLnN1YnNjcmliZShmZWF0dXJlcyA9PiB7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKGZlYXR1cmVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYnVpbGRGb3JtKGZlYXR1cmVzKSB7XG4gICAgY29uc3QgZm9ybUdyb3VwT2JqID0ge307XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZlYXR1cmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3JtR3JvdXBPYmpbaV0gPSBuZXcgRm9ybUNvbnRyb2woZmVhdHVyZXNbaV0udmFsdWUgPT09ICdmYWxzZScgPyBudWxsIDogZmVhdHVyZXNbaV0udmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwT2JqKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgbGV0IGZlYXR1cmVzID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGZWF0dXJlTWFuYWdlbWVudFN0YXRlLmdldEZlYXR1cmVzKTtcblxuICAgIGZlYXR1cmVzID0gZmVhdHVyZXMubWFwKChmZWF0dXJlLCBpKSA9PiAoe1xuICAgICAgbmFtZTogZmVhdHVyZS5uYW1lLFxuICAgICAgdmFsdWU6ICF0aGlzLmZvcm0udmFsdWVbaV0gfHwgdGhpcy5mb3JtLnZhbHVlW2ldID09PSAnZmFsc2UnID8gbnVsbCA6IHRoaXMuZm9ybS52YWx1ZVtpXSxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBVcGRhdGVGZWF0dXJlcyh7XG4gICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICBmZWF0dXJlcyxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/components/index.js b/npm/ng-packs/dist/feature-management/esm5/lib/components/index.js new file mode 100644 index 0000000000..6b85ebc3c5 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/components/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementComponent } from './feature-management/feature-management.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/feature-management.module.js b/npm/ng-packs/dist/feature-management/esm5/lib/feature-management.module.js new file mode 100644 index 0000000000..f47db748c8 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/feature-management.module.js @@ -0,0 +1,24 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgModule } from '@angular/core'; +import { FeatureManagementComponent } from './components/feature-management/feature-management.component'; +import { NgxsModule } from '@ngxs/store'; +import { FeatureManagementState } from './states/feature-management.state'; +var FeatureManagementModule = /** @class */ (function () { + function FeatureManagementModule() { + } + FeatureManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [FeatureManagementComponent], + imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], + },] } + ]; + return FeatureManagementModule; +}()); +export { FeatureManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2ZlYXR1cmUtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFO0lBQUE7SUFLc0MsQ0FBQzs7Z0JBTHRDLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7b0JBQ3pGLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN0Qzs7SUFDcUMsOEJBQUM7Q0FBQSxBQUx2QyxJQUt1QztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZlYXR1cmUtbWFuYWdlbWVudC9mZWF0dXJlLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmVhdHVyZU1hbmFnZW1lbnRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIE5neHNNb2R1bGUuZm9yRmVhdHVyZShbRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZV0pXSxcbiAgZXhwb3J0czogW0ZlYXR1cmVNYW5hZ2VtZW50Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZU1hbmFnZW1lbnRNb2R1bGUge31cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/models/feature-management.js b/npm/ng-packs/dist/feature-management/esm5/lib/models/feature-management.js new file mode 100644 index 0000000000..0305b2db6b --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/models/feature-management.js @@ -0,0 +1,69 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export var FeatureManagement; +(function (FeatureManagement) { + /** + * @record + */ + function State() { } + FeatureManagement.State = State; + if (false) { + /** @type {?} */ + State.prototype.features; + } + /** + * @record + */ + function ValueType() { } + FeatureManagement.ValueType = ValueType; + if (false) { + /** @type {?} */ + ValueType.prototype.name; + /** @type {?} */ + ValueType.prototype.properties; + /** @type {?} */ + ValueType.prototype.validator; + } + /** + * @record + */ + function Feature() { } + FeatureManagement.Feature = Feature; + if (false) { + /** @type {?} */ + Feature.prototype.name; + /** @type {?} */ + Feature.prototype.value; + /** @type {?|undefined} */ + Feature.prototype.description; + /** @type {?|undefined} */ + Feature.prototype.valueType; + /** @type {?|undefined} */ + Feature.prototype.depth; + /** @type {?|undefined} */ + Feature.prototype.parentName; + } + /** + * @record + */ + function Features() { } + FeatureManagement.Features = Features; + if (false) { + /** @type {?} */ + Features.prototype.features; + } + /** + * @record + */ + function Provider() { } + FeatureManagement.Provider = Provider; + if (false) { + /** @type {?} */ + Provider.prototype.providerName; + /** @type {?} */ + Provider.prototype.providerKey; + } +})(FeatureManagement || (FeatureManagement = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2ZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxLQUFXLGlCQUFpQixDQTRCakM7QUE1QkQsV0FBaUIsaUJBQWlCOzs7O0lBQ2hDLG9CQUVDOzs7O1FBREMseUJBQW9COzs7OztJQUd0Qix3QkFJQzs7OztRQUhDLHlCQUFhOztRQUNiLCtCQUFtQjs7UUFDbkIsOEJBQWtCOzs7OztJQUdwQixzQkFPQzs7OztRQU5DLHVCQUFhOztRQUNiLHdCQUFjOztRQUNkLDhCQUFxQjs7UUFDckIsNEJBQXNCOztRQUN0Qix3QkFBZTs7UUFDZiw2QkFBb0I7Ozs7O0lBR3RCLHVCQUVDOzs7O1FBREMsNEJBQW9COzs7OztJQUd0Qix1QkFHQzs7OztRQUZDLGdDQUFxQjs7UUFDckIsK0JBQW9COztBQUV4QixDQUFDLEVBNUJnQixpQkFBaUIsS0FBakIsaUJBQWlCLFFBNEJqQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBuYW1lc3BhY2UgRmVhdHVyZU1hbmFnZW1lbnQge1xuICBleHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgICBmZWF0dXJlczogRmVhdHVyZVtdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBWYWx1ZVR5cGUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwcm9wZXJ0aWVzOiBvYmplY3Q7XG4gICAgdmFsaWRhdG9yOiBvYmplY3Q7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHZhbHVlVHlwZT86IFZhbHVlVHlwZTtcbiAgICBkZXB0aD86IG51bWJlcjtcbiAgICBwYXJlbnROYW1lPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlcyB7XG4gICAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXIge1xuICAgIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuICAgIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/models/index.js b/npm/ng-packs/dist/feature-management/esm5/lib/models/index.js new file mode 100644 index 0000000000..051244297f --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/models/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export {} from './feature-management'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGVBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbWFuYWdlbWVudCc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/services/feature-management.service.js b/npm/ng-packs/dist/feature-management/esm5/lib/services/feature-management.service.js new file mode 100644 index 0000000000..2246bae0ef --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/services/feature-management.service.js @@ -0,0 +1,78 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; +import * as i0 from "@angular/core"; +import * as i1 from "@abp/ng.core"; +import * as i2 from "@ngxs/store"; +var FeatureManagementService = /** @class */ (function () { + function FeatureManagementService(rest, store) { + this.rest = rest; + this.store = store; + } + /** + * @param {?} params + * @return {?} + */ + FeatureManagementService.prototype.getFeatures = /** + * @param {?} params + * @return {?} + */ + function (params) { + /** @type {?} */ + var request = { + method: 'GET', + url: '/api/abp/features', + params: params, + }; + return this.rest.request(request); + }; + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementService.prototype.updateFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features, providerKey = _a.providerKey, providerName = _a.providerName; + /** @type {?} */ + var request = { + method: 'PUT', + url: '/api/abp/features', + body: { features: features }, + params: { providerKey: providerKey, providerName: providerName }, + }; + return this.rest.request(request); + }; + FeatureManagementService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + FeatureManagementService.ctorParameters = function () { return [ + { type: RestService }, + { type: Store } + ]; }; + /** @nocollapse */ FeatureManagementService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function FeatureManagementService_Factory() { return new FeatureManagementService(i0.ɵɵinject(i1.RestService), i0.ɵɵinject(i2.Store)); }, token: FeatureManagementService, providedIn: "root" }); + return FeatureManagementService; +}()); +export { FeatureManagementService }; +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.rest; + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9mZWF0dXJlLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFJcEM7SUFJRSxrQ0FBb0IsSUFBaUIsRUFBVSxLQUFZO1FBQXZDLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFFL0QsOENBQVc7Ozs7SUFBWCxVQUFZLE1BQWtDOztZQUN0QyxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixNQUFNLFFBQUE7U0FDUDtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXlELE9BQU8sQ0FBQyxDQUFDO0lBQzVGLENBQUM7Ozs7O0lBRUQsaURBQWM7Ozs7SUFBZCxVQUFlLEVBSTJDO1lBSHhELHNCQUFRLEVBQ1IsNEJBQVcsRUFDWCw4QkFBWTs7WUFFTixPQUFPLEdBQTZDO1lBQ3hELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixJQUFJLEVBQUUsRUFBRSxRQUFRLFVBQUEsRUFBRTtZQUNsQixNQUFNLEVBQUUsRUFBRSxXQUFXLGFBQUEsRUFBRSxZQUFZLGNBQUEsRUFBRTtTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW1DLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O2dCQTNCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVBRLFdBQVc7Z0JBQ1gsS0FBSzs7O21DQUZkO0NBa0NDLEFBNUJELElBNEJDO1NBekJZLHdCQUF3Qjs7Ozs7O0lBQ3ZCLHdDQUF5Qjs7Ozs7SUFBRSx5Q0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGdldEZlYXR1cmVzKHBhcmFtczogRmVhdHVyZU1hbmFnZW1lbnQuUHJvdmlkZXIpOiBPYnNlcnZhYmxlPEZlYXR1cmVNYW5hZ2VtZW50LkZlYXR1cmVzPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvYWJwL2ZlYXR1cmVzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxGZWF0dXJlTWFuYWdlbWVudC5Qcm92aWRlciwgRmVhdHVyZU1hbmFnZW1lbnQuRmVhdHVyZXM+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlRmVhdHVyZXMoe1xuICAgIGZlYXR1cmVzLFxuICAgIHByb3ZpZGVyS2V5LFxuICAgIHByb3ZpZGVyTmFtZSxcbiAgfTogRmVhdHVyZU1hbmFnZW1lbnQuUHJvdmlkZXIgJiBGZWF0dXJlTWFuYWdlbWVudC5GZWF0dXJlcyk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxGZWF0dXJlTWFuYWdlbWVudC5GZWF0dXJlcz4gPSB7XG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgdXJsOiAnL2FwaS9hYnAvZmVhdHVyZXMnLFxuICAgICAgYm9keTogeyBmZWF0dXJlcyB9LFxuICAgICAgcGFyYW1zOiB7IHByb3ZpZGVyS2V5LCBwcm92aWRlck5hbWUgfSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxGZWF0dXJlTWFuYWdlbWVudC5GZWF0dXJlcywgbnVsbD4ocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/states/feature-management.state.js b/npm/ng-packs/dist/feature-management/esm5/lib/states/feature-management.state.js new file mode 100644 index 0000000000..21d88ef75e --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/states/feature-management.state.js @@ -0,0 +1,99 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Action, Selector, State } from '@ngxs/store'; +import { tap } from 'rxjs/operators'; +import { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions'; +import { FeatureManagementService } from '../services/feature-management.service'; +var FeatureManagementState = /** @class */ (function () { + function FeatureManagementState(featureManagementService) { + this.featureManagementService = featureManagementService; + } + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementState.getFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return features; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.getFeatures = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + return this.featureManagementService.getFeatures(payload).pipe(tap((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return patchState({ + features: features, + }); + }))); + }; + /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.updateFeatures = /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + function (_, _a) { + var payload = _a.payload; + return this.featureManagementService.updateFeatures(payload); + }; + tslib_1.__decorate([ + Action(GetFeatures), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, GetFeatures]), + tslib_1.__metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "getFeatures", null); + tslib_1.__decorate([ + Action(UpdateFeatures), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object, UpdateFeatures]), + tslib_1.__metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "updateFeatures", null); + tslib_1.__decorate([ + Selector(), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Object]), + tslib_1.__metadata("design:returntype", void 0) + ], FeatureManagementState, "getFeatures", null); + FeatureManagementState = tslib_1.__decorate([ + State({ + name: 'FeatureManagementState', + defaults: (/** @type {?} */ ({ features: {} })), + }), + tslib_1.__metadata("design:paramtypes", [FeatureManagementService]) + ], FeatureManagementState); + return FeatureManagementState; +}()); +export { FeatureManagementState }; +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementState.prototype.featureManagementService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc3RhdGVzL2ZlYXR1cmUtbWFuYWdlbWVudC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0lBWWhGLGdDQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7Ozs7O0lBSm5FLGtDQUFXOzs7O0lBQWxCLFVBQW1CLEVBQXFDO1lBQW5DLHNCQUFRO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7OztJQUtELDRDQUFXOzs7OztJQUFYLFVBQVksRUFBcUQsRUFBRSxFQUF3QjtZQUE3RSwwQkFBVTtZQUE2QyxvQkFBTztRQUMxRSxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHOzs7O1FBQUMsVUFBQyxFQUFZO2dCQUFWLHNCQUFRO1lBQ2IsT0FBQSxVQUFVLENBQUM7Z0JBQ1QsUUFBUSxVQUFBO2FBQ1QsQ0FBQztRQUZGLENBRUUsRUFDSCxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFHRCwrQ0FBYzs7Ozs7SUFBZCxVQUFlLENBQUMsRUFBRSxFQUEyQjtZQUF6QixvQkFBTztRQUN6QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQWJEO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQzs7eURBQzRELFdBQVc7OzZEQVExRjtJQUdEO1FBREMsTUFBTSxDQUFDLGNBQWMsQ0FBQzs7eURBQ1EsY0FBYzs7Z0VBRTVDO0lBcEJEO1FBREMsUUFBUSxFQUFFOzs7O21EQUdWO0lBSlUsc0JBQXNCO1FBSmxDLEtBQUssQ0FBMEI7WUFDOUIsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixRQUFRLEVBQUUsbUJBQUEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQTJCO1NBQ3RELENBQUM7aURBTzhDLHdCQUF3QjtPQU4zRCxzQkFBc0IsQ0F1QmxDO0lBQUQsNkJBQUM7Q0FBQSxJQUFBO1NBdkJZLHNCQUFzQjs7Ozs7O0lBTXJCLDBEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXRGZWF0dXJlcywgVXBkYXRlRmVhdHVyZXMgfSBmcm9tICcuLi9hY3Rpb25zL2ZlYXR1cmUtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL2ZlYXR1cmUtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWF0dXJlLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbkBTdGF0ZTxGZWF0dXJlTWFuYWdlbWVudC5TdGF0ZT4oe1xuICBuYW1lOiAnRmVhdHVyZU1hbmFnZW1lbnRTdGF0ZScsXG4gIGRlZmF1bHRzOiB7IGZlYXR1cmVzOiB7fSB9IGFzIEZlYXR1cmVNYW5hZ2VtZW50LlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTWFuYWdlbWVudFN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEZlYXR1cmVzKHsgZmVhdHVyZXMgfTogRmVhdHVyZU1hbmFnZW1lbnQuU3RhdGUpIHtcbiAgICByZXR1cm4gZmVhdHVyZXM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZlYXR1cmVNYW5hZ2VtZW50U2VydmljZTogRmVhdHVyZU1hbmFnZW1lbnRTZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oR2V0RmVhdHVyZXMpXG4gIGdldEZlYXR1cmVzKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8RmVhdHVyZU1hbmFnZW1lbnQuU3RhdGU+LCB7IHBheWxvYWQgfTogR2V0RmVhdHVyZXMpIHtcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlTWFuYWdlbWVudFNlcnZpY2UuZ2V0RmVhdHVyZXMocGF5bG9hZCkucGlwZShcbiAgICAgIHRhcCgoeyBmZWF0dXJlcyB9KSA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICBmZWF0dXJlcyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZUZlYXR1cmVzKVxuICB1cGRhdGVGZWF0dXJlcyhfLCB7IHBheWxvYWQgfTogVXBkYXRlRmVhdHVyZXMpIHtcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlTWFuYWdlbWVudFNlcnZpY2UudXBkYXRlRmVhdHVyZXMocGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/states/index.js b/npm/ng-packs/dist/feature-management/esm5/lib/states/index.js new file mode 100644 index 0000000000..9b8a3b3a43 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/states/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementState } from "./feature-management.state"; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVDQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlXCI7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/public-api.js b/npm/ng-packs/dist/feature-management/esm5/public-api.js new file mode 100644 index 0000000000..2ca23efea6 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/public-api.js @@ -0,0 +1,7 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { FeatureManagementModule } from './lib/feature-management.module'; +export { FeatureManagementComponent } from './lib/components'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js new file mode 100644 index 0000000000..a761573caf --- /dev/null +++ b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js @@ -0,0 +1,365 @@ +import { RestService, CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output, NgModule } from '@angular/core'; +import { __decorate, __metadata } from 'tslib'; +import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { tap, pluck } from 'rxjs/operators'; +import { FormControl, FormGroup } from '@angular/forms'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class GetFeatures { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +GetFeatures.type = '[FeatureManagement] Get Features'; +if (false) { + /** @type {?} */ + GetFeatures.type; + /** @type {?} */ + GetFeatures.prototype.payload; +} +class UpdateFeatures { + /** + * @param {?} payload + */ + constructor(payload) { + this.payload = payload; + } +} +UpdateFeatures.type = '[FeatureManagement] Update Features'; +if (false) { + /** @type {?} */ + UpdateFeatures.type; + /** @type {?} */ + UpdateFeatures.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class FeatureManagementService { + /** + * @param {?} rest + * @param {?} store + */ + constructor(rest, store) { + this.rest = rest; + this.store = store; + } + /** + * @param {?} params + * @return {?} + */ + getFeatures(params) { + /** @type {?} */ + const request = { + method: 'GET', + url: '/api/abp/features', + params, + }; + return this.rest.request(request); + } + /** + * @param {?} __0 + * @return {?} + */ + updateFeatures({ features, providerKey, providerName, }) { + /** @type {?} */ + const request = { + method: 'PUT', + url: '/api/abp/features', + body: { features }, + params: { providerKey, providerName }, + }; + return this.rest.request(request); + } +} +FeatureManagementService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } +]; +/** @nocollapse */ +FeatureManagementService.ctorParameters = () => [ + { type: RestService }, + { type: Store } +]; +/** @nocollapse */ FeatureManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function FeatureManagementService_Factory() { return new FeatureManagementService(ɵɵinject(RestService), ɵɵinject(Store)); }, token: FeatureManagementService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.rest; + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +let FeatureManagementState = class FeatureManagementState { + /** + * @param {?} featureManagementService + */ + constructor(featureManagementService) { + this.featureManagementService = featureManagementService; + } + /** + * @param {?} __0 + * @return {?} + */ + static getFeatures({ features }) { + return features; + } + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + getFeatures({ patchState }, { payload }) { + return this.featureManagementService.getFeatures(payload).pipe(tap((/** + * @param {?} __0 + * @return {?} + */ + ({ features }) => patchState({ + features, + })))); + } + /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + updateFeatures(_, { payload }) { + return this.featureManagementService.updateFeatures(payload); + } +}; +__decorate([ + Action(GetFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, GetFeatures]), + __metadata("design:returntype", void 0) +], FeatureManagementState.prototype, "getFeatures", null); +__decorate([ + Action(UpdateFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, UpdateFeatures]), + __metadata("design:returntype", void 0) +], FeatureManagementState.prototype, "updateFeatures", null); +__decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) +], FeatureManagementState, "getFeatures", null); +FeatureManagementState = __decorate([ + State({ + name: 'FeatureManagementState', + defaults: (/** @type {?} */ ({ features: {} })), + }), + __metadata("design:paramtypes", [FeatureManagementService]) +], FeatureManagementState); +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementState.prototype.featureManagementService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class FeatureManagementComponent { + /** + * @param {?} store + */ + constructor(store) { + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + /** + * @return {?} + */ + get visible() { + return this._visible; + } + /** + * @param {?} value + * @return {?} + */ + set visible(value) { + this._visible = value; + this.visibleChange.emit(value); + if (value) + this.openModal(); + } + /** + * @return {?} + */ + openModal() { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + this.getFeatures(); + } + /** + * @return {?} + */ + getFeatures() { + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(pluck('FeatureManagementState', 'features')) + .subscribe((/** + * @param {?} features + * @return {?} + */ + features => { + this.buildForm(features); + })); + } + /** + * @param {?} features + * @return {?} + */ + buildForm(features) { + /** @type {?} */ + const formGroupObj = {}; + for (let i = 0; i < features.length; i++) { + formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value); + } + this.form = new FormGroup(formGroupObj); + } + /** + * @return {?} + */ + save() { + this.modalBusy = true; + /** @type {?} */ + let features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + features = features.map((/** + * @param {?} feature + * @param {?} i + * @return {?} + */ + (feature, i) => ({ + name: feature.name, + value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i], + }))); + this.store + .dispatch(new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features, + })) + .subscribe((/** + * @return {?} + */ + () => { + this.modalBusy = false; + this.visible = false; + })); + } +} +FeatureManagementComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-feature-management', + template: "\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n\n" + }] } +]; +/** @nocollapse */ +FeatureManagementComponent.ctorParameters = () => [ + { type: Store } +]; +FeatureManagementComponent.propDecorators = { + providerKey: [{ type: Input }], + providerName: [{ type: Input }], + visible: [{ type: Input }], + visibleChange: [{ type: Output }] +}; +__decorate([ + Select(FeatureManagementState.getFeatures), + __metadata("design:type", Observable) +], FeatureManagementComponent.prototype, "features$", void 0); +if (false) { + /** @type {?} */ + FeatureManagementComponent.prototype.providerKey; + /** @type {?} */ + FeatureManagementComponent.prototype.providerName; + /** + * @type {?} + * @protected + */ + FeatureManagementComponent.prototype._visible; + /** @type {?} */ + FeatureManagementComponent.prototype.visibleChange; + /** @type {?} */ + FeatureManagementComponent.prototype.features$; + /** @type {?} */ + FeatureManagementComponent.prototype.modalBusy; + /** @type {?} */ + FeatureManagementComponent.prototype.form; + /** + * @type {?} + * @private + */ + FeatureManagementComponent.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class FeatureManagementModule { +} +FeatureManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [FeatureManagementComponent], + imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], + },] } +]; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +export { FeatureManagementComponent, FeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; +//# sourceMappingURL=abp-ng.feature-management.js.map diff --git a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map new file mode 100644 index 0000000000..66b084481e --- /dev/null +++ b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js new file mode 100644 index 0000000000..92b041d57b --- /dev/null +++ b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js @@ -0,0 +1,406 @@ +import { RestService, CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output, NgModule } from '@angular/core'; +import { __decorate, __metadata } from 'tslib'; +import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { tap, pluck } from 'rxjs/operators'; +import { FormControl, FormGroup } from '@angular/forms'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var GetFeatures = /** @class */ (function () { + function GetFeatures(payload) { + this.payload = payload; + } + GetFeatures.type = '[FeatureManagement] Get Features'; + return GetFeatures; +}()); +if (false) { + /** @type {?} */ + GetFeatures.type; + /** @type {?} */ + GetFeatures.prototype.payload; +} +var UpdateFeatures = /** @class */ (function () { + function UpdateFeatures(payload) { + this.payload = payload; + } + UpdateFeatures.type = '[FeatureManagement] Update Features'; + return UpdateFeatures; +}()); +if (false) { + /** @type {?} */ + UpdateFeatures.type; + /** @type {?} */ + UpdateFeatures.prototype.payload; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var FeatureManagementService = /** @class */ (function () { + function FeatureManagementService(rest, store) { + this.rest = rest; + this.store = store; + } + /** + * @param {?} params + * @return {?} + */ + FeatureManagementService.prototype.getFeatures = /** + * @param {?} params + * @return {?} + */ + function (params) { + /** @type {?} */ + var request = { + method: 'GET', + url: '/api/abp/features', + params: params, + }; + return this.rest.request(request); + }; + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementService.prototype.updateFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features, providerKey = _a.providerKey, providerName = _a.providerName; + /** @type {?} */ + var request = { + method: 'PUT', + url: '/api/abp/features', + body: { features: features }, + params: { providerKey: providerKey, providerName: providerName }, + }; + return this.rest.request(request); + }; + FeatureManagementService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root', + },] } + ]; + /** @nocollapse */ + FeatureManagementService.ctorParameters = function () { return [ + { type: RestService }, + { type: Store } + ]; }; + /** @nocollapse */ FeatureManagementService.ngInjectableDef = ɵɵdefineInjectable({ factory: function FeatureManagementService_Factory() { return new FeatureManagementService(ɵɵinject(RestService), ɵɵinject(Store)); }, token: FeatureManagementService, providedIn: "root" }); + return FeatureManagementService; +}()); +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.rest; + /** + * @type {?} + * @private + */ + FeatureManagementService.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var FeatureManagementState = /** @class */ (function () { + function FeatureManagementState(featureManagementService) { + this.featureManagementService = featureManagementService; + } + /** + * @param {?} __0 + * @return {?} + */ + FeatureManagementState.getFeatures = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return features; + }; + /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.getFeatures = /** + * @param {?} __0 + * @param {?} __1 + * @return {?} + */ + function (_a, _b) { + var patchState = _a.patchState; + var payload = _b.payload; + return this.featureManagementService.getFeatures(payload).pipe(tap((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var features = _a.features; + return patchState({ + features: features, + }); + }))); + }; + /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + FeatureManagementState.prototype.updateFeatures = /** + * @param {?} _ + * @param {?} __1 + * @return {?} + */ + function (_, _a) { + var payload = _a.payload; + return this.featureManagementService.updateFeatures(payload); + }; + __decorate([ + Action(GetFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, GetFeatures]), + __metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "getFeatures", null); + __decorate([ + Action(UpdateFeatures), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, UpdateFeatures]), + __metadata("design:returntype", void 0) + ], FeatureManagementState.prototype, "updateFeatures", null); + __decorate([ + Selector(), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) + ], FeatureManagementState, "getFeatures", null); + FeatureManagementState = __decorate([ + State({ + name: 'FeatureManagementState', + defaults: (/** @type {?} */ ({ features: {} })), + }), + __metadata("design:paramtypes", [FeatureManagementService]) + ], FeatureManagementState); + return FeatureManagementState; +}()); +if (false) { + /** + * @type {?} + * @private + */ + FeatureManagementState.prototype.featureManagementService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var FeatureManagementComponent = /** @class */ (function () { + function FeatureManagementComponent(store) { + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + Object.defineProperty(FeatureManagementComponent.prototype, "visible", { + get: /** + * @return {?} + */ + function () { + return this._visible; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._visible = value; + this.visibleChange.emit(value); + if (value) + this.openModal(); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + FeatureManagementComponent.prototype.openModal = /** + * @return {?} + */ + function () { + if (!this.providerKey || !this.providerName) { + throw new Error('Provider Key and Provider Name are required.'); + } + this.getFeatures(); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.getFeatures = /** + * @return {?} + */ + function () { + var _this = this; + this.store + .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName })) + .pipe(pluck('FeatureManagementState', 'features')) + .subscribe((/** + * @param {?} features + * @return {?} + */ + function (features) { + _this.buildForm(features); + })); + }; + /** + * @param {?} features + * @return {?} + */ + FeatureManagementComponent.prototype.buildForm = /** + * @param {?} features + * @return {?} + */ + function (features) { + /** @type {?} */ + var formGroupObj = {}; + for (var i = 0; i < features.length; i++) { + formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value); + } + this.form = new FormGroup(formGroupObj); + }; + /** + * @return {?} + */ + FeatureManagementComponent.prototype.save = /** + * @return {?} + */ + function () { + var _this = this; + this.modalBusy = true; + /** @type {?} */ + var features = this.store.selectSnapshot(FeatureManagementState.getFeatures); + features = features.map((/** + * @param {?} feature + * @param {?} i + * @return {?} + */ + function (feature, i) { return ({ + name: feature.name, + value: !_this.form.value[i] || _this.form.value[i] === 'false' ? null : _this.form.value[i], + }); })); + this.store + .dispatch(new UpdateFeatures({ + providerKey: this.providerKey, + providerName: this.providerName, + features: features, + })) + .subscribe((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + _this.visible = false; + })); + }; + FeatureManagementComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-feature-management', + template: "\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n
    \n" + }] } + ]; + /** @nocollapse */ + FeatureManagementComponent.ctorParameters = function () { return [ + { type: Store } + ]; }; + FeatureManagementComponent.propDecorators = { + providerKey: [{ type: Input }], + providerName: [{ type: Input }], + visible: [{ type: Input }], + visibleChange: [{ type: Output }] + }; + __decorate([ + Select(FeatureManagementState.getFeatures), + __metadata("design:type", Observable) + ], FeatureManagementComponent.prototype, "features$", void 0); + return FeatureManagementComponent; +}()); +if (false) { + /** @type {?} */ + FeatureManagementComponent.prototype.providerKey; + /** @type {?} */ + FeatureManagementComponent.prototype.providerName; + /** + * @type {?} + * @protected + */ + FeatureManagementComponent.prototype._visible; + /** @type {?} */ + FeatureManagementComponent.prototype.visibleChange; + /** @type {?} */ + FeatureManagementComponent.prototype.features$; + /** @type {?} */ + FeatureManagementComponent.prototype.modalBusy; + /** @type {?} */ + FeatureManagementComponent.prototype.form; + /** + * @type {?} + * @private + */ + FeatureManagementComponent.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var FeatureManagementModule = /** @class */ (function () { + function FeatureManagementModule() { + } + FeatureManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [FeatureManagementComponent], + imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])], + exports: [FeatureManagementComponent], + },] } + ]; + return FeatureManagementModule; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +export { FeatureManagementComponent, FeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; +//# sourceMappingURL=abp-ng.feature-management.js.map diff --git a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map new file mode 100644 index 0000000000..94ecafeb19 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/lib/actions/feature-management.actions.d.ts b/npm/ng-packs/dist/feature-management/lib/actions/feature-management.actions.d.ts new file mode 100644 index 0000000000..d2fffb49d0 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/actions/feature-management.actions.d.ts @@ -0,0 +1,11 @@ +import { FeatureManagement } from '../models'; +export declare class GetFeatures { + payload: FeatureManagement.Provider; + static readonly type = "[FeatureManagement] Get Features"; + constructor(payload: FeatureManagement.Provider); +} +export declare class UpdateFeatures { + payload: FeatureManagement.Provider & FeatureManagement.Features; + static readonly type = "[FeatureManagement] Update Features"; + constructor(payload: FeatureManagement.Provider & FeatureManagement.Features); +} diff --git a/npm/ng-packs/dist/feature-management/lib/actions/index.d.ts b/npm/ng-packs/dist/feature-management/lib/actions/index.d.ts new file mode 100644 index 0000000000..66678fb322 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/actions/index.d.ts @@ -0,0 +1 @@ +export * from './feature-management.actions'; diff --git a/npm/ng-packs/dist/feature-management/lib/components/feature-management/feature-management.component.d.ts b/npm/ng-packs/dist/feature-management/lib/components/feature-management/feature-management.component.d.ts new file mode 100644 index 0000000000..833932e220 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/components/feature-management/feature-management.component.d.ts @@ -0,0 +1,21 @@ +import { EventEmitter } from '@angular/core'; +import { Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { FeatureManagement } from '../../models/feature-management'; +import { FormGroup } from '@angular/forms'; +export declare class FeatureManagementComponent { + private store; + providerKey: string; + providerName: string; + protected _visible: any; + visible: boolean; + visibleChange: EventEmitter; + features$: Observable; + modalBusy: boolean; + form: FormGroup; + constructor(store: Store); + openModal(): void; + getFeatures(): void; + buildForm(features: any): void; + save(): void; +} diff --git a/npm/ng-packs/dist/feature-management/lib/components/index.d.ts b/npm/ng-packs/dist/feature-management/lib/components/index.d.ts new file mode 100644 index 0000000000..64f8bd0fc5 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/components/index.d.ts @@ -0,0 +1 @@ +export * from './feature-management/feature-management.component'; diff --git a/npm/ng-packs/dist/feature-management/lib/feature-management.module.d.ts b/npm/ng-packs/dist/feature-management/lib/feature-management.module.d.ts new file mode 100644 index 0000000000..4ea54a429d --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/feature-management.module.d.ts @@ -0,0 +1,2 @@ +export declare class FeatureManagementModule { +} diff --git a/npm/ng-packs/dist/feature-management/lib/models/feature-management.d.ts b/npm/ng-packs/dist/feature-management/lib/models/feature-management.d.ts new file mode 100644 index 0000000000..22ad0d4f65 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/models/feature-management.d.ts @@ -0,0 +1,25 @@ +export declare namespace FeatureManagement { + interface State { + features: Feature[]; + } + interface ValueType { + name: string; + properties: object; + validator: object; + } + interface Feature { + name: string; + value: string; + description?: string; + valueType?: ValueType; + depth?: number; + parentName?: string; + } + interface Features { + features: Feature[]; + } + interface Provider { + providerName: string; + providerKey: string; + } +} diff --git a/npm/ng-packs/dist/feature-management/lib/models/index.d.ts b/npm/ng-packs/dist/feature-management/lib/models/index.d.ts new file mode 100644 index 0000000000..d6ed522ae0 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/models/index.d.ts @@ -0,0 +1 @@ +export * from './feature-management'; diff --git a/npm/ng-packs/dist/feature-management/lib/services/feature-management.service.d.ts b/npm/ng-packs/dist/feature-management/lib/services/feature-management.service.d.ts new file mode 100644 index 0000000000..844bb49f31 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/services/feature-management.service.d.ts @@ -0,0 +1,11 @@ +import { RestService } from '@abp/ng.core'; +import { Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { FeatureManagement } from '../models'; +export declare class FeatureManagementService { + private rest; + private store; + constructor(rest: RestService, store: Store); + getFeatures(params: FeatureManagement.Provider): Observable; + updateFeatures({ features, providerKey, providerName, }: FeatureManagement.Provider & FeatureManagement.Features): Observable; +} diff --git a/npm/ng-packs/dist/feature-management/lib/states/feature-management.state.d.ts b/npm/ng-packs/dist/feature-management/lib/states/feature-management.state.d.ts new file mode 100644 index 0000000000..d7e1966d8f --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/states/feature-management.state.d.ts @@ -0,0 +1,11 @@ +import { StateContext } from '@ngxs/store'; +import { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions'; +import { FeatureManagement } from '../models/feature-management'; +import { FeatureManagementService } from '../services/feature-management.service'; +export declare class FeatureManagementState { + private featureManagementService; + static getFeatures({ features }: FeatureManagement.State): FeatureManagement.Feature[]; + constructor(featureManagementService: FeatureManagementService); + getFeatures({ patchState }: StateContext, { payload }: GetFeatures): import("rxjs").Observable; + updateFeatures(_: any, { payload }: UpdateFeatures): import("rxjs").Observable; +} diff --git a/npm/ng-packs/dist/feature-management/lib/states/index.d.ts b/npm/ng-packs/dist/feature-management/lib/states/index.d.ts new file mode 100644 index 0000000000..5c32d87889 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/states/index.d.ts @@ -0,0 +1 @@ +export * from "./feature-management.state"; diff --git a/npm/ng-packs/dist/feature-management/package.json b/npm/ng-packs/dist/feature-management/package.json new file mode 100644 index 0000000000..6be326f57a --- /dev/null +++ b/npm/ng-packs/dist/feature-management/package.json @@ -0,0 +1,21 @@ +{ + "name": "@abp/ng.feature-management", + "version": "0.0.83", + "dependencies": { + "@abp/ng.theme.shared": "^0.8.3", + "tslib": "^1.9.0" + }, + "publishConfig": { + "access": "public" + }, + "main": "bundles/abp-ng.feature-management.umd.js", + "module": "fesm5/abp-ng.feature-management.js", + "es2015": "fesm2015/abp-ng.feature-management.js", + "esm5": "esm5/abp-ng.feature-management.js", + "esm2015": "esm2015/abp-ng.feature-management.js", + "fesm5": "fesm5/abp-ng.feature-management.js", + "fesm2015": "fesm2015/abp-ng.feature-management.js", + "typings": "abp-ng.feature-management.d.ts", + "metadata": "abp-ng.feature-management.metadata.json", + "sideEffects": false +} diff --git a/npm/ng-packs/dist/feature-management/public-api.d.ts b/npm/ng-packs/dist/feature-management/public-api.d.ts new file mode 100644 index 0000000000..047ac00914 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/public-api.d.ts @@ -0,0 +1,2 @@ +export * from './lib/feature-management.module'; +export * from './lib/components'; diff --git a/npm/ng-packs/packages/feature-management/ng-package.json b/npm/ng-packs/packages/feature-management/ng-package.json index 0305bb9206..36ae3f8b13 100644 --- a/npm/ng-packs/packages/feature-management/ng-package.json +++ b/npm/ng-packs/packages/feature-management/ng-package.json @@ -3,5 +3,6 @@ "dest": "../../dist/feature-management", "lib": { "entryFile": "src/public-api.ts" - } + }, + "whitelistedNonPeerDependencies": ["@abp/ng.theme.shared"] } diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index f41fd28fa1..62039ded47 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,4 +1,10 @@ { "name": "@abp/ng.feature-management", - "version": "0.0.1" + "version": "0.0.83", + "dependencies": { + "@abp/ng.theme.shared": "^0.8.3" + }, + "publishConfig": { + "access": "public" + } } diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index 0e415b4e80..afdf53548f 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -3,7 +3,7 @@ "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3", - "@abp/ng.feature-management": "^0.8.4" + "@abp/ng.feature-management": "^0.8.3" }, "publishConfig": { "access": "public" From 9dacbb46787c9a0ea4a4eb63f4ad60648a2ed692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 19 Aug 2019 16:41:43 +0300 Subject: [PATCH 104/149] Fix feature-management package version --- npm/ng-packs/packages/feature-management/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 62039ded47..d5ebc57681 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.feature-management", - "version": "0.0.83", + "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3" }, From d4bd43b0f9a9387daeed26853d358f87248ae8f8 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 19 Aug 2019 16:42:29 +0300 Subject: [PATCH 105/149] fix(feature-management): npm version --- npm/ng-packs/packages/feature-management/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 62039ded47..d5ebc57681 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.feature-management", - "version": "0.0.83", + "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3" }, From 8caa6acf0c0a5dffc6e0db527502286035afa2c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 19 Aug 2019 16:44:33 +0300 Subject: [PATCH 106/149] Update source packages versions --- npm/ng-packs/packages/feature-management/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/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index d5ebc57681..62039ded47 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.feature-management", - "version": "0.8.3", + "version": "0.0.83", "dependencies": { "@abp/ng.theme.shared": "^0.8.3" }, diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index 6ed4fbe8eb..a71bc08def 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -5,7 +5,7 @@ "@abp/ng.core": "^0.8.3", "@angular/cdk": "^8.0.1", "@ng-bootstrap/ng-bootstrap": "^5.1.0", - "@ngx-validate/core": "^0.0.5", + "@ngx-validate/core": "^0.0.4", "bootstrap": "^4.3.1", "font-awesome": "^4.7.0", "ngx-perfect-scrollbar": "^8.0.0", From ccef8555ecde86dc338504a511a6a62fbef94fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 19 Aug 2019 16:45:38 +0300 Subject: [PATCH 107/149] Update package.json --- npm/ng-packs/packages/feature-management/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 62039ded47..d5ebc57681 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.feature-management", - "version": "0.0.83", + "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3" }, From 163e732c873101a2ac1467a873d7c4712c12d18a Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 19 Aug 2019 17:02:47 +0300 Subject: [PATCH 108/149] added a localization in docs --- .../src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json | 3 ++- .../src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json index f399b8f151..e31b8e8efd 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json @@ -14,6 +14,7 @@ "NoProjectWarning": "There are no projects yet!", "DocumentNotFound": "Oops, the requested document was not found!", "NavigationDocumentNotFound": "This version does not have a navigation document!", - "DocumentNotFoundInSelectedLanguage": "Document in the language you wanted is not found. Document in the default language is shown." + "DocumentNotFoundInSelectedLanguage": "Document in the language you wanted is not found. Document in the default language is shown.", + "FilterTopics": "Filter topics" } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml index 23c46063cc..eb3a4f0d77 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml @@ -139,7 +139,7 @@ - + From 90aaac0da8573aa8702f15a1a34cebbde6eb8867 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 20 Aug 2019 15:21:45 +0300 Subject: [PATCH 109/149] refactor(theme-basic): move change-password & profile components --- .../core/src/lib/plugins/config.plugin.ts | 1 + .../theme-basic/src/lib/theme-basic.module.ts | 12 +++++------- .../change-password.component.html | 0 .../change-password/change-password.component.ts | 2 +- .../theme-shared/src/lib/components/index.ts | 2 ++ .../lib/components/profile/profile.component.html | 0 .../lib/components/profile/profile.component.ts | 0 .../theme-shared/src/lib/theme-shared.module.ts | 15 ++++++++++++++- 8 files changed, 23 insertions(+), 9 deletions(-) rename npm/ng-packs/packages/{theme-basic => theme-shared}/src/lib/components/change-password/change-password.component.html (100%) rename npm/ng-packs/packages/{theme-basic => theme-shared}/src/lib/components/change-password/change-password.component.ts (97%) rename npm/ng-packs/packages/{theme-basic => theme-shared}/src/lib/components/profile/profile.component.html (100%) rename npm/ng-packs/packages/{theme-basic => theme-shared}/src/lib/components/profile/profile.component.ts (100%) diff --git a/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts b/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts index 5d4d1ab454..05f7a12250 100644 --- a/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts +++ b/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts @@ -58,6 +58,7 @@ function transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): a if (transformed.length === length) { transformed.push({ + ...route.data.routes, path: route.path, name: snq(() => route.data.routes.name, route.path), children: route.data.routes.children || [], diff --git a/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts b/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts index a978a5c3da..2fe5dabae4 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts @@ -1,22 +1,20 @@ import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { ChangePasswordComponent } from './components/change-password/change-password.component'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { NgxsModule } from '@ngxs/store'; +import { ToastModule } from 'primeng/toast'; import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; import { LayoutComponent } from './components/layout/layout.component'; -import { ProfileComponent } from './components/profile/profile.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { ToastModule } from 'primeng/toast'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; -import { NgxsModule } from '@ngxs/store'; import { LayoutState } from './states/layout.state'; export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; @NgModule({ - declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent], + declarations: [...LAYOUTS, LayoutComponent], imports: [ CoreModule, ThemeSharedModule, diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/change-password/change-password.component.html similarity index 100% rename from npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.html rename to npm/ng-packs/packages/theme-shared/src/lib/components/change-password/change-password.component.html diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/change-password/change-password.component.ts similarity index 97% rename from npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts rename to npm/ng-packs/packages/theme-shared/src/lib/components/change-password/change-password.component.ts index 6c372a4620..00d285b3c5 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/change-password/change-password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/change-password/change-password.component.ts @@ -1,5 +1,4 @@ import { ChangePassword } from '@abp/ng.core'; -import { ToasterService } from '@abp/ng.theme.shared'; import { Component, EventEmitter, @@ -16,6 +15,7 @@ import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; import { finalize } from 'rxjs/operators'; +import { ToasterService } from '../../services/toaster.service'; const { minLength, required } = Validators; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts index 2e559f366f..3d94c64329 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts @@ -1,5 +1,7 @@ export * from './button/button.component'; +export * from './change-password/change-password.component'; export * from './confirmation/confirmation.component'; export * from './loader-bar/loader-bar.component'; export * from './modal/modal.component'; +export * from './profile/profile.component'; export * from './toast/toast.component'; diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/profile/profile.component.html similarity index 100% rename from npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.html rename to npm/ng-packs/packages/theme-shared/src/lib/components/profile/profile.component.html diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/profile/profile.component.ts similarity index 100% rename from npm/ng-packs/packages/theme-basic/src/lib/components/profile/profile.component.ts rename to npm/ng-packs/packages/theme-shared/src/lib/components/profile/profile.component.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index bf2b9e411a..ffa3ee3f44 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -15,6 +15,8 @@ import styles from './contants/styles'; import { ErrorHandler } from './handlers/error.handler'; import { ButtonComponent } from './components/button/button.component'; import { ValidationErrorComponent } from './components/errors/validation-error.component'; +import { ChangePasswordComponent } from './components/change-password/change-password.component'; +import { ProfileComponent } from './components/profile/profile.component'; export function appendScript(injector: Injector) { const fn = function() { @@ -61,8 +63,19 @@ export function appendScript(injector: Injector) { ErrorComponent, LoaderBarComponent, ValidationErrorComponent, + ChangePasswordComponent, + ProfileComponent, + ], + exports: [ + NgbModalModule, + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + LoaderBarComponent, + ChangePasswordComponent, + ProfileComponent, ], - exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], entryComponents: [ErrorComponent, ValidationErrorComponent], }) export class ThemeSharedModule { From cffb173f046f8d7465a0b7e0c917f6847bc90c92 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 21 Aug 2019 08:16:55 +0300 Subject: [PATCH 110/149] feature(theme-shared): stop loading process when occured nav error --- .../src/lib/components/loader-bar/loader-bar.component.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts index 30065b0b02..b6104263cb 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts @@ -1,6 +1,6 @@ import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input, OnDestroy } from '@angular/core'; -import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { NavigationEnd, NavigationStart, Router, NavigationError } from '@angular/router'; import { takeUntilDestroy } from '@ngx-validate/core'; import { Actions, ofActionSuccessful } from '@ngxs/store'; import { filter } from 'rxjs/operators'; @@ -45,7 +45,10 @@ export class LoaderBarComponent implements OnDestroy { router.events .pipe( - filter(event => event instanceof NavigationStart || event instanceof NavigationEnd), + filter( + event => + event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError, + ), takeUntilDestroy(this), ) .subscribe(event => { From efa0a4e1bd5184afc9bebd670aaa8447ca841ce5 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 21 Aug 2019 12:59:59 +0300 Subject: [PATCH 111/149] fix(core): localization pipe sync value problem --- .../core/src/lib/pipes/localization.pipe.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/pipes/localization.pipe.ts b/npm/ng-packs/packages/core/src/lib/pipes/localization.pipe.ts index 7073f6da3a..0766a50091 100644 --- a/npm/ng-packs/packages/core/src/lib/pipes/localization.pipe.ts +++ b/npm/ng-packs/packages/core/src/lib/pipes/localization.pipe.ts @@ -2,22 +2,26 @@ import { Pipe, PipeTransform, OnDestroy } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; import { takeUntilDestroy } from '../utils'; -import { distinctUntilChanged } from 'rxjs/operators'; +import { distinctUntilChanged, takeUntil } from 'rxjs/operators'; +import { Subject } from 'rxjs'; @Pipe({ name: 'abpLocalization', pure: false, // required to update the value }) export class LocalizationPipe implements PipeTransform, OnDestroy { - initialized: boolean = false; + initialValue: string = ''; value: string; + destroy$ = new Subject(); + constructor(private store: Store) {} - transform(value: string, ...interpolateParams: string[]): string { - if (!this.initialized) { - this.initialized = true; + transform(value: string = '', ...interpolateParams: string[]): string { + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); this.store .select( @@ -27,6 +31,7 @@ export class LocalizationPipe implements PipeTransform, OnDestroy { ), ) .pipe( + takeUntil(this.destroy$), takeUntilDestroy(this), distinctUntilChanged(), ) From d5035c4400cb1f99d32b79b42d05ffa0d60f26fd Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 21 Aug 2019 13:09:39 +0300 Subject: [PATCH 112/149] fix(account): rename appName --- .../account/src/lib/components/register/register.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts b/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts index e70bc35b7f..01b0377def 100644 --- a/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/register/register.component.ts @@ -47,7 +47,7 @@ export class RegisterComponent { userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', } as RegisterRequest; this.accountService From 2b9e6002c6d8e67a1b2997f17ba75d96fd939642 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 21 Aug 2019 14:30:35 +0300 Subject: [PATCH 113/149] refactor(core): rename throwErr parameter in rest.service add throwError after the handle error add autofocus to confirmation --- .../src/lib/services/account.service.ts | 2 +- .../lib/directives/form-submit.directive.ts | 47 +++++++++++++------ .../packages/core/src/lib/models/rest.ts | 2 +- .../core/src/lib/services/profile.service.ts | 4 +- .../core/src/lib/services/rest.service.ts | 6 +-- .../confirmation/confirmation.component.ts | 8 +++- 6 files changed, 47 insertions(+), 22 deletions(-) diff --git a/npm/ng-packs/packages/account/src/lib/services/account.service.ts b/npm/ng-packs/packages/account/src/lib/services/account.service.ts index 6a660a695d..dc7693b693 100644 --- a/npm/ng-packs/packages/account/src/lib/services/account.service.ts +++ b/npm/ng-packs/packages/account/src/lib/services/account.service.ts @@ -25,6 +25,6 @@ export class AccountService { body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); } } diff --git a/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts index a3ea93a753..c77016ce7f 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/form-submit.directive.ts @@ -1,19 +1,18 @@ import { + ChangeDetectorRef, Directive, ElementRef, + EventEmitter, + Input, OnDestroy, OnInit, - Self, - ChangeDetectorRef, - HostBinding, - Input, Output, - EventEmitter, + Self, } from '@angular/core'; -import { FormGroupDirective, FormGroup, FormControl, ɵNgNoValidate } from '@angular/forms'; +import { FormControl, FormGroup, FormGroupDirective } from '@angular/forms'; import { fromEvent } from 'rxjs'; -import { takeUntilDestroy } from '../utils'; import { debounceTime, filter } from 'rxjs/operators'; +import { takeUntilDestroy } from '../utils'; type Controls = { [key: string]: FormControl } | FormGroup[]; @@ -24,6 +23,11 @@ export class FormSubmitDirective implements OnInit, OnDestroy { @Input() notValidateOnSubmit: string | boolean; + @Output() + ngSubmit = new EventEmitter(); + + executedNgSubmit: boolean = false; + constructor( @Self() private formGroupDirective: FormGroupDirective, private host: ElementRef, @@ -31,6 +35,11 @@ export class FormSubmitDirective implements OnInit, OnDestroy { ) {} ngOnInit() { + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(() => { + this.markAsDirty(); + this.executedNgSubmit = true; + }); + fromEvent(this.host.nativeElement as HTMLElement, 'keyup') .pipe( debounceTime(200), @@ -38,7 +47,11 @@ export class FormSubmitDirective implements OnInit, OnDestroy { takeUntilDestroy(this), ) .subscribe(() => { - this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + if (!this.executedNgSubmit) { + this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + + this.executedNgSubmit = false; }); fromEvent(this.host.nativeElement, 'submit') @@ -47,16 +60,22 @@ export class FormSubmitDirective implements OnInit, OnDestroy { filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'), ) .subscribe(() => { - const { form } = this.formGroupDirective; - - setDirty(form.controls as { [key: string]: FormControl }); - form.markAsDirty(); - - this.cdRef.detectChanges(); + if (!this.executedNgSubmit) { + this.markAsDirty(); + } }); } ngOnDestroy(): void {} + + markAsDirty() { + const { form } = this.formGroupDirective; + + setDirty(form.controls as { [key: string]: FormControl }); + form.markAsDirty(); + + this.cdRef.detectChanges(); + } } function setDirty(controls: Controls) { diff --git a/npm/ng-packs/packages/core/src/lib/models/rest.ts b/npm/ng-packs/packages/core/src/lib/models/rest.ts index 81e035f0d4..a494bbbc63 100644 --- a/npm/ng-packs/packages/core/src/lib/models/rest.ts +++ b/npm/ng-packs/packages/core/src/lib/models/rest.ts @@ -2,7 +2,7 @@ import { HttpHeaders, HttpParams } from '@angular/common/http'; export namespace Rest { export interface Config { - throwErr?: boolean; + skipHandleError?: boolean; observe?: Observe; } diff --git a/npm/ng-packs/packages/core/src/lib/services/profile.service.ts b/npm/ng-packs/packages/core/src/lib/services/profile.service.ts index 48065619ff..38d5fb3a7b 100644 --- a/npm/ng-packs/packages/core/src/lib/services/profile.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/profile.service.ts @@ -28,13 +28,13 @@ export class ProfileService { return this.rest.request(request); } - changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable { + changePassword(body: Profile.ChangePasswordRequest, skipHandleError: boolean = false): Observable { const request: Rest.Request = { method: 'POST', url: '/api/identity/my-profile/change-password', body, }; - return this.rest.request(request, { throwErr }); + return this.rest.request(request, { skipHandleError }); } } diff --git a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts index 4d003e2daf..7ff1a42af0 100644 --- a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts @@ -16,17 +16,17 @@ export class RestService { handleError(err: any): Observable { this.store.dispatch(new RestOccurError(err)); console.error(err); - return NEVER; + return throwError(err); } request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable { - const { observe = Rest.Observe.Body, throwErr } = config; + const { observe = Rest.Observe.Body, skipHandleError } = config; const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; const { method, ...options } = request; return this.http.request(method, url, { observe, ...options } as any).pipe( observe === Rest.Observe.Body ? take(1) : null, catchError(err => { - if (throwErr) { + if (skipHandleError) { return throwError(err); } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts index 6c3b9254c4..917e981338 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts @@ -27,7 +27,13 @@ import { Toaster } from '../../models/toaster'; - From 999b2ba74cc09cfc9bab88586dbbefbe860983dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 21 Aug 2019 15:04:00 +0300 Subject: [PATCH 114/149] Update DeveloperApiKeyResult.cs --- .../Volo/Abp/Cli/Licensing/DeveloperApiKeyResult.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/DeveloperApiKeyResult.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/DeveloperApiKeyResult.cs index 5785ce6cfd..0b1fe54c2f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/DeveloperApiKeyResult.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/DeveloperApiKeyResult.cs @@ -8,5 +8,6 @@ namespace Volo.Abp.Cli.Licensing public string OrganizationName { get; set; } public string ApiKey { get; set; } public DateTime LicenseEndTime { get; set; } + public string LicenseCode { get; set; } } } \ No newline at end of file From 4b5e9a1297c2ac78554557b74425c8dac97a7ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 21 Aug 2019 15:04:18 +0300 Subject: [PATCH 115/149] Remove redundant question marks. --- .../Abp/AspNetCore/Auditing/AspNetCoreAuditLogContributor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AspNetCoreAuditLogContributor.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AspNetCoreAuditLogContributor.cs index 703745c40b..378b92a14a 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AspNetCoreAuditLogContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AspNetCoreAuditLogContributor.cs @@ -64,14 +64,14 @@ namespace Volo.Abp.AspNetCore.Auditing protected virtual string GetBrowserInfo(HttpContext httpContext) { - return httpContext?.Request?.Headers?["User-Agent"]; + return httpContext.Request?.Headers?["User-Agent"]; } protected virtual string GetClientIpAddress(HttpContext httpContext) { try { - return httpContext?.Connection?.RemoteIpAddress?.ToString(); + return httpContext.Connection?.RemoteIpAddress?.ToString(); } catch (Exception ex) { From 00b9d015cb63c25df85705802a53434fabb1d26c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 22 Aug 2019 09:17:37 +0300 Subject: [PATCH 116/149] fix(account): comment to remember me logic --- .../account/src/lib/components/login/login.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts b/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts index 85968b4dd2..b3b62dd4f5 100644 --- a/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts @@ -40,7 +40,7 @@ export class LoginComponent { onSubmit() { if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; from( From f901f909192aed7fad7d7635ebd8de3b3c6de26c Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 22 Aug 2019 09:42:17 +0300 Subject: [PATCH 117/149] template download improvements --- .../ProjectBuilding/TemplateInfoProvider.cs | 2 + .../Templates/Module/ModuleProTemplate.cs | 19 ++++++ .../Templates/Module/ModuleTemplate.cs | 53 +-------------- .../Templates/Module/ModuleTemplateBase.cs | 64 +++++++++++++++++++ 4 files changed, 87 insertions(+), 51 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleProTemplate.cs create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplateBase.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs index 53f8c566cd..5a287d11bf 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs @@ -23,6 +23,8 @@ namespace Volo.Abp.Cli.ProjectBuilding return new AppProTemplate(); case ModuleTemplate.TemplateName: return new ModuleTemplate(); + case ModuleProTemplate.TemplateName: + return new ModuleProTemplate(); default: throw new Exception("There is no template found with given name: " + name); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleProTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleProTemplate.cs new file mode 100644 index 0000000000..8cfe44c38b --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleProTemplate.cs @@ -0,0 +1,19 @@ +using Volo.Abp.Cli.ProjectBuilding.Templates.Module; + +namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule +{ + public class ModuleProTemplate : ModuleTemplateBase + { + /// + /// "module". + /// + public const string TemplateName = "module-pro"; + + public ModuleProTemplate() + : base(TemplateName) + { + //TODO: uncomment next line after document is ready + //DocumentUrl = "https://docs.abp.io/en/commercial/latest/Startup-Templates/Module"; + } + } +} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplate.cs index b3eab61ac9..e6e2045301 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplate.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplate.cs @@ -1,10 +1,8 @@ -using System.Collections.Generic; -using Volo.Abp.Cli.ProjectBuilding.Building; -using Volo.Abp.Cli.ProjectBuilding.Building.Steps; +using Volo.Abp.Cli.ProjectBuilding.Templates.Module; namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule { - public class ModuleTemplate : TemplateInfo + public class ModuleTemplate : ModuleTemplateBase { /// /// "module". @@ -16,52 +14,5 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule { DocumentUrl = "https://docs.abp.io/en/abp/latest/Startup-Templates/Module"; } - - public override IEnumerable GetCustomSteps(ProjectBuildContext context) - { - var steps = new List(); - - DeleteUnrelatedProjects(context, steps); - RandomizeSslPorts(context, steps); - CleanupFolderHierarchy(context, steps); - - return steps; - } - - private void DeleteUnrelatedProjects(ProjectBuildContext context, List steps) - { - if (context.BuildArgs.ExtraProperties.ContainsKey("no-ui")) - { - steps.Add(new RemoveProjectFromSolutionStep( - "MyCompanyName.MyProjectName.Web" - )); - - steps.Add(new RemoveProjectFromSolutionStep( - "MyCompanyName.MyProjectName.Web.Host", - projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host" - )); - - steps.Add(new RemoveProjectFromSolutionStep( - "MyCompanyName.MyProjectName.Web.Unified", - projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified" - )); - } - } - - private void RandomizeSslPorts(ProjectBuildContext context, List steps) - { - steps.Add(new TemplateRandomSslPortStep(new List - { - "https://localhost:44300", - "https://localhost:44301", - "https://localhost:44302", - "https://localhost:44303" - })); - } - - private void CleanupFolderHierarchy(ProjectBuildContext context, List steps) - { - steps.Add(new MoveFolderStep("/aspnet-core/", "/")); - } } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplateBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplateBase.cs new file mode 100644 index 0000000000..2d308d9219 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Module/ModuleTemplateBase.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Text; +using JetBrains.Annotations; +using Volo.Abp.Cli.ProjectBuilding.Building; +using Volo.Abp.Cli.ProjectBuilding.Building.Steps; + +namespace Volo.Abp.Cli.ProjectBuilding.Templates.Module +{ + public abstract class ModuleTemplateBase : TemplateInfo + { + protected ModuleTemplateBase([NotNull] string name) + : base(name) + { + } + + public override IEnumerable GetCustomSteps(ProjectBuildContext context) + { + var steps = new List(); + + DeleteUnrelatedProjects(context, steps); + RandomizeSslPorts(context, steps); + CleanupFolderHierarchy(context, steps); + + return steps; + } + + private void DeleteUnrelatedProjects(ProjectBuildContext context, List steps) + { + if (context.BuildArgs.ExtraProperties.ContainsKey("no-ui")) + { + steps.Add(new RemoveProjectFromSolutionStep( + "MyCompanyName.MyProjectName.Web" + )); + + steps.Add(new RemoveProjectFromSolutionStep( + "MyCompanyName.MyProjectName.Web.Host", + projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host" + )); + + steps.Add(new RemoveProjectFromSolutionStep( + "MyCompanyName.MyProjectName.Web.Unified", + projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified" + )); + } + } + + private void RandomizeSslPorts(ProjectBuildContext context, List steps) + { + steps.Add(new TemplateRandomSslPortStep(new List + { + "https://localhost:44300", + "https://localhost:44301", + "https://localhost:44302", + "https://localhost:44303" + })); + } + + private void CleanupFolderHierarchy(ProjectBuildContext context, List steps) + { + steps.Add(new MoveFolderStep("/aspnet-core/", "/")); + } + } +} From 96386ef0e6d8c8f7f99b2c9758d6500e36ad409a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 23 Aug 2019 12:01:46 +0300 Subject: [PATCH 118/149] fix(tenant): add validation to connection string #resolves 1641 --- .../lib/components/tenants/tenants.component.ts | 14 +++++++++++--- .../theme-shared/src/lib/theme-shared.module.ts | 3 --- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index f7fda948b6..57e39f6fc4 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -93,7 +93,7 @@ export class TenantsComponent { private createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || '', Validators.required], }); } @@ -150,13 +150,21 @@ export class TenantsComponent { } saveConnectionString() { + if (this.defaultConnectionStringForm.invalid) { + this.defaultConnectionStringForm.get('defaultConnectionString').markAsDirty(); + this.defaultConnectionStringForm.get('defaultConnectionString').updateValueAndValidity(); + return; + } + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe( + take(1), + finalize(() => (this.modalBusy = false)), + ) .subscribe(() => { - this.modalBusy = false; this.isModalVisible = false; }); } else { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index ffa3ee3f44..c2d920118d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -1,6 +1,5 @@ import { CoreModule, LazyLoadService } from '@abp/ng.core'; import { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core'; -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; import { ToastModule } from 'primeng/toast'; @@ -40,7 +39,6 @@ export function appendScript(injector: Injector) { imports: [ CoreModule, ToastModule, - NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', blueprints: { @@ -67,7 +65,6 @@ export function appendScript(injector: Injector) { ProfileComponent, ], exports: [ - NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, From e163efbcc3695138aaf359c750c910f5f96ad543 Mon Sep 17 00:00:00 2001 From: Xeevis Date: Fri, 23 Aug 2019 13:48:25 +0200 Subject: [PATCH 119/149] Fix docs-nav --- docs/en/docs-nav.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 7e20d4db75..6773c81079 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -282,7 +282,7 @@ }, { "text": "Module", - "path": "Startup-Templates/Application.md" + "path": "Startup-Templates/Module.md" } ] }, From ff7987b3339c7415381987eba6ff6f4e7a7be1f1 Mon Sep 17 00:00:00 2001 From: Xeevis Date: Fri, 23 Aug 2019 13:49:36 +0200 Subject: [PATCH 120/149] Update Czech translations --- docs/cs/Index.md | 5 ++-- docs/cs/docs-nav.json | 26 +++++++++++++++++-- .../Volo/Docs/Localization/Domain/cs.json | 3 ++- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/cs/Index.md b/docs/cs/Index.md index 3a86344660..ac13bcbdb6 100644 --- a/docs/cs/Index.md +++ b/docs/cs/Index.md @@ -6,7 +6,7 @@ K procházení dokumentace využijte navigační nabídky vlevo. ## Stav projektu -ABP je **novou generací** open source frameworku [ASP.NET Boilerplate](https://aspnetboilerplate.com/). V současné době je v ranné fázi a není připraven k ostrému nasazení. Na dokumentaci se stále pracuje a ještě zdaleka není dokončena. +ABP je **novou generací** open source frameworku [ASP.NET Boilerplate](https://aspnetboilerplate.com/). V současné době je v náhledové fázi a není připraven k ostrému nasazení. Na dokumentaci se stále pracuje a ještě zdaleka není dokončena. Pro aplikace na krátkodobé a ostré nasazení je doporučeno použít [ASP.NET Boilerplate](https://aspnetboilerplate.com/) framework, který je bohatý na funkce, vyspělý, aktivně udržovaný a aktuální. @@ -14,7 +14,8 @@ Pro aplikace na krátkodobé a ostré nasazení je doporučeno použít [ASP.NET Nejsnazší cestou jak začít nový projekt s ABP je užití startovací šablony: -* [ASP.NET Core MVC Šablona](Getting-Started-AspNetCore-MVC-Template.md) +* [ASP.NET Core MVC (Razor Pages) UI Šablona](Getting-Started-AspNetCore-MVC-Template.md) +* [Angular UI Šablona](Getting-Started-Angular-Template.md) Pokud chcete začít od nuly (s prázdným projektem) tak manuálně nainstalujte ABP Framework s pomocí následujících tutoriálů: diff --git a/docs/cs/docs-nav.json b/docs/cs/docs-nav.json index 2d6b8f7ef8..8560190492 100644 --- a/docs/cs/docs-nav.json +++ b/docs/cs/docs-nav.json @@ -7,8 +7,12 @@ "text": "Ze startovacích šablon", "items": [ { - "text": "ASP.NET Core MVC", + "text": "Aplikace s MVC (Razor Pages) UI", "path": "Getting-Started-AspNetCore-MVC-Template.md" + }, + { + "text": "Aplikace s Angular UI", + "path": "Getting-Started-Angular-Template.md" } ] }, @@ -34,8 +38,12 @@ "text": "Vývoj aplikace", "items": [ { - "text": "S ASP.NET Core MVC", + "text": "S ASP.NET Core MVC UI", "path": "Tutorials/AspNetCore-Mvc/Part-I.md" + }, + { + "text": "S Angular UI", + "path": "Tutorials/Angular/Part-I.md" } ] } @@ -264,6 +272,20 @@ } ] }, + { + "text": "Startovací šablony", + "path": "Startup-Templates/Index.md", + "items": [ + { + "text": "Aplikace", + "path": "Startup-Templates/Application.md" + }, + { + "text": "Modul", + "path": "Startup-Templates/Module.md" + } + ] + }, { "text": "Vzorky", "items": [ diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/cs.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/cs.json index 4c21318fdb..6ca29e5420 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/cs.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/cs.json @@ -14,6 +14,7 @@ "NoProjectWarning": "Zatím zde není žádný projekt!", "DocumentNotFound": "Ups, vyžádaný dokument neexistuje!", "NavigationDocumentNotFound": "Tato verze nemá navigační dokument!", - "DocumentNotFoundInSelectedLanguage": "Tento dokument není dostupný ve vybraném jazyce. Zobrazen dokument ve výchozím jazyce." + "DocumentNotFoundInSelectedLanguage": "Tento dokument není dostupný ve vybraném jazyce. Zobrazen dokument ve výchozím jazyce.", + "FilterTopics": "Filtrovat témata" } } \ No newline at end of file From 384ffc2e35080554ec19cf4c94c92949e208086f Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 23 Aug 2019 15:03:20 +0300 Subject: [PATCH 121/149] User password should hide on the actions panel of the AuditLogging module --- .../Volo/Abp/Account/RegisterDto.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/RegisterDto.cs b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/RegisterDto.cs index 5355d7e332..9a9f3caa4e 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/RegisterDto.cs +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/RegisterDto.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Volo.Abp.Auditing; using Volo.Abp.Identity; namespace Volo.Abp.Account @@ -17,6 +18,7 @@ namespace Volo.Abp.Account [Required] [StringLength(IdentityUserConsts.MaxPasswordLength)] [DataType(DataType.Password)] + [DisableAuditing] public string Password { get; set; } [Required] From f5d49c959a38f66f0a563be3fc23adc4ed55f48e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 23 Aug 2019 15:28:02 +0300 Subject: [PATCH 122/149] Update CurrentUser.cs --- framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs index c785f951fd..487274860f 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs @@ -51,7 +51,7 @@ namespace Volo.Abp.Users return _principalAccessor.Principal?.Claims.ToArray() ?? EmptyClaimsArray; } - public bool IsInRole(string roleName) + public virtual bool IsInRole(string roleName) { return FindClaims(AbpClaimTypes.Role).Any(c => c.Value == roleName); } From 55509a0d8cb3fcc11062c8f70cfdec333fb95d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 23 Aug 2019 17:32:44 +0300 Subject: [PATCH 123/149] Revisit GetAdditionalClaimsOrNull method of AbpResourceOwnerPasswordValidator --- .../AbpResourceOwnerPasswordValidator.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs index 946813aff8..7c46fbd1ea 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs @@ -53,7 +53,15 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity _logger.LogInformation("Credentials validated for username: {username}", context.UserName); await _events.RaiseAsync(new UserLoginSuccessEvent(context.UserName, sub, context.UserName, interactive: false)); - context.Result = new GrantValidationResult(sub, OidcConstants.AuthenticationMethods.Password, GetAdditionalClaimsOrNull(user)); + var additionalClaims = new List(); + + await AddCustomClaimsAsync(additionalClaims, user, context); + + context.Result = new GrantValidationResult( + sub, + OidcConstants.AuthenticationMethods.Password, + additionalClaims.ToArray() + ); return; } @@ -82,14 +90,14 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant); } - protected virtual IEnumerable GetAdditionalClaimsOrNull(IdentityUser user) + protected virtual Task AddCustomClaimsAsync(List customClaims, IdentityUser user, ResourceOwnerPasswordValidationContext context) { - if (!user.TenantId.HasValue) + if (user.TenantId.HasValue) { - return null; + customClaims.Add(new Claim(AbpClaimTypes.TenantId, user.TenantId?.ToString())); } - return new[] { new Claim(AbpClaimTypes.TenantId, user.TenantId?.ToString()) }; + return Task.CompletedTask; } } } From cfea1882cc476aa37a4e3cf1dc4cc791c6440dec Mon Sep 17 00:00:00 2001 From: Dillan Cagnetta Date: Sat, 24 Aug 2019 16:02:18 +0200 Subject: [PATCH 124/149] Updated: removed (unnecessary?) ToArray call on EventHandlerFactories - TODO item --- .../src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs b/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs index 321aae6804..cb8ae75336 100644 --- a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs +++ b/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs @@ -108,7 +108,7 @@ namespace Volo.Abp.EventBus foreach (var handlerFactories in GetHandlerFactories(eventType)) { - foreach (var handlerFactory in handlerFactories.EventHandlerFactories.ToArray()) //TODO: ToArray should not be needed! + foreach (var handlerFactory in handlerFactories.EventHandlerFactories) { await TriggerHandlerAsync(handlerFactory, handlerFactories.EventType, eventData, exceptions); } From 257257c834fafe2f5e5063d7c5987f79ad87f689 Mon Sep 17 00:00:00 2001 From: Dillan Cagnetta Date: Mon, 26 Aug 2019 08:59:14 +0200 Subject: [PATCH 125/149] Fix: IEventBus only has PublishAsync method - replaced Publish --- .../RabbitMqEventBus/App1/App1MessagingService.cs | 12 ++++++------ .../RabbitMqEventBus/App1/App1TextEventHandler.cs | 6 ++---- samples/RabbitMqEventBus/App1/Program.cs | 7 ++++--- .../RabbitMqEventBus/App2/App2MessagingService.cs | 12 ++++++------ .../RabbitMqEventBus/App2/App2TextEventHandler.cs | 6 ++---- samples/RabbitMqEventBus/App2/Program.cs | 7 ++++--- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/samples/RabbitMqEventBus/App1/App1MessagingService.cs b/samples/RabbitMqEventBus/App1/App1MessagingService.cs index b8123d84d4..9ed72867bb 100644 --- a/samples/RabbitMqEventBus/App1/App1MessagingService.cs +++ b/samples/RabbitMqEventBus/App1/App1MessagingService.cs @@ -1,7 +1,7 @@ -using System; -using SharedModule; +using SharedModule; +using System; +using System.Threading.Tasks; using Volo.Abp.DependencyInjection; -using Volo.Abp.EventBus; using Volo.Abp.EventBus.Distributed; namespace App1 @@ -15,7 +15,7 @@ namespace App1 _distributedEventBus = distributedEventBus; } - public void Run() + public async Task RunAsync() { Console.WriteLine("*** Started the APPLICATION 1 ***"); Console.WriteLine("Write a message and press ENTER to send to the App2."); @@ -30,11 +30,11 @@ namespace App1 if (!message.IsNullOrEmpty()) { - _distributedEventBus.Publish(new App1ToApp2TextEventData(message)); + await _distributedEventBus.PublishAsync(new App1ToApp2TextEventData(message)); } else { - _distributedEventBus.Publish(new App1ToApp2TextEventData("App1 is exiting. Bye bye...!")); + await _distributedEventBus.PublishAsync(new App1ToApp2TextEventData("App1 is exiting. Bye bye...!")); } } while (!message.IsNullOrEmpty()); diff --git a/samples/RabbitMqEventBus/App1/App1TextEventHandler.cs b/samples/RabbitMqEventBus/App1/App1TextEventHandler.cs index 046eda56b1..8a13adace0 100644 --- a/samples/RabbitMqEventBus/App1/App1TextEventHandler.cs +++ b/samples/RabbitMqEventBus/App1/App1TextEventHandler.cs @@ -18,16 +18,14 @@ namespace App1 _distributedEventBus = distributedEventBus; } - public Task HandleEventAsync(App2ToApp1TextEventData eventData) + public async Task HandleEventAsync(App2ToApp1TextEventData eventData) { Console.WriteLine("************************ INCOMING MESSAGE ****************************"); Console.WriteLine(eventData.TextMessage); Console.WriteLine("**********************************************************************"); Console.WriteLine(); - _distributedEventBus.PublishAsync(new App1TextReceivedEventData(eventData.TextMessage)); - - return Task.CompletedTask; + await _distributedEventBus.PublishAsync(new App1TextReceivedEventData(eventData.TextMessage)); } } } diff --git a/samples/RabbitMqEventBus/App1/Program.cs b/samples/RabbitMqEventBus/App1/Program.cs index 26decc1248..47c474c8c6 100644 --- a/samples/RabbitMqEventBus/App1/Program.cs +++ b/samples/RabbitMqEventBus/App1/Program.cs @@ -1,11 +1,12 @@ -using Microsoft.Extensions.DependencyInjection; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp; namespace App1 { internal class Program { - private static void Main(string[] args) + private static async Task Main(string[] args) { using (var application = AbpApplicationFactory.Create(options => { @@ -18,7 +19,7 @@ namespace App1 .ServiceProvider .GetRequiredService(); - messagingService.Run(); + await messagingService.RunAsync(); application.Shutdown(); } diff --git a/samples/RabbitMqEventBus/App2/App2MessagingService.cs b/samples/RabbitMqEventBus/App2/App2MessagingService.cs index b89e9dd960..05c6661979 100644 --- a/samples/RabbitMqEventBus/App2/App2MessagingService.cs +++ b/samples/RabbitMqEventBus/App2/App2MessagingService.cs @@ -1,7 +1,7 @@ -using System; -using SharedModule; +using SharedModule; +using System; +using System.Threading.Tasks; using Volo.Abp.DependencyInjection; -using Volo.Abp.EventBus; using Volo.Abp.EventBus.Distributed; namespace App2 @@ -15,7 +15,7 @@ namespace App2 _distributedEventBus = distributedEventBus; } - public void Run() + public async Task RunAsync() { Console.WriteLine("*** Started the APPLICATION 2 ***"); Console.WriteLine("Write a message and press ENTER to send to the App1."); @@ -30,11 +30,11 @@ namespace App2 if (!message.IsNullOrEmpty()) { - _distributedEventBus.Publish(new App2ToApp1TextEventData(message)); + await _distributedEventBus.PublishAsync(new App2ToApp1TextEventData(message)); } else { - _distributedEventBus.Publish(new App2ToApp1TextEventData("App2 is exiting. Bye bye...!")); + await _distributedEventBus.PublishAsync(new App2ToApp1TextEventData("App2 is exiting. Bye bye...!")); } } while (!message.IsNullOrEmpty()); diff --git a/samples/RabbitMqEventBus/App2/App2TextEventHandler.cs b/samples/RabbitMqEventBus/App2/App2TextEventHandler.cs index 8cf9ef65ae..a43a910726 100644 --- a/samples/RabbitMqEventBus/App2/App2TextEventHandler.cs +++ b/samples/RabbitMqEventBus/App2/App2TextEventHandler.cs @@ -18,16 +18,14 @@ namespace App2 _distributedEventBus = distributedEventBus; } - public Task HandleEventAsync(App1ToApp2TextEventData eventData) + public async Task HandleEventAsync(App1ToApp2TextEventData eventData) { Console.WriteLine("************************ INCOMING MESSAGE ****************************"); Console.WriteLine(eventData.TextMessage); Console.WriteLine("**********************************************************************"); Console.WriteLine(); - _distributedEventBus.PublishAsync(new App2TextReceivedEventData(eventData.TextMessage)); - - return Task.CompletedTask; + await _distributedEventBus.PublishAsync(new App2TextReceivedEventData(eventData.TextMessage)); } } } diff --git a/samples/RabbitMqEventBus/App2/Program.cs b/samples/RabbitMqEventBus/App2/Program.cs index 2686c54e8f..75eb872edf 100644 --- a/samples/RabbitMqEventBus/App2/Program.cs +++ b/samples/RabbitMqEventBus/App2/Program.cs @@ -1,11 +1,12 @@ -using Microsoft.Extensions.DependencyInjection; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp; namespace App2 { internal class Program { - private static void Main(string[] args) + private static async Task Main(string[] args) { using (var application = AbpApplicationFactory.Create(options => { @@ -18,7 +19,7 @@ namespace App2 .ServiceProvider .GetRequiredService(); - messagingService.Run(); + await messagingService.RunAsync(); application.Shutdown(); } From f741e77f20c1cf0980da88a7f141717a865ec165 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 26 Aug 2019 14:48:14 +0300 Subject: [PATCH 126/149] feature(core): implement angular locale system add new feature to ellipsis.directive --- .../src/lib/constants/different-locales.ts | 33 ++++++++++++++ .../packages/core/src/lib/constants/index.ts | 1 + .../packages/core/src/lib/core.module.ts | 20 ++++++--- .../src/lib/directives/ellipsis.directive.ts | 9 +++- .../packages/core/src/lib/providers/index.ts | 1 + .../core/src/lib/providers/locale.provider.ts | 24 ++++++++++ .../src/lib/services/localization.service.ts | 44 ++++++++++++++++--- .../core/src/lib/states/config.state.ts | 14 +++--- .../core/src/lib/states/session.state.ts | 9 +++- .../core/src/lib/utils/initial-utils.ts | 26 +++++++++++ npm/ng-packs/packages/core/src/public-api.ts | 2 +- .../application-layout.component.ts | 1 - .../theme-shared/src/lib/contants/styles.ts | 8 +++- 13 files changed, 169 insertions(+), 23 deletions(-) create mode 100644 npm/ng-packs/packages/core/src/lib/constants/different-locales.ts create mode 100644 npm/ng-packs/packages/core/src/lib/providers/index.ts create mode 100644 npm/ng-packs/packages/core/src/lib/providers/locale.provider.ts diff --git a/npm/ng-packs/packages/core/src/lib/constants/different-locales.ts b/npm/ng-packs/packages/core/src/lib/constants/different-locales.ts new file mode 100644 index 0000000000..401a766fda --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/constants/different-locales.ts @@ -0,0 +1,33 @@ +// Different locales from .NET +// Key is .NET locale, value is Angular locale + +export default { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; diff --git a/npm/ng-packs/packages/core/src/lib/constants/index.ts b/npm/ng-packs/packages/core/src/lib/constants/index.ts index e69de29bb2..54aaba730c 100644 --- a/npm/ng-packs/packages/core/src/lib/constants/index.ts +++ b/npm/ng-packs/packages/core/src/lib/constants/index.ts @@ -0,0 +1 @@ +export * from './different-locales'; diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index d967ae74c9..e9d6c87836 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -8,21 +8,22 @@ import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; import { DynamicLayoutComponent } from './components/dynamic-layout.component'; import { RouterOutletComponent } from './components/router-outlet.component'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { EllipsisDirective } from './directives/ellipsis.directive'; +import { FormSubmitDirective } from './directives/form-submit.directive'; import { PermissionDirective } from './directives/permission.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; import { VisibilityDirective } from './directives/visibility.directive'; import { ApiInterceptor } from './interceptors/api.interceptor'; import { ABP } from './models/common'; import { LocalizationPipe } from './pipes/localization.pipe'; import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin'; +import { LocaleProvider } from './providers/locale.provider'; import { ConfigState } from './states/config.state'; import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; -import { getInitialData } from './utils/initial-utils'; -import { EllipsisDirective } from './directives/ellipsis.directive'; -import { AutofocusDirective } from './directives/autofocus.directive'; -import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; -import { FormSubmitDirective } from './directives/form-submit.directive'; +import { getInitialData, localeInitializer } from './utils/initial-utils'; @NgModule({ imports: [ @@ -73,6 +74,7 @@ export class CoreModule { return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: NGXS_PLUGINS, useClass: ConfigPlugin, @@ -93,6 +95,12 @@ export class CoreModule { deps: [Injector], useFactory: getInitialData, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: localeInitializer, + }, ], }; } diff --git a/npm/ng-packs/packages/core/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/ellipsis.directive.ts index c43b6fc923..fbfba8edda 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/ellipsis.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/ellipsis.directive.ts @@ -14,14 +14,19 @@ export class EllipsisDirective implements AfterContentInit { @Input('abpEllipsisEnabled') enabled = true; + @HostBinding('class.abp-ellipsis-inline') + get inlineClass() { + return this.enabled && this.width; + } + @HostBinding('class.abp-ellipsis') get class() { - return this.enabled; + return this.enabled && !this.width; } @HostBinding('style.max-width') get maxWidth() { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; } constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {} diff --git a/npm/ng-packs/packages/core/src/lib/providers/index.ts b/npm/ng-packs/packages/core/src/lib/providers/index.ts new file mode 100644 index 0000000000..fcbdb58be2 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/providers/index.ts @@ -0,0 +1 @@ +export * from './locale.provider'; diff --git a/npm/ng-packs/packages/core/src/lib/providers/locale.provider.ts b/npm/ng-packs/packages/core/src/lib/providers/locale.provider.ts new file mode 100644 index 0000000000..a0dce3c8bf --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/providers/locale.provider.ts @@ -0,0 +1,24 @@ +import { LOCALE_ID, Provider } from '@angular/core'; +import localesMapping from '../constants/different-locales'; +import { LocalizationService } from '../services/localization.service'; + +export class LocaleId extends String { + constructor(private localizationService: LocalizationService) { + super(); + } + + toString(): string { + const { currentLang } = this.localizationService; + return localesMapping[currentLang] || currentLang; + } + + valueOf(): string { + return this.toString(); + } +} + +export const LocaleProvider: Provider = { + provide: LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], +}; diff --git a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts index a86ef53203..4dba26bc1f 100644 --- a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts @@ -1,11 +1,45 @@ -import { Injectable } from '@angular/core'; -import { Store } from '@ngxs/store'; -import { ConfigState } from '../states'; -import { Observable } from 'rxjs'; +import { Injectable, Optional, SkipSelf } from '@angular/core'; +import { ActivatedRouteSnapshot, Router } from '@angular/router'; +import { Actions, Store } from '@ngxs/store'; +import { noop, Observable } from 'rxjs'; +import { ConfigState } from '../states/config.state'; +import { SessionState } from '../states/session.state'; +import { registerLocale } from '../utils/initial-utils'; + +type ShouldReuseRoute = (future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot) => boolean; @Injectable({ providedIn: 'root' }) export class LocalizationService { - constructor(private store: Store) {} + get currentLang(): string { + return this.store.selectSnapshot(SessionState.getLanguage); + } + + constructor( + private store: Store, + private router: Router, + private actions: Actions, + @Optional() + @SkipSelf() + otherInstance: LocalizationService, + ) { + if (otherInstance) throw new Error('LocaleService should have only one instance.'); + } + + private setRouteReuse(reuse: ShouldReuseRoute) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + } + + registerLocale(locale: string) { + const { shouldReuseRoute } = this.router.routeReuseStrategy; + + this.setRouteReuse(() => false); + this.router.navigated = false; + + return registerLocale(locale).then(async () => { + await this.router.navigateByUrl(this.router.url).catch(noop); + this.setRouteReuse(shouldReuseRoute); + }); + } get(keys: string, ...interpolateParams: string[]): Observable { return this.store.select(ConfigState.getCopy(keys, ...interpolateParams)); diff --git a/npm/ng-packs/packages/core/src/lib/states/config.state.ts b/npm/ng-packs/packages/core/src/lib/states/config.state.ts index ccad1a6439..9ad6c08527 100644 --- a/npm/ng-packs/packages/core/src/lib/states/config.state.ts +++ b/npm/ng-packs/packages/core/src/lib/states/config.state.ts @@ -169,11 +169,15 @@ export class ConfigState { ...configuration, }), ), - switchMap(configuration => - this.store.selectSnapshot(SessionState.getLanguage) - ? of(null) - : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))), - ), + switchMap(configuration => { + let defaultLang: string = configuration.setting.values['Abp.Localization.DefaultLanguage']; + + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + + return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang)); + }), ); } diff --git a/npm/ng-packs/packages/core/src/lib/states/session.state.ts b/npm/ng-packs/packages/core/src/lib/states/session.state.ts index 58d0eddcfa..0754b0d62b 100644 --- a/npm/ng-packs/packages/core/src/lib/states/session.state.ts +++ b/npm/ng-packs/packages/core/src/lib/states/session.state.ts @@ -1,6 +1,9 @@ import { Action, Selector, State, StateContext } from '@ngxs/store'; import { SetLanguage, SetTenant } from '../actions/session.actions'; import { ABP, Session } from '../models'; +import { GetAppConfiguration } from '../actions/config.actions'; +import { LocalizationService } from '../services/localization.service'; +import { from, combineLatest } from 'rxjs'; @State({ name: 'SessionState', @@ -17,13 +20,15 @@ export class SessionState { return tenant; } - constructor() {} + constructor(private localizationService: LocalizationService) {} @Action(SetLanguage) - setLanguage({ patchState }: StateContext, { payload }: SetLanguage) { + setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage) { patchState({ language: payload, }); + + return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]); } @Action(SetTenant) diff --git a/npm/ng-packs/packages/core/src/lib/utils/initial-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/initial-utils.ts index 6efba1e19b..7cf870667b 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/initial-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/initial-utils.ts @@ -1,6 +1,9 @@ +import { registerLocaleData } from '@angular/common'; import { Injector } from '@angular/core'; import { Store } from '@ngxs/store'; import { GetAppConfiguration } from '../actions/config.actions'; +import differentLocales from '../constants/different-locales'; +import { SessionState } from '../states/session.state'; export function getInitialData(injector: Injector) { const fn = function() { @@ -11,3 +14,26 @@ export function getInitialData(injector: Injector) { return fn; } + +export function localeInitializer(injector: Injector) { + const fn = function() { + const store: Store = injector.get(Store); + + const lang = store.selectSnapshot(SessionState.getLanguage) || 'en'; + + return new Promise((resolve, reject) => { + registerLocale(lang).then(() => resolve(), reject); + }); + }; + + return fn; +} + +export function registerLocale(locale: string) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + `@angular/common/locales/${differentLocales[locale] || locale}.js` + ).then(module => { + registerLocaleData(module.default); + }); +} diff --git a/npm/ng-packs/packages/core/src/public-api.ts b/npm/ng-packs/packages/core/src/public-api.ts index b10edcbbc9..0209f124de 100644 --- a/npm/ng-packs/packages/core/src/public-api.ts +++ b/npm/ng-packs/packages/core/src/public-api.ts @@ -5,7 +5,7 @@ // export * from './lib/handlers'; export * from './lib/actions'; export * from './lib/components'; -// export * from './lib/constants'; +export * from './lib/constants'; export * from './lib/directives'; export * from './lib/enums'; export * from './lib/guards'; diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts index 7bdbdf58ed..c942aa7c92 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts @@ -147,7 +147,6 @@ export class ApplicationLayoutComponent implements AfterViewInit, OnDestroy { onChangeLang(cultureName: string) { this.store.dispatch(new SetLanguage(cultureName)); - this.store.dispatch(new GetAppConfiguration()); } logout() { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts b/npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts index 78e68cc7f8..0cf6b5c2dd 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts @@ -32,13 +32,19 @@ export default ` background-color: rgba(0, 0, 0, .6); } -.abp-ellipsis { +.abp-ellipsis-inline { display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.abp-ellipsis { + overflow: hidden !important; + text-overflow: ellipsis; + white-space: nowrap; +} + /* Date: Mon, 26 Aug 2019 20:37:23 +0300 Subject: [PATCH 127/149] IdentityModelAuthenticationService support custom parameters --- .../Volo/Abp/Cli/Auth/AuthService.cs | 30 +++++---- .../Volo/Abp/Cli/Commands/LoginCommand.cs | 15 ++++- .../IdentityClientConfiguration.cs | 2 +- .../IdentityModelAuthenticationService.cs | 63 ++++++++++++++----- .../AbpResourceOwnerPasswordValidator.cs | 2 +- 5 files changed, 81 insertions(+), 31 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs index fa94eb00bb..66d16f9305 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using System.Text; using System.Threading.Tasks; using IdentityModel; @@ -17,20 +18,25 @@ namespace Volo.Abp.Cli.Auth AuthenticationService = authenticationService; } - public async Task LoginAsync(string userName, string password) + public async Task LoginAsync(string userName, string password, string organizationName = null) { - var accessToken = await AuthenticationService.GetAccessTokenAsync( - new IdentityClientConfiguration( - CliUrls.AccountAbpIo, - "role email abpio_www abpio_commercial", - "abp-cli", - "1q2w3e*", - OidcConstants.GrantTypes.Password, - userName, - password - ) + var configuration = new IdentityClientConfiguration( + CliUrls.AccountAbpIo, + "role email abpio abpio_www abpio_commercial", + "abp-cli", + "1q2w3e*", + OidcConstants.GrantTypes.Password, + userName, + password ); + if (!organizationName.IsNullOrWhiteSpace()) + { + configuration["[o]abp-organization-name"] = organizationName; + } + + var accessToken = await AuthenticationService.GetAccessTokenAsync(configuration); + File.WriteAllText(CliPaths.AccessToken, accessToken, Encoding.UTF8); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs index 4521d1fb86..030f474c96 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs @@ -44,7 +44,11 @@ namespace Volo.Abp.Cli.Commands ); } - await AuthService.LoginAsync(commandLineArgs.Target, password); + await AuthService.LoginAsync( + commandLineArgs.Target, + password, + commandLineArgs.Options.GetOrNull(Options.Organization.Short, Options.Organization.Long) + ); Logger.LogInformation($"Successfully logged in as '{commandLineArgs.Target}'"); } @@ -70,5 +74,14 @@ namespace Volo.Abp.Cli.Commands { return string.Empty; } + + public static class Options + { + public static class Organization + { + public const string Short = "o"; + public const string Long = "organization"; + } + } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityClientConfiguration.cs b/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityClientConfiguration.cs index e2e6e45e49..17040ff1db 100644 --- a/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityClientConfiguration.cs +++ b/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityClientConfiguration.cs @@ -81,7 +81,7 @@ namespace Volo.Abp.IdentityModel get => this.GetOrDefault(nameof(RequireHttps))?.To() ?? true; set => this[nameof(RequireHttps)] = value.ToString().ToLowerInvariant(); } - + public IdentityClientConfiguration() { diff --git a/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs b/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs index 032bd15457..c5ce0b854d 100644 --- a/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs +++ b/framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs @@ -6,6 +6,7 @@ using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using System; using System.Collections.Generic; +using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; @@ -117,26 +118,12 @@ namespace Volo.Abp.IdentityModel { case OidcConstants.GrantTypes.ClientCredentials: return await httpClient.RequestClientCredentialsTokenAsync( - new ClientCredentialsTokenRequest - { - Address = discoveryResponse.TokenEndpoint, - Scope = configuration.Scope, - ClientId = configuration.ClientId, - ClientSecret = configuration.ClientSecret - }, + await CreateClientCredentialsTokenRequestAsync(discoveryResponse, configuration), CancellationTokenProvider.Token ); case OidcConstants.GrantTypes.Password: return await httpClient.RequestPasswordTokenAsync( - new PasswordTokenRequest - { - Address = discoveryResponse.TokenEndpoint, - Scope = configuration.Scope, - ClientId = configuration.ClientId, - ClientSecret = configuration.ClientSecret, - UserName = configuration.UserName, - Password = configuration.UserPassword - }, + await CreatePasswordTokenRequestAsync(discoveryResponse, configuration), CancellationTokenProvider.Token ); default: @@ -144,5 +131,49 @@ namespace Volo.Abp.IdentityModel } } } + + protected virtual Task CreatePasswordTokenRequestAsync(DiscoveryResponse discoveryResponse, IdentityClientConfiguration configuration) + { + var request = new PasswordTokenRequest + { + Address = discoveryResponse.TokenEndpoint, + Scope = configuration.Scope, + ClientId = configuration.ClientId, + ClientSecret = configuration.ClientSecret, + UserName = configuration.UserName, + Password = configuration.UserPassword + }; + + AddParametersToRequestAsync(configuration, request); + + return Task.FromResult(request); + } + + protected virtual Task CreateClientCredentialsTokenRequestAsync( + DiscoveryResponse discoveryResponse, + IdentityClientConfiguration configuration) + { + var request = new ClientCredentialsTokenRequest + { + Address = discoveryResponse.TokenEndpoint, + Scope = configuration.Scope, + ClientId = configuration.ClientId, + ClientSecret = configuration.ClientSecret + }; + + AddParametersToRequestAsync(configuration, request); + + return Task.FromResult(request); + } + + protected virtual Task AddParametersToRequestAsync(IdentityClientConfiguration configuration, Request request) + { + foreach (var pair in configuration.Where(p => p.Key.StartsWith("[o]", StringComparison.OrdinalIgnoreCase))) + { + request.Parameters[pair.Key] = pair.Value; + } + + return Task.CompletedTask; + } } } diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs index 7c46fbd1ea..00d5d1039a 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs @@ -15,7 +15,7 @@ using Volo.Abp.Uow; namespace Volo.Abp.IdentityServer.AspNetIdentity { - public class AbpResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator //ResourceOwnerPasswordValidator + public class AbpResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator { private readonly SignInManager _signInManager; private readonly IEventService _events; From 97af208f9a9f9d359d73f516ca58759b50254cce Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 27 Aug 2019 12:02:19 +0300 Subject: [PATCH 128/149] fix(tenant-management): change checkbox html element --- .../lib/components/tenants/tenants.component.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html index cd1abf487d..04f6c86a3b 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html @@ -127,22 +127,22 @@
    -
    + + From adf32c1cb265c2d2e06d158cf4c0453f041c0f75 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 27 Aug 2019 12:03:29 +0300 Subject: [PATCH 129/149] fix(tenant-management): fix default connection string modal validation issue #1641 --- .../lib/components/tenants/tenants.component.ts | 16 ++++++---------- .../lib/services/tenant-management.service.ts | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index 57e39f6fc4..8624862323 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -93,7 +93,7 @@ export class TenantsComponent { private createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: [this.defaultConnectionString || '', Validators.required], + defaultConnectionString: [this.defaultConnectionString || ''], }); } @@ -150,14 +150,8 @@ export class TenantsComponent { } saveConnectionString() { - if (this.defaultConnectionStringForm.invalid) { - this.defaultConnectionStringForm.get('defaultConnectionString').markAsDirty(); - this.defaultConnectionStringForm.get('defaultConnectionString').updateValueAndValidity(); - return; - } - this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) .pipe( @@ -170,9 +164,11 @@ export class TenantsComponent { } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe( + take(1), + finalize(() => (this.modalBusy = false)), + ) .subscribe(() => { - this.modalBusy = false; this.isModalVisible = false; }); } diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts index c89ee6577a..5763efa4d2 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts @@ -83,7 +83,7 @@ export class TenantManagementService { } deleteDefaultConnectionString(id: string): Observable { - const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; const request: Rest.Request = { method: 'DELETE', From 63b8d82069885bd53820ae5a85ff794c9f5ec34d Mon Sep 17 00:00:00 2001 From: Dillan Cagnetta Date: Tue, 27 Aug 2019 11:20:10 +0200 Subject: [PATCH 130/149] Added: postgreSQL documentation --- docs/en/Best-Practices/Index.md | 1 + .../Best-Practices/PostgreSQL-Integration.md | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 docs/en/Best-Practices/PostgreSQL-Integration.md diff --git a/docs/en/Best-Practices/Index.md b/docs/en/Best-Practices/Index.md index 93d6409909..68d8d98d53 100644 --- a/docs/en/Best-Practices/Index.md +++ b/docs/en/Best-Practices/Index.md @@ -24,4 +24,5 @@ Also, this guide is mostly usable for general **application development**. * Data Access * [Entity Framework Core Integration](Entity-Framework-Core-Integration.md) * [MongoDB Integration](MongoDB-Integration.md) + * [PostgreSQL Integration](PostgreSQL-Integration.md) diff --git a/docs/en/Best-Practices/PostgreSQL-Integration.md b/docs/en/Best-Practices/PostgreSQL-Integration.md new file mode 100644 index 0000000000..82d3cc9421 --- /dev/null +++ b/docs/en/Best-Practices/PostgreSQL-Integration.md @@ -0,0 +1,61 @@ +## Entity Framework Core PostgreSQL Integration + +> See [Entity Framework Core Integration document](../Entity-Framework-Core.md) for the basics of the EF Core integration. + +### EntityFrameworkCore Project Update + +- In `Acme.BookStore.EntityFrameworkCore` project replace package `Volo.Abp.EntityFrameworkCore.SqlServer` with `Volo.Abp.EntityFrameworkCore.PostgreSql` +- Update to use PostgreSQL in `BookStoreEntityFrameworkCoreModule`. Example: + +````C# +[DependsOn( + //code omitted for brevity + + /* This was updated from AbpEntityFrameworkCoreSqlServerModule */ + typeof(AbpEntityFrameworkCorePostgreSqlModule), + /* This was updated from AbpEntityFrameworkCoreSqlServerModule */ + + //code omitted for brevity + )] +public class Acme.BookStore.EntityFrameworkCoreModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddAbpDbContext(options => + { + options.AddDefaultRepositories(includeAllEntities: true); + }); + + Configure(options => + { + /* This was updated */ + options.UsePostgreSql(); + /* This was updated */ + }); + } + } +```` + +### EntityFrameworkCore.DbMigrations Project Update +- **Do** update to use PostgreSQL in `BookStoreMigrationsDbContextModelSnapshot.cs` + +import `Npgsql.EntityFrameworkCore.PostgreSQL.Metadata` by adding + +````C# +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +```` + +replace all references +```` +.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); +```` + + to + +````C# +.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); +```` + +### Update Connection String Settings +> Update the PostgreSQL connection string in all `appsettings.json` files + From 74364db826056daf4be8d5aeef94eb2b120b953d Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 27 Aug 2019 15:02:58 +0300 Subject: [PATCH 131/149] refactor(core): create config folder and move the config.plugin --- npm/ng-packs/packages/core/src/lib/core.module.ts | 12 ++++++------ .../src/lib/plugins/{ => config}/config.plugin.ts | 4 ++-- npm/ng-packs/packages/core/src/lib/plugins/index.ts | 2 +- .../theme-shared/src/lib/abstracts/toaster.ts | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) rename npm/ng-packs/packages/core/src/lib/plugins/{ => config}/config.plugin.ts (96%) diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index d967ae74c9..b0659fcd18 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -8,21 +8,21 @@ import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; import { DynamicLayoutComponent } from './components/dynamic-layout.component'; import { RouterOutletComponent } from './components/router-outlet.component'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { EllipsisDirective } from './directives/ellipsis.directive'; +import { FormSubmitDirective } from './directives/form-submit.directive'; import { PermissionDirective } from './directives/permission.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; import { VisibilityDirective } from './directives/visibility.directive'; import { ApiInterceptor } from './interceptors/api.interceptor'; import { ABP } from './models/common'; import { LocalizationPipe } from './pipes/localization.pipe'; -import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin'; +import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin'; import { ConfigState } from './states/config.state'; import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; import { getInitialData } from './utils/initial-utils'; -import { EllipsisDirective } from './directives/ellipsis.directive'; -import { AutofocusDirective } from './directives/autofocus.directive'; -import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; -import { FormSubmitDirective } from './directives/form-submit.directive'; @NgModule({ imports: [ diff --git a/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts b/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts similarity index 96% rename from npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts rename to npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts index 05f7a12250..361c48b08b 100644 --- a/npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts +++ b/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts @@ -2,8 +2,8 @@ import { Inject, Injectable, InjectionToken } from '@angular/core'; import { Router, Routes } from '@angular/router'; import { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store'; import snq from 'snq'; -import { ABP } from '../models'; -import { organizeRoutes } from '../utils/route-utils'; +import { ABP } from '../../models'; +import { organizeRoutes } from '../../utils/route-utils'; export const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS'); diff --git a/npm/ng-packs/packages/core/src/lib/plugins/index.ts b/npm/ng-packs/packages/core/src/lib/plugins/index.ts index 42ab2f291c..7107ea01dd 100644 --- a/npm/ng-packs/packages/core/src/lib/plugins/index.ts +++ b/npm/ng-packs/packages/core/src/lib/plugins/index.ts @@ -1 +1 @@ -export * from './config.plugin'; +export * from './config/config.plugin'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/abstracts/toaster.ts b/npm/ng-packs/packages/theme-shared/src/lib/abstracts/toaster.ts index ece1288c7a..57870ec620 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/abstracts/toaster.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/abstracts/toaster.ts @@ -31,8 +31,8 @@ export class AbstractToaster { this.messageService.add({ severity, - detail: message, - summary: title, + detail: message || '', + summary: title || '', ...options, key: this.key, ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }), From 12ce2204c070f322bec792b1cb1121363d1221dc Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 28 Aug 2019 16:42:31 +0800 Subject: [PATCH 132/149] CliAnalytics add UiFramework field. --- .../Analyticses/CliAnalyticsCollectInputDto.cs | 2 ++ .../Abp/Cli/ProjectBuilding/ProjectBuilder.cs | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollectInputDto.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollectInputDto.cs index 6017d87b24..0358dd728a 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollectInputDto.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollectInputDto.cs @@ -16,6 +16,8 @@ namespace Volo.Abp.Cli.ProjectBuilding.Analyticses public bool? IsTiered { get; set; } + public string UiFramework { get; set; } + public string Options { get; set; } public string Language { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs index a2e885d79a..1807e8345a 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Volo.Abp.Cli.Commands; using Volo.Abp.Cli.Licensing; using Volo.Abp.Cli.ProjectBuilding.Analyticses; using Volo.Abp.Cli.ProjectBuilding.Building; @@ -73,10 +74,16 @@ namespace Volo.Abp.Cli.ProjectBuilding // Exclude unwanted or known options. var options = args.ExtraProperties - .Where(x => x.Key != CliConsts.Command) - .Where(x => x.Key != "tiered") - .Where(x => x.Key != "database-provider" && x.Key != "d") - .Where(x => x.Key != "output-folder" && x.Key != "o") + .Where(x => !x.Key.Equals(CliConsts.Command, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals("tiered", StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals(NewCommand.Options.DatabaseProvider.Long, StringComparison.InvariantCultureIgnoreCase) && + !x.Key.Equals(NewCommand.Options.DatabaseProvider.Short, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals(NewCommand.Options.OutputFolder.Long, StringComparison.InvariantCultureIgnoreCase) && + !x.Key.Equals(NewCommand.Options.OutputFolder.Short, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals(NewCommand.Options.UiFramework.Long, StringComparison.InvariantCultureIgnoreCase) && + !x.Key.Equals(NewCommand.Options.UiFramework.Short, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals(NewCommand.Options.Version.Long, StringComparison.InvariantCultureIgnoreCase) && + !x.Key.Equals(NewCommand.Options.Version.Short, StringComparison.InvariantCultureIgnoreCase)) .Select(x => x.Key).ToList(); await CliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto @@ -85,6 +92,7 @@ namespace Volo.Abp.Cli.ProjectBuilding Command = args.ExtraProperties.ContainsKey(CliConsts.Command) ? args.ExtraProperties[CliConsts.Command] : "", DatabaseProvider = args.DatabaseProvider.ToProviderName(), IsTiered = args.ExtraProperties.ContainsKey("tiered"), + UiFramework = args.UiFramework.ToFrameworkName(), Options = JsonSerializer.Serialize(options), ProjectName = args.SolutionName.FullName, TemplateName = args.TemplateName, From 5c4a8dd08f7396f47b4defca5e2dd5755d815aec Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 28 Aug 2019 17:36:02 +0800 Subject: [PATCH 133/149] Resolve #1687 Dapper integration documentation. --- docs/en/Dapper.md | 61 +++++++++++++++++++++++++++ docs/en/docs-nav.json | 4 ++ docs/zh-Hans/Dapper.md | 61 +++++++++++++++++++++++++++ docs/zh-Hans/Entity-Framework-Core.md | 2 +- docs/zh-Hans/docs-nav.json | 4 ++ 5 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 docs/en/Dapper.md create mode 100644 docs/zh-Hans/Dapper.md diff --git a/docs/en/Dapper.md b/docs/en/Dapper.md new file mode 100644 index 0000000000..d8b17838eb --- /dev/null +++ b/docs/en/Dapper.md @@ -0,0 +1,61 @@ +# Dapper Integration + +Because Dapper's idea is that the sql statement takes precedence, and mainly provides some extension methods for the `IDbConnection` interface. + +Abp does not encapsulate too many functions for Dapper. Abp Dapper provides a `DapperRepository` base class based on Abp EntityFrameworkCore, which provides the `IDbConnection` and `IDbTransaction` properties required by Dapper. + +These two properties can work well with [Unit-Of-Work](Unit-Of-Work.md). + +## Installation + +Please install and configure EF Core according to [EF Core's integrated documentation](Entity-Framework-Core.md). + +`Volo.Abp.Dapper` is the main nuget package for the Dapper integration. Install it to your project (for a layered application, to your data/infrastructure layer): + +```shell +Install-Package Volo.Abp.Dapper +``` + +Then add `AbpDapperModule` module dependency (`DependsOn` attribute) to your [module](Module-Development-Basics.md): + +````C# +using Volo.Abp.Dapper; +using Volo.Abp.Modularity; + +namespace MyCompany.MyProject +{ + [DependsOn(typeof(AbpDapperModule))] + public class MyModule : AbpModule + { + //... + } +} +```` + +## Implement Dapper Repository + +The following code implements the `Person` repository, which requires EF Core's `DbContext` (MyAppDbContext). You can inject `PersonDapperRepository` to call its methods. + +`DbConnection` and `DbTransaction` are from the `DapperRepository` base class. + +```C# +public class PersonDapperRepository : DapperRepository, ITransientDependency +{ + public PersonDapperRepository(IDbContextProvider dbContextProvider) + : base(dbContextProvider) + { + } + + public virtual async Task> GetAllPersonNames() + { + return (await DbConnection.QueryAsync("select Name from People", transaction: DbTransaction)) + .ToList(); + } + + public virtual async Task UpdatePersonNames(string name) + { + return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, + DbTransaction); + } +} +``` diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 6773c81079..85c58cd3f1 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -250,6 +250,10 @@ { "text": "MongoDB Integration", "path": "MongoDB.md" + }, + { + "text": "Dapper Integration", + "path": "Dapper.md" } ] }, diff --git a/docs/zh-Hans/Dapper.md b/docs/zh-Hans/Dapper.md new file mode 100644 index 0000000000..60289abd00 --- /dev/null +++ b/docs/zh-Hans/Dapper.md @@ -0,0 +1,61 @@ +# Dapper 集成 + +由于Dapper的思想是sql语句优先, 且主要为`IDbConnection`接口提供了一些扩展方法. + +Abp并没有为Dapper封装太多功能. Abp Dapper在Abp EntityFrameworkCore的基础上提供了`DapperRepository`基类, 在其中提供了Dapper需要的`IDbConnection`和`IDbTransaction`属性. + +这两个属性可以和[工作单元](Unit-Of-Work.md)很好的配合. + +## 安装 + +请先根据[EF Core的集成文档](Entity-Framework-Core.md)安装并配置好EF Core. + +`Volo.Abp.Dapper`是Dapper集成的主要nuget包. 将其安装到你的项目中(在分层应用程序中适用于 数据访问/基础设施层): + +```shell +Install-Package Volo.Abp.Dapper +``` + +然后添加 `AbpDapperModule` 模块依赖项(`DependsOn` Attribute) 到 [module](Module-Development-Basics.cn.md)(项目中的Mudole类): + +````C# +using Volo.Abp.Dapper; +using Volo.Abp.Modularity; + +namespace MyCompany.MyProject +{ + [DependsOn(typeof(AbpDapperModule))] + public class MyModule : AbpModule + { + //... + } +} +```` + +## 实现Dapper仓储 + +下面的代码实现了`Person`仓储, 它需要EF Core的`DbContext`(MyAppDbContext). 你可以注入`PersonDapperRepository`来调用它的方法. + +`DbConnection`和`DbTransaction`来自于`DapperRepository`基类. + +```C# +public class PersonDapperRepository : DapperRepository, ITransientDependency +{ + public PersonDapperRepository(IDbContextProvider dbContextProvider) + : base(dbContextProvider) + { + } + + public virtual async Task> GetAllPersonNames() + { + return (await DbConnection.QueryAsync("select Name from People", transaction: DbTransaction)) + .ToList(); + } + + public virtual async Task UpdatePersonNames(string name) + { + return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, + DbTransaction); + } +} +``` diff --git a/docs/zh-Hans/Entity-Framework-Core.md b/docs/zh-Hans/Entity-Framework-Core.md index e709767652..6a7f69c2aa 100644 --- a/docs/zh-Hans/Entity-Framework-Core.md +++ b/docs/zh-Hans/Entity-Framework-Core.md @@ -10,7 +10,7 @@ Install-Package Volo.Abp.EntityFrameworkCore ``` -然后添加 `AbpEntityFrameworkCoreModule` 模块依赖项(`DependsOn` Attribute) 到 [module](Module-Development-Basics.cn.md)(项目中的Mudole类): +然后添加 `AbpEntityFrameworkCoreModule` 模块依赖项(`DependsOn` Attribute) 到 [module](Module-Development-Basics.md)(项目中的Mudole类): ````C# using Volo.Abp.EntityFrameworkCore; diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index fb147ac0fe..60c4afb3d7 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -242,6 +242,10 @@ { "text": "MongoDB 集成", "path": "MongoDB.md" + }, + { + "text": "Dapper 集成", + "path": "Dapper.md" } ] }, From 9d82f00341b71523c3ac17d401818f7619f688b6 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 28 Aug 2019 16:06:18 +0300 Subject: [PATCH 134/149] refactor(theme-shared): rename slide.animation --- .../lib/animations/{slide.animation.ts => slide.animations.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename npm/ng-packs/packages/theme-shared/src/lib/animations/{slide.animation.ts => slide.animations.ts} (100%) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/animations/slide.animation.ts b/npm/ng-packs/packages/theme-shared/src/lib/animations/slide.animations.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/src/lib/animations/slide.animation.ts rename to npm/ng-packs/packages/theme-shared/src/lib/animations/slide.animations.ts From ad5a83f4407aad6301674a71959fbbf573b4b74a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 28 Aug 2019 16:07:14 +0300 Subject: [PATCH 135/149] feature(theme-shared): create breadcrumb.component --- .../breadcrumb/breadcrumb.component.ts | 51 +++++++++++++++++++ .../theme-shared/src/lib/components/index.ts | 1 + 2 files changed, 52 insertions(+) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts new file mode 100644 index 0000000000..09e8e588a5 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts @@ -0,0 +1,51 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngxs/store'; +import { ConfigState, ABP } from '@abp/ng.core'; + +@Component({ + selector: 'abp-breadcrumb', + template: ` + + `, +}) +export class BreadcrumbComponent implements OnInit { + show: boolean; + + segments: string[] = []; + + constructor(private router: Router, private store: Store) { + this.show = !!this.store.selectSnapshot(state => state.LeptonLayoutState); + } + + ngOnInit(): void { + const splittedUrl = this.router.url.split('/').filter(chunk => chunk); + + const currentUrl: ABP.FullRoute = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0])); + this.segments.push(currentUrl.name); + + if (splittedUrl.length > 1) { + const [, ...arr] = splittedUrl; + + let childRoute: ABP.FullRoute = currentUrl; + for (let i = 0; i < arr.length; i++) { + const element = arr[i]; + childRoute = childRoute.children.find(child => child.path === element); + + this.segments.push(childRoute.name); + } + } + } +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts index 3d94c64329..9665c263e5 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/index.ts @@ -1,4 +1,5 @@ export * from './button/button.component'; +export * from './breadcrumb/breadcrumb.component'; export * from './change-password/change-password.component'; export * from './confirmation/confirmation.component'; export * from './loader-bar/loader-bar.component'; From b2f2dec03eb1bb931f0aba61f65e03257c19ce52 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 28 Aug 2019 16:09:11 +0300 Subject: [PATCH 136/149] feature(theme-shared): add setting-management package --- npm/ng-packs/angular.json | 35 ++++ .../account/src/lib/constants/routes.ts | 21 ++- .../components/dynamic-layout.component.ts | 2 +- .../src/lib/plugins/config/config.plugin.ts | 6 +- .../core/src/lib/states/config.state.ts | 30 +++ .../core/src/lib/utils/common-utils.ts | 4 + .../packages/core/src/lib/utils/index.ts | 1 + .../identity/src/lib/constants/routes.ts | 43 +++-- .../packages/setting-management/README.md | 1 + .../packages/setting-management/karma.conf.js | 32 ++++ .../setting-management/ng-package.json | 8 + .../packages/setting-management/package.json | 10 + .../src/lib/components/index.ts | 1 + .../components/services/initial.service.ts | 17 ++ .../components/setting/setting.component.html | 176 ++++++++++++++++++ .../components/setting/setting.component.ts | 20 ++ .../src/lib/constants/index.ts | 1 + .../src/lib/constants/routes.ts | 15 ++ .../lib/setting-management-routing.module.ts | 18 ++ .../src/lib/setting-management.module.ts | 15 ++ .../setting-management/src/public-api.ts | 3 + .../packages/setting-management/src/test.ts | 21 +++ .../setting-management/tsconfig.lib.json | 26 +++ .../setting-management/tsconfig.spec.json | 17 ++ .../packages/setting-management/tslint.json | 17 ++ .../src/lib/constants/routes.ts | 37 ++-- .../src/lib/animations/fade.animations.ts | 7 + .../theme-shared/src/lib/animations/index.ts | 3 +- .../theme-shared/src/lib/models/index.ts | 1 + .../src/lib/models/setting-management.ts | 8 + .../src/lib/theme-shared.module.ts | 3 + 31 files changed, 548 insertions(+), 51 deletions(-) create mode 100644 npm/ng-packs/packages/core/src/lib/utils/common-utils.ts create mode 100644 npm/ng-packs/packages/setting-management/README.md create mode 100644 npm/ng-packs/packages/setting-management/karma.conf.js create mode 100644 npm/ng-packs/packages/setting-management/ng-package.json create mode 100644 npm/ng-packs/packages/setting-management/package.json create mode 100644 npm/ng-packs/packages/setting-management/src/lib/components/index.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/components/services/initial.service.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html create mode 100644 npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/constants/index.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/constants/routes.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts create mode 100644 npm/ng-packs/packages/setting-management/src/public-api.ts create mode 100644 npm/ng-packs/packages/setting-management/src/test.ts create mode 100644 npm/ng-packs/packages/setting-management/tsconfig.lib.json create mode 100644 npm/ng-packs/packages/setting-management/tsconfig.spec.json create mode 100644 npm/ng-packs/packages/setting-management/tslint.json create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/animations/fade.animations.ts create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/models/setting-management.ts diff --git a/npm/ng-packs/angular.json b/npm/ng-packs/angular.json index 819ae99025..617e907f3f 100644 --- a/npm/ng-packs/angular.json +++ b/npm/ng-packs/angular.json @@ -253,6 +253,41 @@ } } } + }, + "setting-management": { + "projectType": "library", + "root": "packages/setting-management", + "sourceRoot": "packages/setting-management/src", + "prefix": "abp", + "architect": { + "build": { + "builder": "@angular-devkit/build-ng-packagr:build", + "options": { + "tsConfig": "packages/setting-management/tsconfig.lib.json", + "project": "packages/setting-management/ng-package.json" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "packages/setting-management/src/test.ts", + "tsConfig": "packages/setting-management/tsconfig.spec.json", + "karmaConfig": "packages/setting-management/karma.conf.js" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "packages/setting-management/tsconfig.lib.json", + "packages/setting-management/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } } }, "defaultProject": "core" diff --git a/npm/ng-packs/packages/account/src/lib/constants/routes.ts b/npm/ng-packs/packages/account/src/lib/constants/routes.ts index c1ba80be83..b1a29f8009 100644 --- a/npm/ng-packs/packages/account/src/lib/constants/routes.ts +++ b/npm/ng-packs/packages/account/src/lib/constants/routes.ts @@ -1,11 +1,14 @@ import { ABP, eLayoutType } from '@abp/ng.core'; -export const ACCOUNT_ROUTES = [ - { - name: 'Account', - path: 'account', - invisible: true, - layout: eLayoutType.application, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, -] as ABP.FullRoute[]; +export const ACCOUNT_ROUTES = { + routes: [ + { + name: 'Account', + path: 'account', + invisible: true, + layout: eLayoutType.application, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ] as ABP.FullRoute[], + settings: [], +}; diff --git a/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts b/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts index 30852429f5..517e1974ad 100644 --- a/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts +++ b/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts @@ -57,7 +57,7 @@ function findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutTyp if (route.children && route.children.length && segments.length > 1) { const child = route.children.find(c => c.path === segments[1].path); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } diff --git a/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts b/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts index 361c48b08b..9064461f53 100644 --- a/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts +++ b/npm/ng-packs/packages/core/src/lib/plugins/config/config.plugin.ts @@ -38,9 +38,9 @@ export class ConfigPlugin implements NgxsPlugin { function transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any { const abpRoutes: ABP.FullRoute[] = routes .filter(route => { - return snq(() => route.data.routes.find(r => r.path === route.path), false); + return snq(() => route.data.routes.routes.find(r => r.path === route.path), false); }) - .reduce((acc, val) => [...acc, ...val.data.routes], []); + .reduce((acc, val) => [...acc, ...val.data.routes.routes], []); wrappers = abpRoutes.filter(ar => ar.wrapper); const transformed = [] as ABP.FullRoute[]; @@ -48,7 +48,7 @@ function transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): a .filter(route => (route.data || {}).routes && (route.component || route.loadChildren)) .forEach(route => { const abpPackage = abpRoutes.find( - abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false), + abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.routes.length, false), ); const { length } = transformed; diff --git a/npm/ng-packs/packages/core/src/lib/states/config.state.ts b/npm/ng-packs/packages/core/src/lib/states/config.state.ts index 9ad6c08527..aa3fa0e5e2 100644 --- a/npm/ng-packs/packages/core/src/lib/states/config.state.ts +++ b/npm/ng-packs/packages/core/src/lib/states/config.state.ts @@ -60,6 +60,17 @@ export class ConfigState { return selector; } + static getRoute(path?: string, name?: string) { + const selector = createSelector( + [ConfigState], + function(state: Config.State) { + return findRoute(state.routes, path, name); + }, + ); + + return selector; + } + static getApiUrl(key?: string) { const selector = createSelector( [ConfigState], @@ -229,3 +240,22 @@ function patchRouteDeep( return organizeRoutes(routes); } + +function findRoute(routes: ABP.FullRoute[], path?: string, name?: string) { + let foundRoute; + routes.forEach(route => { + if (foundRoute) return; + + if (path && route.path === path) { + foundRoute = route; + } else if (name && route.name === name) { + foundRoute = route; + return; + } else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + }); + + return foundRoute; +} diff --git a/npm/ng-packs/packages/core/src/lib/utils/common-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/common-utils.ts new file mode 100644 index 0000000000..ba76b0f97f --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/utils/common-utils.ts @@ -0,0 +1,4 @@ +export function noop() { + const fn = function() {}; + return fn; +} diff --git a/npm/ng-packs/packages/core/src/lib/utils/index.ts b/npm/ng-packs/packages/core/src/lib/utils/index.ts index e2a72ebd3f..0043152ada 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/index.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/index.ts @@ -1,3 +1,4 @@ +export * from './common-utils'; export * from './generator-utils'; export * from './initial-utils'; export * from './route-utils'; diff --git a/npm/ng-packs/packages/identity/src/lib/constants/routes.ts b/npm/ng-packs/packages/identity/src/lib/constants/routes.ts index f8dbcc88df..b524bac753 100644 --- a/npm/ng-packs/packages/identity/src/lib/constants/routes.ts +++ b/npm/ng-packs/packages/identity/src/lib/constants/routes.ts @@ -1,22 +1,25 @@ import { eLayoutType, ABP } from '@abp/ng.core'; -export const IDENTITY_ROUTES = [ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: eLayoutType.application, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, -] as ABP.FullRoute[]; +export const IDENTITY_ROUTES = { + routes: [ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: eLayoutType.application, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ] as ABP.FullRoute[], + settings: [], +}; diff --git a/npm/ng-packs/packages/setting-management/README.md b/npm/ng-packs/packages/setting-management/README.md new file mode 100644 index 0000000000..54044cc8c0 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/README.md @@ -0,0 +1 @@ +

     @abp/ng.setting-management

    \ No newline at end of file diff --git a/npm/ng-packs/packages/setting-management/karma.conf.js b/npm/ng-packs/packages/setting-management/karma.conf.js new file mode 100644 index 0000000000..51ccc0578d --- /dev/null +++ b/npm/ng-packs/packages/setting-management/karma.conf.js @@ -0,0 +1,32 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, '../../coverage/setting-management'), + reports: ['html', 'lcovonly', 'text-summary'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/npm/ng-packs/packages/setting-management/ng-package.json b/npm/ng-packs/packages/setting-management/ng-package.json new file mode 100644 index 0000000000..e5ba9f97fc --- /dev/null +++ b/npm/ng-packs/packages/setting-management/ng-package.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/setting-management", + "lib": { + "entryFile": "src/public-api.ts" + }, + "whitelistedNonPeerDependencies": ["@abp/ng.theme.shared"] +} diff --git a/npm/ng-packs/packages/setting-management/package.json b/npm/ng-packs/packages/setting-management/package.json new file mode 100644 index 0000000000..354fa248c3 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/package.json @@ -0,0 +1,10 @@ +{ + "name": "@abp/ng.setting-management", + "version": "0.0.1", + "dependencies": { + "@abp/ng.theme.shared": "^0.8.3" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/index.ts b/npm/ng-packs/packages/setting-management/src/lib/components/index.ts new file mode 100644 index 0000000000..4f59d5c056 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/components/index.ts @@ -0,0 +1 @@ +export * from './setting/setting.component'; diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/services/initial.service.ts b/npm/ng-packs/packages/setting-management/src/lib/components/services/initial.service.ts new file mode 100644 index 0000000000..44f289a362 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/components/services/initial.service.ts @@ -0,0 +1,17 @@ +import { SettingTab } from '@abp/ng.theme.shared'; +import { Injectable, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import snq from 'snq'; + +@Injectable() +export class InitialService { + public settings: SettingTab[]; + + constructor(private router: Router) { + this.settings = this.router.config + .map(route => snq(() => route.data.routes.settings)) + .filter(settings => settings && settings.length) + .reduce((acc, val) => [...acc, ...val], []) + .sort((a, b) => a.order - b.order); + } +} diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html new file mode 100644 index 0000000000..60da5a0508 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html @@ -0,0 +1,176 @@ +
    +
    +

    {{'AbpSettingManagement::Settings' | abpLocalization}}

    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +

    {{ selected.name | abpLocalization }}

    +
    + + +
    +
    +

    Lepton theme settings

    +
    + +
    +
    +
    +
    +
    + + + + +
    +
    + + + + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +

    Account

    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Two factor login settings

    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts new file mode 100644 index 0000000000..d61df13012 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit } from '@angular/core'; +import { SettingTab } from '@abp/ng.theme.shared'; +import { InitialService } from '../services/initial.service'; + +@Component({ + selector: 'abp-setting', + templateUrl: './setting.component.html', +}) +export class SettingComponent implements OnInit { + settings: SettingTab[]; + + selected = {} as SettingTab; + + constructor(private initialService: InitialService) {} + + ngOnInit() { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + } +} diff --git a/npm/ng-packs/packages/setting-management/src/lib/constants/index.ts b/npm/ng-packs/packages/setting-management/src/lib/constants/index.ts new file mode 100644 index 0000000000..a3820983e2 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/constants/index.ts @@ -0,0 +1 @@ +export * from './routes'; diff --git a/npm/ng-packs/packages/setting-management/src/lib/constants/routes.ts b/npm/ng-packs/packages/setting-management/src/lib/constants/routes.ts new file mode 100644 index 0000000000..067f8e9c02 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/constants/routes.ts @@ -0,0 +1,15 @@ +import { ABP, eLayoutType } from '@abp/ng.core'; + +export const SETTING_MANAGEMENT_ROUTES = { + routes: [ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: eLayoutType.application, + order: 6, + iconClass: 'fa fa-cog', + }, + ] as ABP.FullRoute[], + settings: [], +}; diff --git a/npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts b/npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts new file mode 100644 index 0000000000..dcafc14f41 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts @@ -0,0 +1,18 @@ +import { DynamicLayoutComponent } from '@abp/ng.core'; +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { SettingComponent } from './components/setting/setting.component'; + +const routes: Routes = [ + { + path: '', + component: DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class SettingManagementRoutingModule {} diff --git a/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts b/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts new file mode 100644 index 0000000000..6c0918788c --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts @@ -0,0 +1,15 @@ +import { CoreModule, noop } from '@abp/ng.core'; +import { NgModule, ModuleWithProviders, APP_INITIALIZER, Self } from '@angular/core'; +import { SettingComponent } from './components/setting/setting.component'; +import { SettingManagementRoutingModule } from './setting-management-routing.module'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { InitialService } from './components/services/initial.service'; + +@NgModule({ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule], + providers: [InitialService], +}) +export class SettingManagementModule { + constructor(@Self() initialService: InitialService) {} +} diff --git a/npm/ng-packs/packages/setting-management/src/public-api.ts b/npm/ng-packs/packages/setting-management/src/public-api.ts new file mode 100644 index 0000000000..1a713b6a24 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/public-api.ts @@ -0,0 +1,3 @@ +export * from './lib/setting-management.module'; +export * from './lib/components'; +export * from './lib/constants'; diff --git a/npm/ng-packs/packages/setting-management/src/test.ts b/npm/ng-packs/packages/setting-management/src/test.ts new file mode 100644 index 0000000000..978c64fb83 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/test.ts @@ -0,0 +1,21 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone'; +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/npm/ng-packs/packages/setting-management/tsconfig.lib.json b/npm/ng-packs/packages/setting-management/tsconfig.lib.json new file mode 100644 index 0000000000..bd23948e59 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/tsconfig.lib.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/lib", + "target": "es2015", + "declaration": true, + "inlineSources": true, + "types": [], + "lib": [ + "dom", + "es2018" + ] + }, + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true, + "enableResourceInlining": true + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/npm/ng-packs/packages/setting-management/tsconfig.spec.json b/npm/ng-packs/packages/setting-management/tsconfig.spec.json new file mode 100644 index 0000000000..16da33db07 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/tsconfig.spec.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/npm/ng-packs/packages/setting-management/tslint.json b/npm/ng-packs/packages/setting-management/tslint.json new file mode 100644 index 0000000000..8c3919ea62 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "abp", + "camelCase" + ], + "component-selector": [ + true, + "element", + "abp", + "kebab-case" + ] + } +} diff --git a/npm/ng-packs/packages/tenant-management/src/lib/constants/routes.ts b/npm/ng-packs/packages/tenant-management/src/lib/constants/routes.ts index 2fcc7004bb..6982285e95 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/constants/routes.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/constants/routes.ts @@ -1,19 +1,22 @@ import { ABP, eLayoutType } from '@abp/ng.core'; -export const TENANT_MANAGEMENT_ROUTES = [ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: eLayoutType.application, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, -] as ABP.FullRoute[]; +export const TENANT_MANAGEMENT_ROUTES = { + routes: [ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: eLayoutType.application, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ] as ABP.FullRoute[], + settings: [], +}; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/animations/fade.animations.ts b/npm/ng-packs/packages/theme-shared/src/lib/animations/fade.animations.ts new file mode 100644 index 0000000000..e03c768fbe --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/animations/fade.animations.ts @@ -0,0 +1,7 @@ +import { animate, state, style, transition, trigger } from '@angular/animations'; + +export const fade = trigger('fade', [ + state('void', style({ opacity: 1 })), + transition(':enter', [style({ opacity: 0 }), animate(250)]), + transition(':leave', animate(250, style({ opacity: 0 }))), +]); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/animations/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/animations/index.ts index 6fd1d939c4..6a03cccac4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/animations/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/animations/index.ts @@ -1 +1,2 @@ -export * from './slide.animation'; +export * from './fade.animations'; +export * from './slide.animations'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/models/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/models/index.ts index 2da3330aa7..da311b86be 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/models/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/models/index.ts @@ -1,2 +1,3 @@ export * from './confirmation'; export * from './toaster'; +export * from './setting-management'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/models/setting-management.ts b/npm/ng-packs/packages/theme-shared/src/lib/models/setting-management.ts new file mode 100644 index 0000000000..68bd0335a5 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/models/setting-management.ts @@ -0,0 +1,8 @@ +import { Type } from '@angular/core'; + +export interface SettingTab { + name: string; + order: number; + component: Type; + requiredPolicy?: string; +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index c2d920118d..639c6e5979 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -16,6 +16,7 @@ import { ButtonComponent } from './components/button/button.component'; import { ValidationErrorComponent } from './components/errors/validation-error.component'; import { ChangePasswordComponent } from './components/change-password/change-password.component'; import { ProfileComponent } from './components/profile/profile.component'; +import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; export function appendScript(injector: Injector) { const fn = function() { @@ -63,6 +64,7 @@ export function appendScript(injector: Injector) { ValidationErrorComponent, ChangePasswordComponent, ProfileComponent, + BreadcrumbComponent, ], exports: [ ButtonComponent, @@ -72,6 +74,7 @@ export function appendScript(injector: Injector) { LoaderBarComponent, ChangePasswordComponent, ProfileComponent, + BreadcrumbComponent, ], entryComponents: [ErrorComponent, ValidationErrorComponent], }) From 7c4fb3abdb341d45bce73cbb93c4f3100d08acf0 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 29 Aug 2019 15:43:15 +0300 Subject: [PATCH 137/149] feature: add root modules --- .../account/src/lib/account.module.ts | 28 +--- .../account/src/lib/root-account.module.ts | 20 +++ .../packages/account/src/public-api.ts | 5 +- .../src/lib/root-feature-management.module.ts | 11 ++ .../feature-management/src/public-api.ts | 1 + .../identity/src/lib/root-identity.module.ts | 11 ++ .../packages/identity/src/public-api.ts | 1 + .../lib/root-permission-management.module.ts | 11 ++ .../permission-management/src/public-api.ts | 1 + .../components/setting/setting.component.html | 149 ++---------------- .../components/setting/setting.component.ts | 2 +- .../src/lib/root-setting-management.module.ts | 11 ++ .../setting-management/src/public-api.ts | 1 + .../src/lib/root-tenant-management.module.ts | 11 ++ .../tenant-management/src/public-api.ts | 1 + .../src/lib/theme-shared.module.ts | 6 +- templates/app/angular/src/app/app.module.ts | 7 + 17 files changed, 110 insertions(+), 167 deletions(-) create mode 100644 npm/ng-packs/packages/account/src/lib/root-account.module.ts create mode 100644 npm/ng-packs/packages/feature-management/src/lib/root-feature-management.module.ts create mode 100644 npm/ng-packs/packages/identity/src/lib/root-identity.module.ts create mode 100644 npm/ng-packs/packages/permission-management/src/lib/root-permission-management.module.ts create mode 100644 npm/ng-packs/packages/setting-management/src/lib/root-setting-management.module.ts create mode 100644 npm/ng-packs/packages/tenant-management/src/lib/root-tenant-management.module.ts diff --git a/npm/ng-packs/packages/account/src/lib/account.module.ts b/npm/ng-packs/packages/account/src/lib/account.module.ts index d30ad3485b..fbfe6a7226 100644 --- a/npm/ng-packs/packages/account/src/lib/account.module.ts +++ b/npm/ng-packs/packages/account/src/lib/account.module.ts @@ -1,33 +1,17 @@ import { CoreModule } from '@abp/ng.core'; -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgModule } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { TableModule } from 'primeng/table'; import { AccountRoutingModule } from './account-routing.module'; import { LoginComponent } from './components/login/login.component'; import { RegisterComponent } from './components/register/register.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { TenantBoxComponent } from './components/tenant-box/tenant-box.component'; -import { Options } from './models/options'; -import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; -import { TableModule } from 'primeng/table'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; @NgModule({ declarations: [LoginComponent, RegisterComponent, TenantBoxComponent], imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule], exports: [], }) -export class AccountModule { - static forRoot(options = {} as Options): ModuleWithProviders { - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - } -} +export class AccountModule {} diff --git a/npm/ng-packs/packages/account/src/lib/root-account.module.ts b/npm/ng-packs/packages/account/src/lib/root-account.module.ts new file mode 100644 index 0000000000..beca480223 --- /dev/null +++ b/npm/ng-packs/packages/account/src/lib/root-account.module.ts @@ -0,0 +1,20 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; +import { Options } from './models/options'; +import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; + +@NgModule({}) +export class RootAccountModule { + static forRoot(options = {} as Options): ModuleWithProviders { + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + } +} diff --git a/npm/ng-packs/packages/account/src/public-api.ts b/npm/ng-packs/packages/account/src/public-api.ts index 2a8e2468ab..d75f7155f1 100644 --- a/npm/ng-packs/packages/account/src/public-api.ts +++ b/npm/ng-packs/packages/account/src/public-api.ts @@ -1,7 +1,4 @@ -/* - * Public API Surface of auth - */ - +export * from './lib/root-account.module'; export * from './lib/account.module'; export * from './lib/components'; export * from './lib/constants/routes'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/root-feature-management.module.ts b/npm/ng-packs/packages/feature-management/src/lib/root-feature-management.module.ts new file mode 100644 index 0000000000..cb60351a07 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/src/lib/root-feature-management.module.ts @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule({}) +export class RootFeatureManagementModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + } +} diff --git a/npm/ng-packs/packages/feature-management/src/public-api.ts b/npm/ng-packs/packages/feature-management/src/public-api.ts index 047ac00914..a13bb6c526 100644 --- a/npm/ng-packs/packages/feature-management/src/public-api.ts +++ b/npm/ng-packs/packages/feature-management/src/public-api.ts @@ -1,2 +1,3 @@ +export * from './lib/root-feature-management.module'; export * from './lib/feature-management.module'; export * from './lib/components'; diff --git a/npm/ng-packs/packages/identity/src/lib/root-identity.module.ts b/npm/ng-packs/packages/identity/src/lib/root-identity.module.ts new file mode 100644 index 0000000000..c5cc5efaaa --- /dev/null +++ b/npm/ng-packs/packages/identity/src/lib/root-identity.module.ts @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule({}) +export class RootIdentityModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: RootIdentityModule, + providers: [], + }; + } +} diff --git a/npm/ng-packs/packages/identity/src/public-api.ts b/npm/ng-packs/packages/identity/src/public-api.ts index be547b1c34..e3de2483e4 100644 --- a/npm/ng-packs/packages/identity/src/public-api.ts +++ b/npm/ng-packs/packages/identity/src/public-api.ts @@ -2,6 +2,7 @@ * Public API Surface of identity */ +export * from './lib/root-identity.module'; export * from './lib/identity.module'; export * from './lib/actions/identity.actions'; export * from './lib/components/roles/roles.component'; diff --git a/npm/ng-packs/packages/permission-management/src/lib/root-permission-management.module.ts b/npm/ng-packs/packages/permission-management/src/lib/root-permission-management.module.ts new file mode 100644 index 0000000000..a61fbc6b64 --- /dev/null +++ b/npm/ng-packs/packages/permission-management/src/lib/root-permission-management.module.ts @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule({}) +export class RootPermissionManagementModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + } +} diff --git a/npm/ng-packs/packages/permission-management/src/public-api.ts b/npm/ng-packs/packages/permission-management/src/public-api.ts index 3182363f25..bf45b06676 100644 --- a/npm/ng-packs/packages/permission-management/src/public-api.ts +++ b/npm/ng-packs/packages/permission-management/src/public-api.ts @@ -2,6 +2,7 @@ * Public API Surface of permission-management */ +export * from './lib/root-permission-management.module'; export * from './lib/permission-management.module'; export * from './lib/actions'; export * from './lib/components'; diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html index 60da5a0508..6397e17a1f 100644 --- a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html +++ b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.html @@ -1,9 +1,9 @@
    -

    {{'AbpSettingManagement::Settings' | abpLocalization}}

    +

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts index d61df13012..645f7e2c2c 100644 --- a/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts +++ b/npm/ng-packs/packages/setting-management/src/lib/components/setting/setting.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { SettingTab } from '@abp/ng.theme.shared'; +import { SettingTab, fade } from '@abp/ng.theme.shared'; import { InitialService } from '../services/initial.service'; @Component({ diff --git a/npm/ng-packs/packages/setting-management/src/lib/root-setting-management.module.ts b/npm/ng-packs/packages/setting-management/src/lib/root-setting-management.module.ts new file mode 100644 index 0000000000..120d9fc444 --- /dev/null +++ b/npm/ng-packs/packages/setting-management/src/lib/root-setting-management.module.ts @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule({}) +export class RootSettingManagementModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + } +} diff --git a/npm/ng-packs/packages/setting-management/src/public-api.ts b/npm/ng-packs/packages/setting-management/src/public-api.ts index 1a713b6a24..6ef085fc8e 100644 --- a/npm/ng-packs/packages/setting-management/src/public-api.ts +++ b/npm/ng-packs/packages/setting-management/src/public-api.ts @@ -1,3 +1,4 @@ +export * from './lib/root-setting-management.module'; export * from './lib/setting-management.module'; export * from './lib/components'; export * from './lib/constants'; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/root-tenant-management.module.ts b/npm/ng-packs/packages/tenant-management/src/lib/root-tenant-management.module.ts new file mode 100644 index 0000000000..a147f2a36a --- /dev/null +++ b/npm/ng-packs/packages/tenant-management/src/lib/root-tenant-management.module.ts @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule({}) +export class RootTenantManagementModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + } +} diff --git a/npm/ng-packs/packages/tenant-management/src/public-api.ts b/npm/ng-packs/packages/tenant-management/src/public-api.ts index 9bae9a9edb..6b2ae2d388 100644 --- a/npm/ng-packs/packages/tenant-management/src/public-api.ts +++ b/npm/ng-packs/packages/tenant-management/src/public-api.ts @@ -1,3 +1,4 @@ +export * from './lib/root-tenant-management.module'; export * from './lib/tenant-management.module'; export * from './lib/actions'; export * from './lib/components'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index 639c6e5979..6d31540305 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -44,10 +44,10 @@ export function appendScript(injector: Injector) { targetSelector: '.form-group', blueprints: { email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`, - max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`, + max: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`, maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`, - min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, - minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + min: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`, + minlength: `AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]`, required: `AbpAccount::ThisFieldIsRequired.`, passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`, }, diff --git a/templates/app/angular/src/app/app.module.ts b/templates/app/angular/src/app/app.module.ts index a0dcd98c76..86b2d1b7be 100644 --- a/templates/app/angular/src/app/app.module.ts +++ b/templates/app/angular/src/app/app.module.ts @@ -11,6 +11,9 @@ import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { SharedModule } from './shared/shared.module'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { RootAccountModule } from '@abp/ng.account'; +import { RootIdentityModule } from '@abp/ng.identity'; +import { RootTenantManagementModule } from '@abp/ng.tenant-management'; @NgModule({ declarations: [AppComponent], @@ -26,6 +29,10 @@ import { ThemeSharedModule } from '@abp/ng.theme.shared'; layouts: LAYOUTS, }, }), + RootAccountModule.forRoot({ redirectUrl: '/' }), + RootIdentityModule.forRoot(), + RootTenantManagementModule.forRoot(), + OAuthModule.forRoot(), NgxsModule.forRoot([]), NgxsReduxDevtoolsPluginModule.forRoot({ disabled: environment.production }), From 5f8016d6347da1a853217ae17afca54dde801654 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 29 Aug 2019 20:05:56 +0300 Subject: [PATCH 138/149] Build ng packages --- npm/ng-packs/dist/account/abp-ng.account.d.ts | 14 +- .../dist/account/abp-ng.account.metadata.json | 2 +- .../account/bundles/abp-ng.account.umd.js | 135 +-- .../account/bundles/abp-ng.account.umd.js.map | 2 +- .../account/bundles/abp-ng.account.umd.min.js | 2 +- .../bundles/abp-ng.account.umd.min.js.map | 2 +- .../dist/account/esm2015/abp-ng.account.js | 16 +- .../account/esm2015/lib/account.module.js | 28 +- .../lib/components/login/login.component.js | 4 +- .../components/register/register.component.js | 4 +- .../account/esm2015/lib/constants/routes.js | 23 +- .../esm2015/lib/root-account.module.js | 29 + .../esm2015/lib/services/account.service.js | 4 +- .../dist/account/esm2015/public-api.js | 6 +- .../dist/account/esm5/abp-ng.account.js | 16 +- .../dist/account/esm5/lib/account.module.js | 33 +- .../lib/components/login/login.component.js | 4 +- .../components/register/register.component.js | 4 +- .../dist/account/esm5/lib/constants/routes.js | 23 +- .../account/esm5/lib/root-account.module.js | 38 + .../esm5/lib/services/account.service.js | 4 +- npm/ng-packs/dist/account/esm5/public-api.js | 6 +- .../dist/account/fesm2015/abp-ng.account.js | 111 ++- .../account/fesm2015/abp-ng.account.js.map | 2 +- .../dist/account/fesm5/abp-ng.account.js | 126 +-- .../dist/account/fesm5/abp-ng.account.js.map | 2 +- .../dist/account/lib/account.module.d.ts | 3 - .../dist/account/lib/constants/routes.d.ts | 5 +- .../dist/account/lib/root-account.module.d.ts | 5 + npm/ng-packs/dist/account/public-api.d.ts | 1 + npm/ng-packs/dist/core/abp-ng.core.d.ts | 39 +- .../dist/core/abp-ng.core.metadata.json | 2 +- .../dist/core/bundles/abp-ng.core.umd.js | 881 +++++++++++++----- .../dist/core/bundles/abp-ng.core.umd.js.map | 2 +- .../dist/core/bundles/abp-ng.core.umd.min.js | 2 +- .../core/bundles/abp-ng.core.umd.min.js.map | 2 +- npm/ng-packs/dist/core/esm2015/abp-ng.core.js | 41 +- .../components/dynamic-layout.component.js | 4 +- .../lib/constants/different-locales.js | 37 + .../dist/core/esm2015/lib/constants/index.js | 6 + .../esm2015/lib/constants/locales-mapping.js | 37 + .../dist/core/esm2015/lib/core.module.js | 25 +- .../lib/directives/ellipsis.directive.js | 13 +- .../lib/directives/form-submit.directive.js | 139 +++ .../dist/core/esm2015/lib/directives/index.js | 3 +- .../esm2015/lib/guards/permission.guard.js | 14 +- .../dist/core/esm2015/lib/models/rest.js | 4 +- .../esm2015/lib/pipes/localization.pipe.js | 23 +- .../core/esm2015/lib/plugins/config.plugin.js | 10 +- .../lib/plugins/config/config.plugin.js | 162 ++++ .../dist/core/esm2015/lib/plugins/index.js | 4 +- .../lib/plugins/select-snapshot/internals.js | 84 ++ .../select-snapshot/select-snapshot.js | 82 ++ .../select-snapshot/static-injector.js | 26 + .../esm2015/lib/providers/locale.provider.js | 43 + .../lib/providers/reuse-strategy.provider.js | 58 ++ .../lib/services/localization.service.js | 73 +- .../esm2015/lib/services/profile.service.js | 8 +- .../core/esm2015/lib/services/rest.service.js | 10 +- .../core/esm2015/lib/states/config.state.js | 62 +- .../core/esm2015/lib/states/session.state.js | 24 +- .../core/esm2015/lib/utils/common-utils.js | 16 + .../dist/core/esm2015/lib/utils/index.js | 5 +- .../core/esm2015/lib/utils/initial-utils.js | 48 +- npm/ng-packs/dist/core/esm2015/public-api.js | 8 +- npm/ng-packs/dist/core/esm5/abp-ng.core.js | 41 +- .../components/dynamic-layout.component.js | 4 +- .../esm5/lib/constants/different-locales.js | 37 + .../dist/core/esm5/lib/constants/index.js | 6 + .../esm5/lib/constants/locales-mapping.js | 37 + .../dist/core/esm5/lib/core.module.js | 25 +- .../esm5/lib/directives/ellipsis.directive.js | 17 +- .../lib/directives/form-submit.directive.js | 146 +++ .../dist/core/esm5/lib/directives/index.js | 3 +- .../core/esm5/lib/guards/permission.guard.js | 15 +- .../dist/core/esm5/lib/models/rest.js | 4 +- .../core/esm5/lib/pipes/localization.pipe.js | 24 +- .../core/esm5/lib/plugins/config.plugin.js | 10 +- .../esm5/lib/plugins/config/config.plugin.js | 169 ++++ .../dist/core/esm5/lib/plugins/index.js | 4 +- .../lib/plugins/select-snapshot/internals.js | 85 ++ .../select-snapshot/select-snapshot.js | 86 ++ .../select-snapshot/static-injector.js | 25 + .../esm5/lib/providers/locale.provider.js | 51 + .../lib/providers/reuse-strategy.provider.js | 82 ++ .../esm5/lib/services/localization.service.js | 90 +- .../core/esm5/lib/services/profile.service.js | 12 +- .../core/esm5/lib/services/rest.service.js | 10 +- .../dist/core/esm5/lib/states/config.state.js | 65 +- .../core/esm5/lib/states/session.state.js | 20 +- .../dist/core/esm5/lib/utils/common-utils.js | 16 + .../dist/core/esm5/lib/utils/index.js | 5 +- .../dist/core/esm5/lib/utils/initial-utils.js | 48 +- npm/ng-packs/dist/core/esm5/public-api.js | 8 +- .../dist/core/fesm2015/abp-ng.core.js | 737 +++++++++++---- .../dist/core/fesm2015/abp-ng.core.js.map | 2 +- npm/ng-packs/dist/core/fesm5/abp-ng.core.js | 842 +++++++++++++---- .../dist/core/fesm5/abp-ng.core.js.map | 2 +- .../core/lib/constants/different-locales.d.ts | 31 + .../dist/core/lib/constants/index.d.ts | 1 + .../core/lib/constants/locales-mapping.d.ts | 31 + .../lib/directives/ellipsis.directive.d.ts | 1 + .../lib/directives/form-submit.directive.d.ts | 14 + .../dist/core/lib/directives/index.d.ts | 1 + npm/ng-packs/dist/core/lib/models/rest.d.ts | 2 +- .../core/lib/pipes/localization.pipe.d.ts | 6 +- .../lib/plugins/config/config.plugin.d.ts | 12 + npm/ng-packs/dist/core/lib/plugins/index.d.ts | 2 +- .../plugins/select-snapshot/internals.d.ts | 5 + .../select-snapshot/select-snapshot.d.ts | 1 + .../select-snapshot/static-injector.d.ts | 5 + .../core/lib/providers/locale.provider.d.ts | 9 + .../providers/reuse-strategy.provider.d.ts | 13 + .../lib/services/localization.service.d.ts | 10 +- .../core/lib/services/profile.service.d.ts | 2 +- .../dist/core/lib/states/config.state.d.ts | 1 + .../dist/core/lib/states/session.state.d.ts | 6 +- .../dist/core/lib/utils/common-utils.d.ts | 1 + npm/ng-packs/dist/core/lib/utils/index.d.ts | 1 + .../dist/core/lib/utils/initial-utils.d.ts | 2 + npm/ng-packs/dist/core/public-api.d.ts | 1 + .../abp-ng.feature-management.metadata.json | 2 +- .../bundles/abp-ng.feature-management.umd.js | 34 +- .../abp-ng.feature-management.umd.js.map | 2 +- .../abp-ng.feature-management.umd.min.js | 2 +- .../abp-ng.feature-management.umd.min.js.map | 2 +- .../esm2015/abp-ng.feature-management.js | 4 +- .../lib/root-feature-management.module.js | 20 + .../feature-management/esm2015/public-api.js | 3 +- .../esm5/abp-ng.feature-management.js | 4 +- .../lib/root-feature-management.module.js | 27 + .../feature-management/esm5/public-api.js | 3 +- .../fesm2015/abp-ng.feature-management.js | 23 +- .../fesm2015/abp-ng.feature-management.js.map | 2 +- .../fesm5/abp-ng.feature-management.js | 29 +- .../fesm5/abp-ng.feature-management.js.map | 2 +- .../lib/root-feature-management.module.d.ts | 4 + .../dist/feature-management/package.json | 2 +- .../dist/feature-management/public-api.d.ts | 1 + .../identity/abp-ng.identity.metadata.json | 2 +- .../identity/bundles/abp-ng.identity.umd.js | 77 +- .../bundles/abp-ng.identity.umd.js.map | 2 +- .../bundles/abp-ng.identity.umd.min.js | 2 +- .../bundles/abp-ng.identity.umd.min.js.map | 2 +- .../dist/identity/esm2015/abp-ng.identity.js | 4 +- .../identity/esm2015/lib/constants/routes.js | 45 +- .../esm2015/lib/root-identity.module.js | 20 + .../dist/identity/esm2015/public-api.js | 3 +- .../dist/identity/esm5/abp-ng.identity.js | 4 +- .../identity/esm5/lib/constants/routes.js | 45 +- .../identity/esm5/lib/root-identity.module.js | 27 + npm/ng-packs/dist/identity/esm5/public-api.js | 3 +- .../dist/identity/fesm2015/abp-ng.identity.js | 66 +- .../identity/fesm2015/abp-ng.identity.js.map | 2 +- .../dist/identity/fesm5/abp-ng.identity.js | 72 +- .../identity/fesm5/abp-ng.identity.js.map | 2 +- .../dist/identity/lib/constants/routes.d.ts | 5 +- .../identity/lib/root-identity.module.d.ts | 4 + npm/ng-packs/dist/identity/public-api.d.ts | 1 + ...abp-ng.permission-management.metadata.json | 2 +- .../abp-ng.permission-management.umd.js | 38 +- .../abp-ng.permission-management.umd.js.map | 2 +- .../abp-ng.permission-management.umd.min.js | 2 +- ...bp-ng.permission-management.umd.min.js.map | 2 +- .../esm2015/abp-ng.permission-management.js | 4 +- .../permission-management.component.js | 6 +- .../lib/root-permission-management.module.js | 20 + .../esm2015/public-api.js | 3 +- .../esm5/abp-ng.permission-management.js | 4 +- .../permission-management.component.js | 6 +- .../lib/root-permission-management.module.js | 27 + .../permission-management/esm5/public-api.js | 3 +- .../fesm2015/abp-ng.permission-management.js | 27 +- .../abp-ng.permission-management.js.map | 2 +- .../fesm5/abp-ng.permission-management.js | 33 +- .../fesm5/abp-ng.permission-management.js.map | 2 +- .../permission-management.component.d.ts | 2 +- .../root-permission-management.module.d.ts | 4 + .../permission-management/public-api.d.ts | 1 + .../dist/setting-management/README.md | 1 + .../abp-ng.setting-management.d.ts | 7 + .../abp-ng.setting-management.metadata.json | 1 + .../bundles/abp-ng.setting-management.umd.js | 407 ++++++++ .../abp-ng.setting-management.umd.js.map | 1 + .../abp-ng.setting-management.umd.min.js | 2 + .../abp-ng.setting-management.umd.min.js.map | 1 + .../esm2015/abp-ng.setting-management.js | 12 + .../esm2015/lib/components/index.js | 6 + .../components/services/initial.service.js | 58 ++ .../components/setting/setting.component.js | 44 + .../esm2015/lib/constants/index.js | 6 + .../esm2015/lib/constants/routes.js | 19 + .../lib/root-setting-management.module.js | 20 + .../lib/setting-management-routing.module.js | 25 + .../esm2015/lib/setting-management.module.js | 28 + .../setting-management/esm2015/public-api.js | 9 + .../esm5/abp-ng.setting-management.js | 12 + .../esm5/lib/components/index.js | 6 + .../components/services/initial.service.js | 58 ++ .../components/setting/setting.component.js | 46 + .../esm5/lib/constants/index.js | 6 + .../esm5/lib/constants/routes.js | 19 + .../lib/root-setting-management.module.js | 27 + .../lib/setting-management-routing.module.js | 29 + .../esm5/lib/setting-management.module.js | 28 + .../setting-management/esm5/public-api.js | 9 + .../fesm2015/abp-ng.setting-management.js | 206 ++++ .../fesm2015/abp-ng.setting-management.js.map | 1 + .../fesm5/abp-ng.setting-management.js | 214 +++++ .../fesm5/abp-ng.setting-management.js.map | 1 + .../lib/components/index.d.ts | 1 + .../components/services/initial.service.d.ts | 7 + .../components/setting/setting.component.d.ts | 10 + .../lib/constants/index.d.ts | 1 + .../lib/constants/routes.d.ts | 5 + .../lib/root-setting-management.module.d.ts | 4 + .../setting-management-routing.module.d.ts | 2 + .../lib/setting-management.module.d.ts | 4 + .../dist/setting-management/package.json | 21 + .../dist/setting-management/public-api.d.ts | 4 + .../abp-ng.tenant-management.metadata.json | 2 +- .../bundles/abp-ng.tenant-management.umd.js | 98 +- .../abp-ng.tenant-management.umd.js.map | 2 +- .../abp-ng.tenant-management.umd.min.js | 2 +- .../abp-ng.tenant-management.umd.min.js.map | 2 +- .../esm2015/abp-ng.tenant-management.js | 4 +- .../components/tenants/tenants.component.js | 25 +- .../esm2015/lib/constants/routes.js | 39 +- .../lib/root-tenant-management.module.js | 20 + .../lib/services/tenant-management.service.js | 4 +- .../esm2015/lib/tenant-management.module.js | 6 +- .../tenant-management/esm2015/public-api.js | 3 +- .../esm5/abp-ng.tenant-management.js | 4 +- .../components/tenants/tenants.component.js | 25 +- .../esm5/lib/constants/routes.js | 39 +- .../esm5/lib/root-tenant-management.module.js | 27 + .../lib/services/tenant-management.service.js | 4 +- .../esm5/lib/tenant-management.module.js | 6 +- .../dist/tenant-management/esm5/public-api.js | 3 +- .../fesm2015/abp-ng.tenant-management.js | 89 +- .../fesm2015/abp-ng.tenant-management.js.map | 2 +- .../fesm5/abp-ng.tenant-management.js | 95 +- .../fesm5/abp-ng.tenant-management.js.map | 2 +- .../components/tenants/tenants.component.d.ts | 2 + .../lib/constants/routes.d.ts | 5 +- .../lib/root-tenant-management.module.d.ts | 4 + .../dist/tenant-management/package.json | 1 + .../dist/tenant-management/public-api.d.ts | 1 + .../dist/theme-basic/abp-ng.theme.basic.d.ts | 8 +- .../abp-ng.theme.basic.metadata.json | 2 +- .../bundles/abp-ng.theme.basic.umd.js | 347 +------ .../bundles/abp-ng.theme.basic.umd.js.map | 2 +- .../bundles/abp-ng.theme.basic.umd.min.js | 2 +- .../bundles/abp-ng.theme.basic.umd.min.js.map | 2 +- .../theme-basic/esm2015/abp-ng.theme.basic.js | 8 +- .../account-layout.component.js | 9 +- .../application-layout.component.js | 3 +- .../change-password.component.js | 161 ---- .../empty-layout/empty-layout.component.js | 3 +- .../components/profile/profile.component.js | 141 --- .../esm2015/lib/theme-basic.module.js | 14 +- .../theme-basic/esm5/abp-ng.theme.basic.js | 8 +- .../account-layout.component.js | 7 +- .../application-layout.component.js | 3 +- .../empty-layout/empty-layout.component.js | 3 +- .../components/profile/profile.component.js | 160 ---- .../esm5/lib/theme-basic.module.js | 14 +- .../fesm2015/abp-ng.theme.basic.js | 317 +------ .../fesm2015/abp-ng.theme.basic.js.map | 2 +- .../theme-basic/fesm5/abp-ng.theme.basic.js | 350 +------ .../fesm5/abp-ng.theme.basic.js.map | 2 +- .../account-layout.component.d.ts | 1 - .../theme-basic/lib/theme-basic.module.d.ts | 4 +- .../theme-shared/abp-ng.theme.shared.d.ts | 6 +- .../abp-ng.theme.shared.metadata.json | 2 +- .../bundles/abp-ng.theme.shared.umd.js | 537 ++++++++++- .../bundles/abp-ng.theme.shared.umd.js.map | 2 +- .../bundles/abp-ng.theme.shared.umd.min.js | 2 +- .../abp-ng.theme.shared.umd.min.js.map | 2 +- .../esm2015/abp-ng.theme.shared.js | 10 +- .../esm2015/lib/abstracts/toaster.js | 4 +- .../esm2015/lib/animations/fade.animations.js | 12 + .../esm2015/lib/animations/index.js | 5 +- .../esm2015/lib/animations/slide.animation.js | 12 - .../lib/animations/slide.animations.js | 12 + .../breadcrumb/breadcrumb.component.js | 95 ++ .../change-password.component.js | 161 ++++ .../confirmation/confirmation.component.js | 10 +- .../esm2015/lib/components/index.js | 5 +- .../loader-bar/loader-bar.component.js | 6 +- .../components/profile/profile.component.js | 141 +++ .../esm2015/lib/contants/styles.js | 10 +- .../esm2015/lib/handlers/error.handler.js | 5 +- .../theme-shared/esm2015/lib/models/index.js | 3 +- .../esm2015/lib/models/setting-management.js | 19 + .../esm2015/lib/theme-shared.module.js | 27 +- .../dist/theme-shared/esm2015/public-api.js | 6 +- .../theme-shared/esm5/abp-ng.theme.shared.js | 10 +- .../esm5/lib/abstracts/toaster.js | 4 +- .../esm5/lib/animations/fade.animations.js | 12 + .../theme-shared/esm5/lib/animations/index.js | 5 +- .../esm5/lib/animations/slide.animation.js | 12 - .../esm5/lib/animations/slide.animations.js | 12 + .../breadcrumb/breadcrumb.component.js | 87 ++ .../change-password.component.js | 4 +- .../confirmation/confirmation.component.js | 4 +- .../theme-shared/esm5/lib/components/index.js | 5 +- .../loader-bar/loader-bar.component.js | 8 +- .../components/profile/profile.component.js | 160 ++++ .../theme-shared/esm5/lib/contants/styles.js | 4 +- .../esm5/lib/handlers/error.handler.js | 5 +- .../theme-shared/esm5/lib/models/index.js | 3 +- .../esm5/lib/models/setting-management.js | 19 + .../esm5/lib/theme-shared.module.js | 27 +- .../dist/theme-shared/esm5/public-api.js | 6 +- .../fesm2015/abp-ng.theme.shared.js | 503 +++++++++- .../fesm2015/abp-ng.theme.shared.js.map | 2 +- .../theme-shared/fesm5/abp-ng.theme.shared.js | 537 ++++++++++- .../fesm5/abp-ng.theme.shared.js.map | 2 +- .../lib/animations/fade.animations.d.ts | 1 + .../theme-shared/lib/animations/index.d.ts | 3 +- ...e.animation.d.ts => slide.animations.d.ts} | 0 .../breadcrumb/breadcrumb.component.d.ts | 11 + .../change-password.component.d.ts | 2 +- .../theme-shared/lib/components/index.d.ts | 3 + .../components/profile/profile.component.d.ts | 2 +- .../theme-shared/lib/contants/styles.d.ts | 2 +- .../dist/theme-shared/lib/models/index.d.ts | 1 + .../lib/models/setting-management.d.ts | 7 + npm/ng-packs/package.json | 24 +- 330 files changed, 9188 insertions(+), 3131 deletions(-) create mode 100644 npm/ng-packs/dist/account/esm2015/lib/root-account.module.js create mode 100644 npm/ng-packs/dist/account/esm5/lib/root-account.module.js create mode 100644 npm/ng-packs/dist/account/lib/root-account.module.d.ts create mode 100644 npm/ng-packs/dist/core/esm2015/lib/constants/different-locales.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/constants/index.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/constants/locales-mapping.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/directives/form-submit.directive.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/plugins/config/config.plugin.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/internals.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/select-snapshot.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/static-injector.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/providers/locale.provider.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/providers/reuse-strategy.provider.js create mode 100644 npm/ng-packs/dist/core/esm2015/lib/utils/common-utils.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/constants/different-locales.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/constants/index.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/constants/locales-mapping.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/directives/form-submit.directive.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/plugins/config/config.plugin.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/internals.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/select-snapshot.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/static-injector.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/providers/locale.provider.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/providers/reuse-strategy.provider.js create mode 100644 npm/ng-packs/dist/core/esm5/lib/utils/common-utils.js create mode 100644 npm/ng-packs/dist/core/lib/constants/different-locales.d.ts create mode 100644 npm/ng-packs/dist/core/lib/constants/index.d.ts create mode 100644 npm/ng-packs/dist/core/lib/constants/locales-mapping.d.ts create mode 100644 npm/ng-packs/dist/core/lib/directives/form-submit.directive.d.ts create mode 100644 npm/ng-packs/dist/core/lib/plugins/config/config.plugin.d.ts create mode 100644 npm/ng-packs/dist/core/lib/plugins/select-snapshot/internals.d.ts create mode 100644 npm/ng-packs/dist/core/lib/plugins/select-snapshot/select-snapshot.d.ts create mode 100644 npm/ng-packs/dist/core/lib/plugins/select-snapshot/static-injector.d.ts create mode 100644 npm/ng-packs/dist/core/lib/providers/locale.provider.d.ts create mode 100644 npm/ng-packs/dist/core/lib/providers/reuse-strategy.provider.d.ts create mode 100644 npm/ng-packs/dist/core/lib/utils/common-utils.d.ts create mode 100644 npm/ng-packs/dist/feature-management/esm2015/lib/root-feature-management.module.js create mode 100644 npm/ng-packs/dist/feature-management/esm5/lib/root-feature-management.module.js create mode 100644 npm/ng-packs/dist/feature-management/lib/root-feature-management.module.d.ts create mode 100644 npm/ng-packs/dist/identity/esm2015/lib/root-identity.module.js create mode 100644 npm/ng-packs/dist/identity/esm5/lib/root-identity.module.js create mode 100644 npm/ng-packs/dist/identity/lib/root-identity.module.d.ts create mode 100644 npm/ng-packs/dist/permission-management/esm2015/lib/root-permission-management.module.js create mode 100644 npm/ng-packs/dist/permission-management/esm5/lib/root-permission-management.module.js create mode 100644 npm/ng-packs/dist/permission-management/lib/root-permission-management.module.d.ts create mode 100644 npm/ng-packs/dist/setting-management/README.md create mode 100644 npm/ng-packs/dist/setting-management/abp-ng.setting-management.d.ts create mode 100644 npm/ng-packs/dist/setting-management/abp-ng.setting-management.metadata.json create mode 100644 npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js create mode 100644 npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js.map create mode 100644 npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js create mode 100644 npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js.map create mode 100644 npm/ng-packs/dist/setting-management/esm2015/abp-ng.setting-management.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/components/index.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/components/services/initial.service.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/components/setting/setting.component.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/constants/index.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/constants/routes.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/root-setting-management.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/setting-management-routing.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/lib/setting-management.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm2015/public-api.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/abp-ng.setting-management.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/components/index.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/components/services/initial.service.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/components/setting/setting.component.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/constants/index.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/constants/routes.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/root-setting-management.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/setting-management-routing.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/lib/setting-management.module.js create mode 100644 npm/ng-packs/dist/setting-management/esm5/public-api.js create mode 100644 npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js create mode 100644 npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js.map create mode 100644 npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js create mode 100644 npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js.map create mode 100644 npm/ng-packs/dist/setting-management/lib/components/index.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/components/services/initial.service.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/components/setting/setting.component.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/constants/index.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/constants/routes.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/root-setting-management.module.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/setting-management-routing.module.d.ts create mode 100644 npm/ng-packs/dist/setting-management/lib/setting-management.module.d.ts create mode 100644 npm/ng-packs/dist/setting-management/package.json create mode 100644 npm/ng-packs/dist/setting-management/public-api.d.ts create mode 100644 npm/ng-packs/dist/tenant-management/esm2015/lib/root-tenant-management.module.js create mode 100644 npm/ng-packs/dist/tenant-management/esm5/lib/root-tenant-management.module.js create mode 100644 npm/ng-packs/dist/tenant-management/lib/root-tenant-management.module.d.ts delete mode 100644 npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js delete mode 100644 npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js delete mode 100644 npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/animations/fade.animations.js delete mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animations.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/components/breadcrumb/breadcrumb.component.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/components/change-password/change-password.component.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/components/profile/profile.component.js create mode 100644 npm/ng-packs/dist/theme-shared/esm2015/lib/models/setting-management.js create mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/animations/fade.animations.js delete mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js create mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animations.js create mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/components/breadcrumb/breadcrumb.component.js rename npm/ng-packs/dist/{theme-basic => theme-shared}/esm5/lib/components/change-password/change-password.component.js (51%) create mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/components/profile/profile.component.js create mode 100644 npm/ng-packs/dist/theme-shared/esm5/lib/models/setting-management.js create mode 100644 npm/ng-packs/dist/theme-shared/lib/animations/fade.animations.d.ts rename npm/ng-packs/dist/theme-shared/lib/animations/{slide.animation.d.ts => slide.animations.d.ts} (100%) create mode 100644 npm/ng-packs/dist/theme-shared/lib/components/breadcrumb/breadcrumb.component.d.ts rename npm/ng-packs/dist/{theme-basic => theme-shared}/lib/components/change-password/change-password.component.d.ts (91%) rename npm/ng-packs/dist/{theme-basic => theme-shared}/lib/components/profile/profile.component.d.ts (96%) create mode 100644 npm/ng-packs/dist/theme-shared/lib/models/setting-management.d.ts diff --git a/npm/ng-packs/dist/account/abp-ng.account.d.ts b/npm/ng-packs/dist/account/abp-ng.account.d.ts index 97bc6d1b63..aaae6c9d74 100644 --- a/npm/ng-packs/dist/account/abp-ng.account.d.ts +++ b/npm/ng-packs/dist/account/abp-ng.account.d.ts @@ -2,10 +2,10 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { AccountRoutingModule as ɵf } from './lib/account-routing.module'; -export { LoginComponent as ɵa } from './lib/components/login/login.component'; -export { RegisterComponent as ɵc } from './lib/components/register/register.component'; -export { TenantBoxComponent as ɵe } from './lib/components/tenant-box/tenant-box.component'; -export { Options as ɵb } from './lib/models/options'; -export { AccountService as ɵd } from './lib/services/account.service'; -export { ACCOUNT_OPTIONS as ɵh, optionsFactory as ɵg } from './lib/tokens/options.token'; +export { AccountRoutingModule as ɵh } from './lib/account-routing.module'; +export { LoginComponent as ɵc } from './lib/components/login/login.component'; +export { RegisterComponent as ɵe } from './lib/components/register/register.component'; +export { TenantBoxComponent as ɵg } from './lib/components/tenant-box/tenant-box.component'; +export { Options as ɵd } from './lib/models/options'; +export { AccountService as ɵf } from './lib/services/account.service'; +export { ACCOUNT_OPTIONS as ɵb, optionsFactory as ɵa } from './lib/tokens/options.token'; diff --git a/npm/ng-packs/dist/account/abp-ng.account.metadata.json b/npm/ng-packs/dist/account/abp-ng.account.metadata.json index d970c2f0f2..d3a0fa6dec 100644 --- a/npm/ng-packs/dist/account/abp-ng.account.metadata.json +++ b/npm/ng-packs/dist/account/abp-ng.account.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/options"},{"from":"./lib/user"},{"from":"./lib/tenant"}],"metadata":{"AccountModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":12},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":15,"character":46},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":15,"character":65},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":15,"character":78},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":15,"character":97}],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AccountModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":"ACCOUNT_OPTIONS","useFactory":{"__symbolic":"reference","name":"ɵg"},"deps":[{"__symbolic":"reference","name":"ɵh"}]}]}}}},"ACCOUNT_ROUTES":[{"name":"Account","path":"account","invisible":true,"layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":7,"character":12},"member":"application"},"children":[{"path":"login","name":"Login","order":1},{"path":"register","name":"Register","order":2}]}],"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-login","template":"\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":17},"arguments":["ACCOUNT_OPTIONS"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":25,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":26,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":27,"character":28},{"__symbolic":"reference","name":"ɵb"}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"interface"},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-register","template":"
    \n
    \n \n\n \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":26,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":27,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":28,"character":28}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"findTenant":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-tenant-box","template":"\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n
    \n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":14,"character":29},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":14,"character":60},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSwitch":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":12},"member":"forChild"},"arguments":[[{"path":"","pathMatch":"full","redirectTo":"login"},{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"children":[{"path":"login","component":{"__symbolic":"reference","name":"ɵa"}},{"path":"register","component":{"__symbolic":"reference","name":"ɵc"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":12}]}]}],"members":{}},"ɵg":{"__symbolic":"function","parameters":["options"],"value":{"redirectUrl":"/"}},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":35},"arguments":["ACCOUNT_OPTIONS"]}},"origins":{"AccountModule":"./lib/account.module","ACCOUNT_ROUTES":"./lib/constants/routes","ɵa":"./lib/components/login/login.component","ɵb":"./lib/models/options","ɵc":"./lib/components/register/register.component","ɵd":"./lib/services/account.service","ɵe":"./lib/components/tenant-box/tenant-box.component","ɵf":"./lib/account-routing.module","ɵg":"./lib/tokens/options.token","ɵh":"./lib/tokens/options.token"},"importAs":"@abp/ng.account"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/options"},{"from":"./lib/user"},{"from":"./lib/tenant"}],"metadata":{"RootAccountModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"RootAccountModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵb"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":"ACCOUNT_OPTIONS","useFactory":{"__symbolic":"reference","name":"ɵa"},"deps":[{"__symbolic":"reference","name":"ɵb"}]}]}}}},"AccountModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":13,"character":12},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":13,"character":46},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":13,"character":65},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":13,"character":78},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":13,"character":97}],"exports":[]}]}],"members":{}},"ACCOUNT_ROUTES":{"routes":[{"name":"Account","path":"account","invisible":true,"layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":8,"character":14},"member":"application"},"children":[{"path":"login","name":"Login","order":1},{"path":"register","name":"Register","order":2}]}],"settings":[]},"ɵa":{"__symbolic":"function","parameters":["options"],"value":{"redirectUrl":"/"}},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":35},"arguments":["ACCOUNT_OPTIONS"]},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-login","template":"
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":17},"arguments":["ACCOUNT_OPTIONS"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":25,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":26,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":27,"character":28},{"__symbolic":"reference","name":"ɵd"}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"interface"},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"abp-register","template":"
    \n
    \n \n\n \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":26,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":27,"character":19},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":28,"character":28}]}],"onSubmit":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"findTenant":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-tenant-box","template":"\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}: \n \n {{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}\n \n ({{\n 'AbpUiMultiTenancy::Switch' | abpLocalization\n }})\n
    \n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":14,"character":29},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":14,"character":60},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSwitch":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":12},"member":"forChild"},"arguments":[[{"path":"","pathMatch":"full","redirectTo":"login"},{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"children":[{"path":"login","component":{"__symbolic":"reference","name":"ɵc"}},{"path":"register","component":{"__symbolic":"reference","name":"ɵe"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":12}]}]}],"members":{}}},"origins":{"RootAccountModule":"./lib/root-account.module","AccountModule":"./lib/account.module","ACCOUNT_ROUTES":"./lib/constants/routes","ɵa":"./lib/tokens/options.token","ɵb":"./lib/tokens/options.token","ɵc":"./lib/components/login/login.component","ɵd":"./lib/models/options","ɵe":"./lib/components/register/register.component","ɵf":"./lib/services/account.service","ɵg":"./lib/components/tenant-box/tenant-box.component","ɵh":"./lib/account-routing.module"},"importAs":"@abp/ng.account"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js index a9f3de735c..328d8e5820 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@angular/router'), require('@angular/forms'), require('@ngxs/router-plugin'), require('@ngxs/store'), require('angular-oauth2-oidc'), require('rxjs'), require('@abp/ng.theme.shared'), require('rxjs/operators'), require('snq'), require('primeng/table'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core')) : - typeof define === 'function' && define.amd ? define('@abp/ng.account', ['exports', '@abp/ng.core', '@angular/core', '@angular/router', '@angular/forms', '@ngxs/router-plugin', '@ngxs/store', 'angular-oauth2-oidc', 'rxjs', '@abp/ng.theme.shared', 'rxjs/operators', 'snq', 'primeng/table', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.account = {}), global.ng_core, global.ng.core, global.ng.router, global.ng.forms, global.routerPlugin, global.store, global.angularOauth2Oidc, global.rxjs, global.ng_theme_shared, global.rxjs.operators, global.snq, global.table, global.ngBootstrap, global.core$1)); -}(this, function (exports, ng_core, core, router, forms, routerPlugin, store, angularOauth2Oidc, rxjs, ng_theme_shared, operators, snq, table, ngBootstrap, core$1) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core'), require('primeng/table'), require('@angular/router'), require('@angular/forms'), require('@ngxs/router-plugin'), require('@ngxs/store'), require('angular-oauth2-oidc'), require('rxjs'), require('rxjs/operators'), require('snq')) : + typeof define === 'function' && define.amd ? define('@abp/ng.account', ['exports', '@angular/core', '@abp/ng.core', '@abp/ng.theme.shared', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core', 'primeng/table', '@angular/router', '@angular/forms', '@ngxs/router-plugin', '@ngxs/store', 'angular-oauth2-oidc', 'rxjs', 'rxjs/operators', 'snq'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.account = {}), global.ng.core, global.ng_core, global.ng_theme_shared, global.ngBootstrap, global.core$1, global.table, global.ng.router, global.ng.forms, global.routerPlugin, global.store, global.angularOauth2Oidc, global.rxjs, global.rxjs.operators, global.snq)); +}(this, function (exports, core, ng_core, ng_theme_shared, ngBootstrap, core$1, table, router, forms, routerPlugin, store, angularOauth2Oidc, rxjs, operators, snq) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -203,6 +203,55 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @param {?} options + * @return {?} + */ + function optionsFactory(options) { + return __assign({ redirectUrl: '/' }, options); + } + /** @type {?} */ + var ACCOUNT_OPTIONS = new core.InjectionToken('ACCOUNT_OPTIONS'); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootAccountModule = /** @class */ (function () { + function RootAccountModule() { + } + /** + * @param {?=} options + * @return {?} + */ + RootAccountModule.forRoot = /** + * @param {?=} options + * @return {?} + */ + function (options) { + if (options === void 0) { options = (/** @type {?} */ ({})); } + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + }; + RootAccountModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootAccountModule; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -233,7 +282,7 @@ var _this = this; if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; rxjs.from(this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value)) .pipe(operators.switchMap((/** @@ -356,7 +405,7 @@ url: "/api/account/register", body: body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); }; AccountService.decorators = [ { type: core.Injectable, args: [{ @@ -414,7 +463,7 @@ userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', })); this.accountService .register(newUser) @@ -639,20 +688,6 @@ TenantBoxComponent.prototype.accountService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** - * @param {?} options - * @return {?} - */ - function optionsFactory(options) { - return __assign({ redirectUrl: '/' }, options); - } - /** @type {?} */ - var ACCOUNT_OPTIONS = new core.InjectionToken('ACCOUNT_OPTIONS'); - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -660,28 +695,6 @@ var AccountModule = /** @class */ (function () { function AccountModule() { } - /** - * @param {?=} options - * @return {?} - */ - AccountModule.forRoot = /** - * @param {?=} options - * @return {?} - */ - function (options) { - if (options === void 0) { options = (/** @type {?} */ ({})); } - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - }; AccountModule.decorators = [ { type: core.NgModule, args: [{ declarations: [LoginComponent, RegisterComponent, TenantBoxComponent], @@ -702,15 +715,18 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ - var ACCOUNT_ROUTES = (/** @type {?} */ ([ - { - name: 'Account', - path: 'account', - invisible: true, - layout: "application" /* application */, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, - ])); + var ACCOUNT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Account', + path: 'account', + invisible: true, + layout: "application" /* application */, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ])), + settings: [], + }; /** * @fileoverview added by tsickle @@ -815,14 +831,15 @@ exports.AccountModule = AccountModule; exports.LoginComponent = LoginComponent; exports.RegisterComponent = RegisterComponent; + exports.RootAccountModule = RootAccountModule; exports.optionsFactory = optionsFactory; - exports.ɵa = LoginComponent; - exports.ɵc = RegisterComponent; - exports.ɵd = AccountService; - exports.ɵe = TenantBoxComponent; - exports.ɵf = AccountRoutingModule; - exports.ɵg = optionsFactory; - exports.ɵh = ACCOUNT_OPTIONS; + exports.ɵa = optionsFactory; + exports.ɵb = ACCOUNT_OPTIONS; + exports.ɵc = LoginComponent; + exports.ɵe = RegisterComponent; + exports.ɵf = AccountService; + exports.ɵg = TenantBoxComponent; + exports.ɵh = AccountRoutingModule; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map index ad9ebb3ed0..181962bf2f 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","NgModule","RouterModule","SessionState","SetTenant","InjectionToken","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/root-account.module.ts","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\n\n@NgModule({})\nexport class RootAccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: RootAccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { skipHandleError: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'Angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { TableModule } from 'primeng/table';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = {\n routes: [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["InjectionToken","NgModule","ConfigState","from","switchMap","GetAppConfiguration","tap","Navigate","catchError","throwError","finalize","Component","FormBuilder","OAuthService","Store","ToasterService","Optional","Inject","Injectable","RestService","maxLength","minLength","required","take","DynamicLayoutComponent","RouterModule","SessionState","SetTenant","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js index 118bd592be..680ff5ea4f 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("@abp/ng.theme.shared"),require("rxjs/operators"),require("snq"),require("primeng/table"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@abp/ng.core","@angular/core","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","@abp/ng.theme.shared","rxjs/operators","snq","primeng/table","@ng-bootstrap/ng-bootstrap","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng_core,e.ng.core,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.ng_theme_shared,e.rxjs.operators,e.snq,e.table,e.ngBootstrap,e.core$1)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l;var f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var y=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{throwErr:!0})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var S=o.Validators.maxLength,A=(o.Validators.minLength,o.Validators.required),w=o.Validators.email,T=function(){function e(e,n,r,o,a){this.fb=e,this.accountService=n,this.oauthService=r,this.store=o,this.toasterService=a,this.oauthService.configure(this.store.selectSnapshot(t.ConfigState.getOne("environment")).oAuthConfig),this.oauthService.loadDiscoveryDocument(),this.form=this.fb.group({username:["",[A,S(255)]],password:["",[A,S(32)]],email:["",[A,w]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var n={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"angular"};this.accountService.register(n).pipe(p.switchMap(function(){return c.from(e.oauthService.fetchTokenUsingPasswordFlow(n.userName,n.password))}),p.switchMap(function(){return e.store.dispatch(new t.GetAppConfiguration)}),p.tap(function(){return e.store.dispatch(new a.Navigate(["/"]))}),p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description})||l(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),c.throwError(t)}),p.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:n.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:o.FormBuilder},{type:y},{type:s.OAuthService},{type:i.Store},{type:u.ToasterService}]},e}();var x=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:t.DynamicLayoutComponent,children:[{path:"login",component:v},{path:"register",component:T}]}],C=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(x)],exports:[r.RouterModule]}]}],e}(),M=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(t.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(p.take(1),p.catchError(function(t){return e.toasterService.error(l(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),c.throwError(t)})).subscribe(function(n){var r=n.success,o=n.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new t.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new t.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:n.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:u.ToasterService},{type:y}]},e}();function N(e){return f({redirectUrl:"/"},e)}var L=new n.InjectionToken("ACCOUNT_OPTIONS"),O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:L,useValue:t},{provide:"ACCOUNT_OPTIONS",useFactory:N,deps:[L]}]}},e.decorators=[{type:n.NgModule,args:[{declarations:[v,T,M],imports:[t.CoreModule,C,u.ThemeSharedModule,d.TableModule,m.NgbDropdownModule,b.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=L,e.ACCOUNT_ROUTES=[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],e.AccountModule=O,e.LoginComponent=v,e.RegisterComponent=T,e.optionsFactory=N,e.ɵa=v,e.ɵc=T,e.ɵd=y,e.ɵe=M,e.ɵf=C,e.ɵg=N,e.ɵh=L,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/table"),require("@angular/router"),require("@angular/forms"),require("@ngxs/router-plugin"),require("@ngxs/store"),require("angular-oauth2-oidc"),require("rxjs"),require("rxjs/operators"),require("snq")):"function"==typeof define&&define.amd?define("@abp/ng.account",["exports","@angular/core","@abp/ng.core","@abp/ng.theme.shared","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/table","@angular/router","@angular/forms","@ngxs/router-plugin","@ngxs/store","angular-oauth2-oidc","rxjs","rxjs/operators","snq"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.account={}),e.ng.core,e.ng_core,e.ng_theme_shared,e.ngBootstrap,e.core$1,e.table,e.ng.router,e.ng.forms,e.routerPlugin,e.store,e.angularOauth2Oidc,e.rxjs,e.rxjs.operators,e.snq)}(this,function(e,t,n,r,o,a,i,s,c,u,p,l,d,m,b){"use strict";b=b&&b.hasOwnProperty("default")?b.default:b;var f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n\n
    \n\n'}]}],e.ctorParameters=function(){return[{type:c.FormBuilder},{type:l.OAuthService},{type:p.Store},{type:r.ToasterService},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:["ACCOUNT_OPTIONS"]}]}]},e}();var w=function(){function e(e){this.rest=e}return e.prototype.findTenant=function(e){var t={method:"GET",url:"/api/abp/multi-tenancy/find-tenant/"+e};return this.rest.request(t)},e.prototype.register=function(e){var t={method:"POST",url:"/api/account/register",body:e};return this.rest.request(t,{skipHandleError:!0})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:n.RestService}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(n.RestService))},token:e,providedIn:"root"}),e}();var T=c.Validators.maxLength,x=(c.Validators.minLength,c.Validators.required),M=c.Validators.email,N=function(){function e(e,t,r,o,a){this.fb=e,this.accountService=t,this.oauthService=r,this.store=o,this.toasterService=a,this.oauthService.configure(this.store.selectSnapshot(n.ConfigState.getOne("environment")).oAuthConfig),this.oauthService.loadDiscoveryDocument(),this.form=this.fb.group({username:["",[x,T(255)]],password:["",[x,T(32)]],email:["",[x,M]]})}return e.prototype.onSubmit=function(){var e=this;if(!this.form.invalid){this.inProgress=!0;var t={userName:this.form.get("username").value,password:this.form.get("password").value,emailAddress:this.form.get("email").value,appName:"Angular"};this.accountService.register(t).pipe(m.switchMap(function(){return d.from(e.oauthService.fetchTokenUsingPasswordFlow(t.userName,t.password))}),m.switchMap(function(){return e.store.dispatch(new n.GetAppConfiguration)}),m.tap(function(){return e.store.dispatch(new u.Navigate(["/"]))}),m.take(1),m.catchError(function(t){return e.toasterService.error(b(function(){return t.error.error_description})||b(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3}),d.throwError(t)}),m.finalize(function(){return e.inProgress=!1})).subscribe()}},e.decorators=[{type:t.Component,args:[{selector:"abp-register",template:'
    \n
    \n \n\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:c.FormBuilder},{type:w},{type:l.OAuthService},{type:p.Store},{type:r.ToasterService}]},e}();var C=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"",component:n.DynamicLayoutComponent,children:[{path:"login",component:A},{path:"register",component:N}]}],L=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[s.RouterModule.forChild(C)],exports:[s.RouterModule]}]}],e}(),O=function(){function e(e,t,n){this.store=e,this.toasterService=t,this.accountService=n,this.tenant={}}return e.prototype.ngOnInit=function(){this.tenant=this.store.selectSnapshot(n.SessionState.getTenant)||{},this.tenantName=this.tenant.name||""},e.prototype.onSwitch=function(){this.isModalVisible=!0},e.prototype.save=function(){var e=this;this.tenant.name?this.accountService.findTenant(this.tenant.name).pipe(m.take(1),m.catchError(function(t){return e.toasterService.error(b(function(){return t.error.error_description},"AbpUi::DefaultErrorMessage"),"AbpUi::Error"),d.throwError(t)})).subscribe(function(t){var r=t.success,o=t.tenantId;r?(e.tenant={id:o,name:e.tenant.name},e.tenantName=e.tenant.name,e.isModalVisible=!1):(e.toasterService.error("AbpUiMultiTenancy::GivenTenantIsNotAvailable","AbpUi::Error",{messageLocalizationParams:[e.tenant.name]}),e.tenant={}),e.store.dispatch(new n.SetTenant(r?e.tenant:null))}):(this.store.dispatch(new n.SetTenant(null)),this.tenantName=null,this.isModalVisible=!1)},e.decorators=[{type:t.Component,args:[{selector:"abp-tenant-box",template:'\n {{ \'AbpUiMultiTenancy::Tenant\' | abpLocalization }}: \n \n {{ tenantName || (\'AbpUiMultiTenancy::NotSelected\' | abpLocalization) }}\n \n ({{\n \'AbpUiMultiTenancy::Switch\' | abpLocalization\n }})\n\n\n\n \n
    Switch Tenant
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    {{ \'AbpUiMultiTenancy::SwitchTenantHint\' | abpLocalization }}

    \n
    \n
    \n
    \n \n \n \n \n
    \n'}]}],e.ctorParameters=function(){return[{type:p.Store},{type:r.ToasterService},{type:w}]},e}();var P=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[A,N,O],imports:[n.CoreModule,L,r.ThemeSharedModule,i.TableModule,o.NgbDropdownModule,a.NgxValidateCoreModule],exports:[]}]}],e}();e.ACCOUNT_OPTIONS=h,e.ACCOUNT_ROUTES={routes:[{name:"Account",path:"account",invisible:!0,layout:"application",children:[{path:"login",name:"Login",order:1},{path:"register",name:"Register",order:2}]}],settings:[]},e.AccountModule=P,e.LoginComponent=A,e.RegisterComponent=N,e.RootAccountModule=v,e.optionsFactory=g,e.ɵa=g,e.ɵb=h,e.ɵc=A,e.ɵe=N,e.ɵf=w,e.ɵg=O,e.ɵh=L,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.account.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map index 88b698a9eb..79daa70555 100644 --- a/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map +++ b/npm/ng-packs/dist/account/bundles/abp-ng.account.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","options","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","setStorage","value","localStorage","sessionStorage","inProgress","from","fetchTokenUsingPasswordFlow","get","pipe","switchMap","dispatch","GetAppConfiguration","tap","redirectUrl","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","args","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","throwErr","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","NgModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","optionsFactory","ACCOUNT_OPTIONS","InjectionToken","AccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/root-account.module.ts","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","optionsFactory","options","redirectUrl","ACCOUNT_OPTIONS","InjectionToken","RootAccountModule","forRoot","ngModule","providers","provide","useValue","useFactory","deps","NgModule","args","maxLength","forms","Validators","required","minLength","LoginComponent","fb","oauthService","store","toasterService","configure","selectSnapshot","ConfigState","getOne","oAuthConfig","loadDiscoveryDocument","form","group","username","password","remember","onSubmit","_this","invalid","inProgress","from","fetchTokenUsingPasswordFlow","get","value","pipe","switchMap","dispatch","GetAppConfiguration","tap","snq","window","history","state","Navigate","catchError","err","error","error_description","message","life","throwError","finalize","subscribe","Component","selector","template","FormBuilder","OAuthService","Store","ToasterService","Optional","type","Inject","AccountService","rest","findTenant","tenantName","request","method","url","register","body","skipHandleError","Injectable","providedIn","RestService","email","RegisterComponent","accountService","newUser","userName","emailAddress","appName","take","routes","path","pathMatch","redirectTo","component","DynamicLayoutComponent","children","AccountRoutingModule","imports","RouterModule","forChild","exports","TenantBoxComponent","tenant","ngOnInit","SessionState","getTenant","name","onSwitch","isModalVisible","save","_a","success","tenantId","id","messageLocalizationParams","SetTenant","AccountModule","declarations","CoreModule","ThemeSharedModule","TableModule","NgbDropdownModule","NgxValidateCoreModule","invisible","layout","order","settings"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\n\n@NgModule({})\nexport class RootAccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: RootAccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { skipHandleError: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'Angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { TableModule } from 'primeng/table';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = {\n routes: [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/abp-ng.account.js b/npm/ng-packs/dist/account/esm2015/abp-ng.account.js index af2884562b..c279ccfee1 100644 --- a/npm/ng-packs/dist/account/esm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/esm2015/abp-ng.account.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; -export { AccountRoutingModule as ɵf } from './lib/account-routing.module'; -export { LoginComponent as ɵa } from './lib/components/login/login.component'; -export { RegisterComponent as ɵc } from './lib/components/register/register.component'; -export { TenantBoxComponent as ɵe } from './lib/components/tenant-box/tenant-box.component'; -export { AccountService as ɵd } from './lib/services/account.service'; -export { ACCOUNT_OPTIONS as ɵh, optionsFactory as ɵg } from './lib/tokens/options.token'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVmfSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWgsb3B0aW9uc0ZhY3RvcnkgYXMgybVnfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file +export { RootAccountModule, AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; +export { AccountRoutingModule as ɵh } from './lib/account-routing.module'; +export { LoginComponent as ɵc } from './lib/components/login/login.component'; +export { RegisterComponent as ɵe } from './lib/components/register/register.component'; +export { TenantBoxComponent as ɵg } from './lib/components/tenant-box/tenant-box.component'; +export { AccountService as ɵf } from './lib/services/account.service'; +export { ACCOUNT_OPTIONS as ɵb, optionsFactory as ɵa } from './lib/tokens/options.token'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUlBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVofSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1ZH0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWZ9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWIsb3B0aW9uc0ZhY3RvcnkgYXMgybVhfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/account.module.js b/npm/ng-packs/dist/account/esm2015/lib/account.module.js index 6ef606c818..310ef81a9a 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/account.module.js +++ b/npm/ng-packs/dist/account/esm2015/lib/account.module.js @@ -3,34 +3,16 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { TableModule } from 'primeng/table'; import { AccountRoutingModule } from './account-routing.module'; import { LoginComponent } from './components/login/login.component'; import { RegisterComponent } from './components/register/register.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { TenantBoxComponent } from './components/tenant-box/tenant-box.component'; -import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; -import { TableModule } from 'primeng/table'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; export class AccountModule { - /** - * @param {?=} options - * @return {?} - */ - static forRoot(options = (/** @type {?} */ ({}))) { - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - } } AccountModule.decorators = [ { type: NgModule, args: [{ @@ -39,4 +21,4 @@ AccountModule.decorators = [ exports: [], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU8zRCxNQUFNLE9BQU8sYUFBYTs7Ozs7SUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsbUJBQUEsRUFBRSxFQUFXO1FBQ3BDLE9BQU87WUFDTCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQy9DO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ3hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBbEJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ3JFLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7Z0JBQ3JILE9BQU8sRUFBRSxFQUFFO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50Um91dGluZ01vZHVsZSB9IGZyb20gJy4vYWNjb3VudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVnaXN0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgVGVuYW50Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgQUNDT1VOVF9PUFRJT05TLCBvcHRpb25zRmFjdG9yeSB9IGZyb20gJy4vdG9rZW5zL29wdGlvbnMudG9rZW4nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTG9naW5Db21wb25lbnQsIFJlZ2lzdGVyQ29tcG9uZW50LCBUZW5hbnRCb3hDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQWNjb3VudFJvdXRpbmdNb2R1bGUsIFRoZW1lU2hhcmVkTW9kdWxlLCBUYWJsZU1vZHVsZSwgTmdiRHJvcGRvd25Nb2R1bGUsIE5neFZhbGlkYXRlQ29yZU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFjY291bnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBQ0NPVU5UX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQUNDT1VOVF9PUFRJT05TJyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbQUNDT1VOVF9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQU9sRixNQUFNLE9BQU8sYUFBYTs7O1lBTHpCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ3JFLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7Z0JBQ3JILE9BQU8sRUFBRSxFQUFFO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBBY2NvdW50Um91dGluZ01vZHVsZSB9IGZyb20gJy4vYWNjb3VudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVnaXN0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRlbmFudEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTG9naW5Db21wb25lbnQsIFJlZ2lzdGVyQ29tcG9uZW50LCBUZW5hbnRCb3hDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQWNjb3VudFJvdXRpbmdNb2R1bGUsIFRoZW1lU2hhcmVkTW9kdWxlLCBUYWJsZU1vZHVsZSwgTmdiRHJvcGRvd25Nb2R1bGUsIE5neFZhbGlkYXRlQ29yZU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50TW9kdWxlIHt9XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js index 6f3bbce59a..ef27501755 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/login/login.component.js @@ -41,7 +41,7 @@ export class LoginComponent { onSubmit() { if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; from(this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value)) .pipe(switchMap((/** @@ -123,4 +123,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRS9ELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoSDthQUNFLElBQUksQ0FDSCxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBQyxFQUMvRCxHQUFHOzs7UUFBQyxHQUFHLEVBQUU7O2tCQUNELFdBQVcsR0FBRyxHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEdBQUc7WUFDMUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLEdBQUc7OztZQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUM7Z0JBQ3BDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUUsaUNBQWlDLENBQUMsRUFDdkUsT0FBTyxFQUNQLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNmLENBQUM7WUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUMsRUFDRixRQUFROzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUMsQ0FDMUM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUFwREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw2dERBQXFDO2FBQ3RDOzs7O1lBZlEsV0FBVztZQUdYLFlBQVk7WUFEWixLQUFLO1lBSUwsY0FBYzs0Q0FvQmxCLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCOzs7O0lBVHZDLDhCQUFnQjs7SUFFaEIsb0NBQW9COzs7OztJQUdsQiw0QkFBdUI7Ozs7O0lBQ3ZCLHNDQUFrQzs7Ozs7SUFDbEMsK0JBQW9COzs7OztJQUNwQix3Q0FBc0M7Ozs7O0lBQ3RDLGlDQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0FDQ09VTlRfT1BUSU9OUycpIHByaXZhdGUgb3B0aW9uczogT3B0aW9ucyxcbiAgKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdlbnZpcm9ubWVudCcpKS5vQXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgcmVtZW1iZXI6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXRTdG9yYWdlKHRoaXMuZm9ybS52YWx1ZS5yZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKTtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgZnJvbShcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLCB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gc25xKCgpID0+IHdpbmRvdy5oaXN0b3J5LnN0YXRlKS5yZWRpcmVjdFVybCB8fCAodGhpcy5vcHRpb25zIHx8IHt9KS5yZWRpcmVjdFVybCB8fCAnLyc7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztNQUVoQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVTtBQU1yRCxNQUFNLE9BQU8sY0FBYzs7Ozs7Ozs7SUFLekIsWUFDVSxFQUFlLEVBQ2YsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCLEVBQ1MsT0FBZ0I7UUFKdkQsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUyxZ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cENvbmZpZ3VyYXRpb24sIENvbmZpZ1N0YXRlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0FDQ09VTlRfT1BUSU9OUycpIHByaXZhdGUgb3B0aW9uczogT3B0aW9ucyxcbiAgKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdlbnZpcm9ubWVudCcpKS5vQXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgcmVtZW1iZXI6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICAvLyB0aGlzLm9hdXRoU2VydmljZS5zZXRTdG9yYWdlKHRoaXMuZm9ybS52YWx1ZS5yZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKTtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgZnJvbShcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpLnZhbHVlLCB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gc25xKCgpID0+IHdpbmRvdy5oaXN0b3J5LnN0YXRlKS5yZWRpcmVjdFVybCB8fCAodGhpcy5vcHRpb25zIHx8IHt9KS5yZWRpcmVjdFVybCB8fCAnLyc7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoW3JlZGlyZWN0VXJsXSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js index 5ec249a888..b88b18bea3 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm2015/lib/components/register/register.component.js @@ -48,7 +48,7 @@ export class RegisterComponent { userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', })); this.accountService .register(newUser) @@ -127,4 +127,4 @@ if (false) { */ RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUMxRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7SUFLNUIsWUFDVSxFQUFlLEVBQ2YsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCO1FBSjlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUV0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7O2NBRWpCLE9BQU8sR0FBRyxtQkFBQTtZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLO1lBQzFDLE9BQU8sRUFBRSxTQUFTO1NBQ25CLEVBQW1CO1FBRXBCLElBQUksQ0FBQyxjQUFjO2FBQ2hCLFFBQVEsQ0FBQyxPQUFPLENBQUM7YUFDakIsSUFBSSxDQUNILFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsRUFDeEcsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLEVBQUMsRUFDL0QsR0FBRzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVU7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUN2QixHQUFHOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFDO2dCQUNwQyxHQUFHOzs7Z0JBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFFLGlDQUFpQyxDQUFDLEVBQ3ZFLE9BQU8sRUFDUCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFDLEVBQ0YsUUFBUTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFDLENBQzFDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7O1lBekRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsaTlDQUF3QzthQUN6Qzs7OztZQWRRLFdBQVc7WUFRWCxjQUFjO1lBTGQsWUFBWTtZQURaLEtBQUs7WUFKTCxjQUFjOzs7O0lBa0JyQixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFHbEIsK0JBQXVCOzs7OztJQUN2QiwyQ0FBc0M7Ozs7O0lBQ3RDLHlDQUFrQzs7Ozs7SUFDbEMsa0NBQW9COzs7OztJQUNwQiwyQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZSwgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRPbmUoJ2Vudmlyb25tZW50JykpLm9BdXRoQ29uZmlnKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpXV0sXG4gICAgICBlbWFpbDogWycnLCBbcmVxdWlyZWQsIGVtYWlsXV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICBjb25zdCBuZXdVc2VyID0ge1xuICAgICAgdXNlck5hbWU6IHRoaXMuZm9ybS5nZXQoJ3VzZXJuYW1lJykudmFsdWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgIGVtYWlsQWRkcmVzczogdGhpcy5mb3JtLmdldCgnZW1haWwnKS52YWx1ZSxcbiAgICAgIGFwcE5hbWU6ICdhbmd1bGFyJyxcbiAgICB9IGFzIFJlZ2lzdGVyUmVxdWVzdDtcblxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2VcbiAgICAgIC5yZWdpc3RlcihuZXdVc2VyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tKHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhuZXdVc2VyLnVzZXJOYW1lLCBuZXdVc2VyLnBhc3N3b3JkKSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0QXBwQ29uZmlndXJhdGlvbigpKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbJy8nXSkpKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUMxRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7SUFLNUIsWUFDVSxFQUFlLEVBQ2YsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsS0FBWSxFQUNaLGNBQThCO1FBSjlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFD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TGQsWUFBWTtZQURaLEtBQUs7WUFKTCxjQUFjOzs7O0lBa0JyQixpQ0FBZ0I7O0lBRWhCLHVDQUFvQjs7Ozs7SUFHbEIsK0JBQXVCOzs7OztJQUN2QiwyQ0FBc0M7Ozs7O0lBQ3RDLHlDQUFrQzs7Ozs7SUFDbEMsa0NBQW9COzs7OztJQUNwQiwyQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZSwgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb21wb25lbnQge1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRPbmUoJ2Vudmlyb25tZW50JykpLm9BdXRoQ29uZmlnKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMzIpXV0sXG4gICAgICBlbWFpbDogWycnLCBbcmVxdWlyZWQsIGVtYWlsXV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICBjb25zdCBuZXdVc2VyID0ge1xuICAgICAgdXNlck5hbWU6IHRoaXMuZm9ybS5nZXQoJ3VzZXJuYW1lJykudmFsdWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgIGVtYWlsQWRkcmVzczogdGhpcy5mb3JtLmdldCgnZW1haWwnKS52YWx1ZSxcbiAgICAgIGFwcE5hbWU6ICdBbmd1bGFyJyxcbiAgICB9IGFzIFJlZ2lzdGVyUmVxdWVzdDtcblxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2VcbiAgICAgIC5yZWdpc3RlcihuZXdVc2VyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tKHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhuZXdVc2VyLnVzZXJOYW1lLCBuZXdVc2VyLnBhc3N3b3JkKSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0QXBwQ29uZmlndXJhdGlvbigpKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbJy8nXSkpKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB8fFxuICAgICAgICAgICAgICBzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/account/esm2015/lib/constants/routes.js index 9a32a8a71c..28900c9c6f 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/constants/routes.js +++ b/npm/ng-packs/dist/account/esm2015/lib/constants/routes.js @@ -3,13 +3,16 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export const ACCOUNT_ROUTES = (/** @type {?} */ ([ - { - name: 'Account', - path: 'account', - invisible: true, - layout: "application" /* application */, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFNLE9BQU8sY0FBYyxHQUFHLG1CQUFBO0lBQzVCO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxJQUFJO1FBQ2YsTUFBTSxpQ0FBeUI7UUFDL0IsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUN6RztDQUNGLEVBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX1JPVVRFUyA9IFtcbiAge1xuICAgIG5hbWU6ICdBY2NvdW50JyxcbiAgICBwYXRoOiAnYWNjb3VudCcsXG4gICAgaW52aXNpYmxlOiB0cnVlLFxuICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgY2hpbGRyZW46IFt7IHBhdGg6ICdsb2dpbicsIG5hbWU6ICdMb2dpbicsIG9yZGVyOiAxIH0sIHsgcGF0aDogJ3JlZ2lzdGVyJywgbmFtZTogJ1JlZ2lzdGVyJywgb3JkZXI6IDIgfV0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +export const ACCOUNT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Account', + path: 'account', + invisible: true, + layout: "application" /* application */, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFNLE9BQU8sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRSxtQkFBQTtRQUNOO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTSxpQ0FBeUI7WUFDL0IsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN6RztLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfUk9VVEVTID0ge1xuICByb3V0ZXM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAnQWNjb3VudCcsXG4gICAgICBwYXRoOiAnYWNjb3VudCcsXG4gICAgICBpbnZpc2libGU6IHRydWUsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgY2hpbGRyZW46IFt7IHBhdGg6ICdsb2dpbicsIG5hbWU6ICdMb2dpbicsIG9yZGVyOiAxIH0sIHsgcGF0aDogJ3JlZ2lzdGVyJywgbmFtZTogJ1JlZ2lzdGVyJywgb3JkZXI6IDIgfV0sXG4gICAgfSxcbiAgXSBhcyBBQlAuRnVsbFJvdXRlW10sXG4gIHNldHRpbmdzOiBbXSxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/root-account.module.js b/npm/ng-packs/dist/account/esm2015/lib/root-account.module.js new file mode 100644 index 0000000000..374b07fd9c --- /dev/null +++ b/npm/ng-packs/dist/account/esm2015/lib/root-account.module.js @@ -0,0 +1,29 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; +export class RootAccountModule { + /** + * @param {?=} options + * @return {?} + */ + static forRoot(options = (/** @type {?} */ ({}))) { + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + } +} +RootAccountModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1hY2NvdW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbImxpYi9yb290LWFjY291bnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3pFLE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLG1CQUFBLEVBQUUsRUFBVztRQUNwQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQy9DO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ3hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBZEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgQUNDT1VOVF9PUFRJT05TLCBvcHRpb25zRmFjdG9yeSB9IGZyb20gJy4vdG9rZW5zL29wdGlvbnMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdEFjY291bnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zID0ge30gYXMgT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdEFjY291bnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBQ0NPVU5UX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQUNDT1VOVF9PUFRJT05TJyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbQUNDT1VOVF9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js b/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js index efd8617634..eb44952488 100644 --- a/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js +++ b/npm/ng-packs/dist/account/esm2015/lib/services/account.service.js @@ -36,7 +36,7 @@ export class AccountService { url: `/api/account/register`, body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); } } AccountService.decorators = [ @@ -56,4 +56,4 @@ if (false) { */ AccountService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFDekIsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLFVBQVUsQ0FBQyxVQUFrQjs7Y0FDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxzQ0FBc0MsVUFBVSxFQUFFO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsSUFBcUI7O2NBQ3RCLE9BQU8sR0FBa0M7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsdUJBQXVCO1lBQzVCLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OztZQXZCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMUSxXQUFXOzs7Ozs7OztJQU9OLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0IH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyUmVzcG9uc2UsIFJlZ2lzdGVyUmVxdWVzdCwgVGVuYW50SWRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZmluZFRlbmFudCh0ZW5hbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbmFudElkUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9hYnAvbXVsdGktdGVuYW5jeS9maW5kLXRlbmFudC8ke3RlbmFudE5hbWV9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudElkUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgcmVnaXN0ZXIoYm9keTogUmVnaXN0ZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZWdpc3RlclJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFJlZ2lzdGVyUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvYWNjb3VudC9yZWdpc3RlcmAsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0LCBSZWdpc3RlclJlc3BvbnNlPihyZXF1ZXN0LCB7IHRocm93RXJyOiB0cnVlIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFDekIsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLFVBQVUsQ0FBQyxVQUFrQjs7Y0FDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxzQ0FBc0MsVUFBVSxFQUFFO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsSUFBcUI7O2NBQ3RCLE9BQU8sR0FBa0M7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsdUJBQXVCO1lBQzVCLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7OztZQXZCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMUSxXQUFXOzs7Ozs7OztJQU9OLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlLCBSZXN0IH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyUmVzcG9uc2UsIFJlZ2lzdGVyUmVxdWVzdCwgVGVuYW50SWRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZmluZFRlbmFudCh0ZW5hbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbmFudElkUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiBgL2FwaS9hYnAvbXVsdGktdGVuYW5jeS9maW5kLXRlbmFudC8ke3RlbmFudE5hbWV9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudElkUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgcmVnaXN0ZXIoYm9keTogUmVnaXN0ZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZWdpc3RlclJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFJlZ2lzdGVyUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvYWNjb3VudC9yZWdpc3RlcmAsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0LCBSZWdpc3RlclJlc3BvbnNlPihyZXF1ZXN0LCB7IHNraXBIYW5kbGVFcnJvcjogdHJ1ZSB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm2015/public-api.js b/npm/ng-packs/dist/account/esm2015/public-api.js index 420e775c78..fd11ff2e34 100644 --- a/npm/ng-packs/dist/account/esm2015/public-api.js +++ b/npm/ng-packs/dist/account/esm2015/public-api.js @@ -2,12 +2,10 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -/* - * Public API Surface of auth - */ +export { RootAccountModule } from './lib/root-account.module'; export { AccountModule } from './lib/account.module'; export { LoginComponent, RegisterComponent } from './lib/components'; export { ACCOUNT_ROUTES } from './lib/constants/routes'; export { optionsFactory, ACCOUNT_OPTIONS } from './lib/tokens'; export {} from './lib/models'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGtEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdEQUFjLGNBQWMsQ0FBQztBQUM3QixlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0aFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY291bnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGtDQUFjLDJCQUEyQixDQUFDO0FBQzFDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGtEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdEQUFjLGNBQWMsQ0FBQztBQUM3QixlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvcm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/abp-ng.account.js b/npm/ng-packs/dist/account/esm5/abp-ng.account.js index af2884562b..c279ccfee1 100644 --- a/npm/ng-packs/dist/account/esm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/esm5/abp-ng.account.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; -export { AccountRoutingModule as ɵf } from './lib/account-routing.module'; -export { LoginComponent as ɵa } from './lib/components/login/login.component'; -export { RegisterComponent as ɵc } from './lib/components/register/register.component'; -export { TenantBoxComponent as ɵe } from './lib/components/tenant-box/tenant-box.component'; -export { AccountService as ɵd } from './lib/services/account.service'; -export { ACCOUNT_OPTIONS as ɵh, optionsFactory as ɵg } from './lib/tokens/options.token'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVmfSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWgsb3B0aW9uc0ZhY3RvcnkgYXMgybVnfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file +export { RootAccountModule, AccountModule, LoginComponent, RegisterComponent, ACCOUNT_ROUTES, optionsFactory, ACCOUNT_OPTIONS } from './public-api'; +export { AccountRoutingModule as ɵh } from './lib/account-routing.module'; +export { LoginComponent as ɵc } from './lib/components/login/login.component'; +export { RegisterComponent as ɵe } from './lib/components/register/register.component'; +export { TenantBoxComponent as ɵg } from './lib/components/tenant-box/tenant-box.component'; +export { AccountService as ɵf } from './lib/services/account.service'; +export { ACCOUNT_OPTIONS as ɵb, optionsFactory as ɵa } from './lib/tokens/options.token'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmFjY291bnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJhYnAtbmcuYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUlBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWNjb3VudFJvdXRpbmdNb2R1bGUgYXMgybVofSBmcm9tICcuL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdGVyQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUZW5hbnRCb3hDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtPcHRpb25zIGFzIMm1ZH0gZnJvbSAnLi9saWIvbW9kZWxzL29wdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50U2VydmljZSBhcyDJtWZ9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQge0FDQ09VTlRfT1BUSU9OUyBhcyDJtWIsb3B0aW9uc0ZhY3RvcnkgYXMgybVhfSBmcm9tICcuL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbic7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/account.module.js b/npm/ng-packs/dist/account/esm5/lib/account.module.js index 29e32a120c..1e44d84a41 100644 --- a/npm/ng-packs/dist/account/esm5/lib/account.module.js +++ b/npm/ng-packs/dist/account/esm5/lib/account.module.js @@ -3,41 +3,18 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { TableModule } from 'primeng/table'; import { AccountRoutingModule } from './account-routing.module'; import { LoginComponent } from './components/login/login.component'; import { RegisterComponent } from './components/register/register.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { TenantBoxComponent } from './components/tenant-box/tenant-box.component'; -import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; -import { TableModule } from 'primeng/table'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; var AccountModule = /** @class */ (function () { function AccountModule() { } - /** - * @param {?=} options - * @return {?} - */ - AccountModule.forRoot = /** - * @param {?=} options - * @return {?} - */ - function (options) { - if (options === void 0) { options = (/** @type {?} */ ({})); } - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - }; AccountModule.decorators = [ { type: NgModule, args: [{ declarations: [LoginComponent, RegisterComponent, TenantBoxComponent], @@ -48,4 +25,4 @@ var AccountModule = /** @class */ (function () { return AccountModule; }()); export { AccountModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRDtJQUFBO0lBbUJBLENBQUM7Ozs7O0lBYlEscUJBQU87Ozs7SUFBZCxVQUFlLE9BQXVCO1FBQXZCLHdCQUFBLEVBQUEsNkJBQVUsRUFBRSxFQUFXO1FBQ3BDLE9BQU87WUFDTCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQy9DO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ3hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBbEJGLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3JFLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7b0JBQ3JILE9BQU8sRUFBRSxFQUFFO2lCQUNaOztJQWVELG9CQUFDO0NBQUEsQUFuQkQsSUFtQkM7U0FkWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjb3VudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2FjY291bnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IFRlbmFudEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuL21vZGVscy9vcHRpb25zJztcbmltcG9ydCB7IEFDQ09VTlRfT1BUSU9OUywgb3B0aW9uc0ZhY3RvcnkgfSBmcm9tICcuL3Rva2Vucy9vcHRpb25zLnRva2VuJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0xvZ2luQ29tcG9uZW50LCBSZWdpc3RlckNvbXBvbmVudCwgVGVuYW50Qm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIEFjY291bnRSb3V0aW5nTW9kdWxlLCBUaGVtZVNoYXJlZE1vZHVsZSwgVGFibGVNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlLCBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGVdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnMgPSB7fSBhcyBPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBY2NvdW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQUNDT1VOVF9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FDQ09VTlRfT1BUSU9OUycsXG4gICAgICAgICAgdXNlRmFjdG9yeTogb3B0aW9uc0ZhY3RvcnksXG4gICAgICAgICAgZGVwczogW0FDQ09VTlRfT1BUSU9OU10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmFjY291bnQvIiwic291cmNlcyI6WyJsaWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVsRjtJQUFBO0lBSzRCLENBQUM7O2dCQUw1QixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDO29CQUNyRSxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO29CQUNySCxPQUFPLEVBQUUsRUFBRTtpQkFDWjs7SUFDMkIsb0JBQUM7Q0FBQSxBQUw3QixJQUs2QjtTQUFoQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgQWNjb3VudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2FjY291bnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZW5hbnRCb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVuYW50LWJveC90ZW5hbnQtYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0xvZ2luQ29tcG9uZW50LCBSZWdpc3RlckNvbXBvbmVudCwgVGVuYW50Qm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIEFjY291bnRSb3V0aW5nTW9kdWxlLCBUaGVtZVNoYXJlZE1vZHVsZSwgVGFibGVNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlLCBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGVdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudE1vZHVsZSB7fVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js index 5db9759100..d8c0e9e236 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/login/login.component.js @@ -38,7 +38,7 @@ var LoginComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; from(this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value)) .pipe(switchMap((/** @@ -122,4 +122,4 @@ if (false) { */ LoginComponent.prototype.options; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMs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O1NBakRZLGNBQWM7OztJQUN6Qiw4QkFBZ0I7O0lBRWhCLG9DQUFvQjs7Ozs7SUFHbEIsNEJBQXVCOzs7OztJQUN2QixzQ0FBa0M7Ozs7O0lBQ2xDLCtCQUFvQjs7Ozs7SUFDcEIsd0NBQXNDOzs7OztJQUN0QyxpQ0FBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdBQ0NPVU5UX09QVElPTlMnKSBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIHJlbWVtYmVyOiBbZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZSh0aGlzLmZvcm0udmFsdWUucmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSk7XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGZyb20oXG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3codGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSwgdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHNucSgoKSA9PiB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkucmVkaXJlY3RVcmwgfHwgKHRoaXMub3B0aW9ucyB8fCB7fSkucmVkaXJlY3RVcmwgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFtyZWRpcmVjdFVybF0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikgfHxcbiAgICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUVkLElBQUEsZ0NBQVMsRUFBRSxnQ0FBUyxFQUFFLDhCQUFRO0FBRXRDO0lBU0Usd0JBQ1UsRUFBZSxFQUNmLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QixFQUNTLE9BQWdCO1FBSnZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUUvRCxJQUFJLENBQUMs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Ozs7OztJQUN0QyxpQ0FBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBDb25maWdTdGF0ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdBQ0NPVU5UX09QVElPTlMnKSBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIHJlbWVtYmVyOiBbZmFsc2VdLFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgLy8gdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZSh0aGlzLmZvcm0udmFsdWUucmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSk7XG5cbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGZyb20oXG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3codGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSwgdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHNucSgoKSA9PiB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkucmVkaXJlY3RVcmwgfHwgKHRoaXMub3B0aW9ucyB8fCB7fSkucmVkaXJlY3RVcmwgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFtyZWRpcmVjdFVybF0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikgfHxcbiAgICAgICAgICAgICAgc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLFxuICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js index 1530e63c41..b2df8003b1 100644 --- a/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js +++ b/npm/ng-packs/dist/account/esm5/lib/components/register/register.component.js @@ -45,7 +45,7 @@ var RegisterComponent = /** @class */ (function () { userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', })); this.accountService .register(newUser) @@ -126,4 +126,4 @@ if (false) { */ RegisterComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBU0UsMkJBQ1UsRUFBZSxFQUNmLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QjtRQUo5QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUss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OztnQkFkUSxXQUFXO2dCQVFYLGNBQWM7Z0JBTGQsWUFBWTtnQkFEWixLQUFLO2dCQUpMLGNBQWM7O0lBdUV2Qix3QkFBQztDQUFBLEFBMURELElBMERDO1NBdERZLGlCQUFpQjs7O0lBQzVCLGlDQUFnQjs7SUFFaEIsdUNBQW9COzs7OztJQUdsQiwrQkFBdUI7Ozs7O0lBQ3ZCLDJDQUFzQzs7Ozs7SUFDdEMseUNBQWtDOzs7OztJQUNsQyxrQ0FBb0I7Ozs7O0lBQ3BCLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlLCBHZXRBcHBDb25maWd1cmF0aW9uIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIGVtYWlsOiBbJycsIFtyZXF1aXJlZCwgZW1haWxdXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcblxuICAgIGNvbnN0IG5ld1VzZXIgPSB7XG4gICAgICB1c2VyTmFtZTogdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgZW1haWxBZGRyZXNzOiB0aGlzLmZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlLFxuICAgICAgYXBwTmFtZTogJ2FuZ3VsYXInLFxuICAgIH0gYXMgUmVnaXN0ZXJSZXF1ZXN0O1xuXG4gICAgdGhpcy5hY2NvdW50U2VydmljZVxuICAgICAgLnJlZ2lzdGVyKG5ld1VzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGZyb20odGhpcy5vYXV0aFNlcnZpY2UuZmV0Y2hUb2tlblVzaW5nUGFzc3dvcmRGbG93KG5ld1VzZXIudXNlck5hbWUsIG5ld1VzZXIucGFzc3dvcmQpKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFsnLyddKSkpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxJQUFBLGdDQUFTLEVBQUUsZ0NBQVMsRUFBRSw4QkFBUSxFQUFFLHdCQUFLO0FBRTdDO0lBU0UsMkJBQ1UsRUFBZSxFQUNmLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLEtBQVksRUFDWixjQUE4QjtRQUo5QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUss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OztnQkFkUSxXQUFXO2dCQVFYLGNBQWM7Z0JBTGQsWUFBWTtnQkFEWixLQUFLO2dCQUpMLGNBQWM7O0lBdUV2Qix3QkFBQztDQUFBLEFBMURELElBMERDO1NBdERZLGlCQUFpQjs7O0lBQzVCLGlDQUFnQjs7SUFFaEIsdUNBQW9COzs7OztJQUdsQiwrQkFBdUI7Ozs7O0lBQ3ZCLDJDQUFzQzs7Ozs7SUFDdEMseUNBQWtDOzs7OztJQUNsQyxrQ0FBb0I7Ozs7O0lBQ3BCLDJDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlLCBHZXRBcHBDb25maWd1cmF0aW9uIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBSZWdpc3RlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuY29uc3QgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckNvbXBvbmVudCB7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBpblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldE9uZSgnZW52aXJvbm1lbnQnKSkub0F1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VybmFtZTogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTUpXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgzMildXSxcbiAgICAgIGVtYWlsOiBbJycsIFtyZXF1aXJlZCwgZW1haWxdXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcblxuICAgIGNvbnN0IG5ld1VzZXIgPSB7XG4gICAgICB1c2VyTmFtZTogdGhpcy5mb3JtLmdldCgndXNlcm5hbWUnKS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgZW1haWxBZGRyZXNzOiB0aGlzLmZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlLFxuICAgICAgYXBwTmFtZTogJ0FuZ3VsYXInLFxuICAgIH0gYXMgUmVnaXN0ZXJSZXF1ZXN0O1xuXG4gICAgdGhpcy5hY2NvdW50U2VydmljZVxuICAgICAgLnJlZ2lzdGVyKG5ld1VzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGZyb20odGhpcy5vYXV0aFNlcnZpY2UuZmV0Y2hUb2tlblVzaW5nUGFzc3dvcmRGbG93KG5ld1VzZXIudXNlck5hbWUsIG5ld1VzZXIucGFzc3dvcmQpKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKFsnLyddKSkpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHx8XG4gICAgICAgICAgICAgIHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/constants/routes.js b/npm/ng-packs/dist/account/esm5/lib/constants/routes.js index 28d2240800..0aea11d931 100644 --- a/npm/ng-packs/dist/account/esm5/lib/constants/routes.js +++ b/npm/ng-packs/dist/account/esm5/lib/constants/routes.js @@ -3,13 +3,16 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export var ACCOUNT_ROUTES = (/** @type {?} */ ([ - { - name: 'Account', - path: 'account', - invisible: true, - layout: "application" /* application */, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFNLEtBQU8sY0FBYyxHQUFHLG1CQUFBO0lBQzVCO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxJQUFJO1FBQ2YsTUFBTSxpQ0FBeUI7UUFDL0IsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUN6RztDQUNGLEVBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX1JPVVRFUyA9IFtcbiAge1xuICAgIG5hbWU6ICdBY2NvdW50JyxcbiAgICBwYXRoOiAnYWNjb3VudCcsXG4gICAgaW52aXNpYmxlOiB0cnVlLFxuICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgY2hpbGRyZW46IFt7IHBhdGg6ICdsb2dpbicsIG5hbWU6ICdMb2dpbicsIG9yZGVyOiAxIH0sIHsgcGF0aDogJ3JlZ2lzdGVyJywgbmFtZTogJ1JlZ2lzdGVyJywgb3JkZXI6IDIgfV0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +export var ACCOUNT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Account', + path: 'account', + invisible: true, + layout: "application" /* application */, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFNLEtBQU8sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRSxtQkFBQTtRQUNOO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTSxpQ0FBeUI7WUFDL0IsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN6RztLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfUk9VVEVTID0ge1xuICByb3V0ZXM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAnQWNjb3VudCcsXG4gICAgICBwYXRoOiAnYWNjb3VudCcsXG4gICAgICBpbnZpc2libGU6IHRydWUsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgY2hpbGRyZW46IFt7IHBhdGg6ICdsb2dpbicsIG5hbWU6ICdMb2dpbicsIG9yZGVyOiAxIH0sIHsgcGF0aDogJ3JlZ2lzdGVyJywgbmFtZTogJ1JlZ2lzdGVyJywgb3JkZXI6IDIgfV0sXG4gICAgfSxcbiAgXSBhcyBBQlAuRnVsbFJvdXRlW10sXG4gIHNldHRpbmdzOiBbXSxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/root-account.module.js b/npm/ng-packs/dist/account/esm5/lib/root-account.module.js new file mode 100644 index 0000000000..de2903e05d --- /dev/null +++ b/npm/ng-packs/dist/account/esm5/lib/root-account.module.js @@ -0,0 +1,38 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +import { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token'; +var RootAccountModule = /** @class */ (function () { + function RootAccountModule() { + } + /** + * @param {?=} options + * @return {?} + */ + RootAccountModule.forRoot = /** + * @param {?=} options + * @return {?} + */ + function (options) { + if (options === void 0) { options = (/** @type {?} */ ({})); } + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + }; + RootAccountModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootAccountModule; +}()); +export { RootAccountModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1hY2NvdW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbImxpYi9yb290LWFjY291bnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFO0lBQUE7SUFlQSxDQUFDOzs7OztJQWJRLHlCQUFPOzs7O0lBQWQsVUFBZSxPQUF1QjtRQUF2Qix3QkFBQSxFQUFBLDZCQUFVLEVBQUUsRUFBVztRQUNwQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQy9DO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ3hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBZEYsUUFBUSxTQUFDLEVBQUU7O0lBZVosd0JBQUM7Q0FBQSxBQWZELElBZUM7U0FkWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgQUNDT1VOVF9PUFRJT05TLCBvcHRpb25zRmFjdG9yeSB9IGZyb20gJy4vdG9rZW5zL29wdGlvbnMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdEFjY291bnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zID0ge30gYXMgT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdEFjY291bnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBQ0NPVU5UX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQUNDT1VOVF9PUFRJT05TJyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbQUNDT1VOVF9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/lib/services/account.service.js b/npm/ng-packs/dist/account/esm5/lib/services/account.service.js index 6e9665cc16..394b5a5a41 100644 --- a/npm/ng-packs/dist/account/esm5/lib/services/account.service.js +++ b/npm/ng-packs/dist/account/esm5/lib/services/account.service.js @@ -41,7 +41,7 @@ var AccountService = /** @class */ (function () { url: "/api/account/register", body: body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); }; AccountService.decorators = [ { type: Injectable, args: [{ @@ -63,4 +63,4 @@ if (false) { */ AccountService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFHakQ7SUFJRSx3QkFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLG1DQUFVOzs7O0lBQVYsVUFBVyxVQUFrQjs7WUFDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSx3Q0FBc0MsVUFBWTtTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXlCLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7O0lBRUQsaUNBQVE7Ozs7SUFBUixVQUFTLElBQXFCOztZQUN0QixPQUFPLEdBQWtDO1lBQzdDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHVCQUF1QjtZQUM1QixJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7O2dCQXZCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQUxRLFdBQVc7Ozt5QkFGcEI7Q0E2QkMsQUF4QkQsSUF3QkM7U0FyQlksY0FBYzs7Ozs7O0lBQ2IsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UsIFJlc3QgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXNwb25zZSwgUmVnaXN0ZXJSZXF1ZXN0LCBUZW5hbnRJZFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBmaW5kVGVuYW50KHRlbmFudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VGVuYW50SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2FicC9tdWx0aS10ZW5hbmN5L2ZpbmQtdGVuYW50LyR7dGVuYW50TmFtZX1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgVGVuYW50SWRSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICByZWdpc3Rlcihib2R5OiBSZWdpc3RlclJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlZ2lzdGVyUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiBgL2FwaS9hY2NvdW50L3JlZ2lzdGVyYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxSZWdpc3RlclJlcXVlc3QsIFJlZ2lzdGVyUmVzcG9uc2U+KHJlcXVlc3QsIHsgdGhyb3dFcnI6IHRydWUgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sY0FBYyxDQUFDOzs7QUFHakQ7SUFJRSx3QkFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLG1DQUFVOzs7O0lBQVYsVUFBVyxVQUFrQjs7WUFDckIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSx3Q0FBc0MsVUFBWTtTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXlCLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7O0lBRUQsaUNBQVE7Ozs7SUFBUixVQUFTLElBQXFCOztZQUN0QixPQUFPLEdBQWtDO1lBQzdDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLHVCQUF1QjtZQUM1QixJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQW9DLE9BQU8sRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7O2dCQXZCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQUxRLFdBQVc7Ozt5QkFGcEI7Q0E2QkMsQUF4QkQsSUF3QkM7U0FyQlksY0FBYzs7Ozs7O0lBQ2IsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UsIFJlc3QgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXNwb25zZSwgUmVnaXN0ZXJSZXF1ZXN0LCBUZW5hbnRJZFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBmaW5kVGVuYW50KHRlbmFudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VGVuYW50SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvYXBpL2FicC9tdWx0aS10ZW5hbmN5L2ZpbmQtdGVuYW50LyR7dGVuYW50TmFtZX1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgVGVuYW50SWRSZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICByZWdpc3Rlcihib2R5OiBSZWdpc3RlclJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlZ2lzdGVyUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8UmVnaXN0ZXJSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiBgL2FwaS9hY2NvdW50L3JlZ2lzdGVyYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxSZWdpc3RlclJlcXVlc3QsIFJlZ2lzdGVyUmVzcG9uc2U+KHJlcXVlc3QsIHsgc2tpcEhhbmRsZUVycm9yOiB0cnVlIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/account/esm5/public-api.js b/npm/ng-packs/dist/account/esm5/public-api.js index 420e775c78..fd11ff2e34 100644 --- a/npm/ng-packs/dist/account/esm5/public-api.js +++ b/npm/ng-packs/dist/account/esm5/public-api.js @@ -2,12 +2,10 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -/* - * Public API Surface of auth - */ +export { RootAccountModule } from './lib/root-account.module'; export { AccountModule } from './lib/account.module'; export { LoginComponent, RegisterComponent } from './lib/components'; export { ACCOUNT_ROUTES } from './lib/constants/routes'; export { optionsFactory, ACCOUNT_OPTIONS } from './lib/tokens'; export {} from './lib/models'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGtEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdEQUFjLGNBQWMsQ0FBQztBQUM3QixlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0aFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY291bnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuYWNjb3VudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGtDQUFjLDJCQUEyQixDQUFDO0FBQzFDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGtEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdEQUFjLGNBQWMsQ0FBQztBQUM3QixlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3VudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvcm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js index 49c5b2ba28..f20bd893c6 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js @@ -1,17 +1,58 @@ +import { InjectionToken, NgModule, Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject } from '@angular/core'; import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; -import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; +import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { TableModule } from 'primeng/table'; import { RouterModule } from '@angular/router'; import { Validators, FormBuilder } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; import { from, throwError } from 'rxjs'; -import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; import { switchMap, tap, catchError, finalize, take } from 'rxjs/operators'; import snq from 'snq'; -import { TableModule } from 'primeng/table'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @param {?} options + * @return {?} + */ +function optionsFactory(options) { + return Object.assign({ redirectUrl: '/' }, options); +} +/** @type {?} */ +const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS'); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootAccountModule { + /** + * @param {?=} options + * @return {?} + */ + static forRoot(options = (/** @type {?} */ ({}))) { + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + } +} +RootAccountModule.decorators = [ + { type: NgModule, args: [{},] } +]; /** * @fileoverview added by tsickle @@ -46,7 +87,7 @@ class LoginComponent { onSubmit() { if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; from(this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value)) .pipe(switchMap((/** @@ -163,7 +204,7 @@ class AccountService { url: `/api/account/register`, body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); } } AccountService.decorators = [ @@ -223,7 +264,7 @@ class RegisterComponent { userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', })); this.accountService .register(newUser) @@ -437,42 +478,11 @@ if (false) { TenantBoxComponent.prototype.accountService; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * @param {?} options - * @return {?} - */ -function optionsFactory(options) { - return Object.assign({ redirectUrl: '/' }, options); -} -/** @type {?} */ -const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS'); - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class AccountModule { - /** - * @param {?=} options - * @return {?} - */ - static forRoot(options = (/** @type {?} */ ({}))) { - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - } } AccountModule.decorators = [ { type: NgModule, args: [{ @@ -492,15 +502,18 @@ AccountModule.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -const ACCOUNT_ROUTES = (/** @type {?} */ ([ - { - name: 'Account', - path: 'account', - invisible: true, - layout: "application" /* application */, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, -])); +const ACCOUNT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Account', + path: 'account', + invisible: true, + layout: "application" /* application */, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -615,5 +628,5 @@ if (false) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; +export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, RootAccountModule, optionsFactory, optionsFactory as ɵa, ACCOUNT_OPTIONS as ɵb, LoginComponent as ɵc, RegisterComponent as ɵe, AccountService as ɵf, TenantBoxComponent as ɵg, AccountRoutingModule as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map index 7de2632633..e36db18b33 100644 --- a/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm2015/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/root-account.module.ts","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\n\n@NgModule({})\nexport class RootAccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: RootAccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { skipHandleError: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'Angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { TableModule } from 'primeng/table';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = {\n routes: [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;AAGA,SAAgB,cAAc,CAAC,OAAgB;IAC7C,uBACE,WAAW,EAAE,GAAG,IACb,OAAO,EACV;CACH;;AAED,MAAa,eAAe,GAAG,IAAI,cAAc,CAAC,iBAAiB,CAAC;;;;;;ACVpE,MAKa,iBAAiB;;;;;IAC5B,OAAO,OAAO,CAAC,OAAO,sBAAG,EAAE,EAAW;QACpC,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC/C;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF;SACF,CAAC;KACH;;;YAdF,QAAQ,SAAC,EAAE;;;;;;;ACJZ,MAYM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU;AAMrD,MAAa,cAAc;;;;;;;;IAKzB,YACU,EAAe,EACf,YAA0B,EAC1B,KAAY,EACZ,cAA8B,EACS,OAAgB;QAJvD,OAAE,GAAF,EAAE,CAAa;QACf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAO;QACZ,mBAAc,GAAd,cAAc,CAAgB;QACS,YAAO,GAAP,OAAO,CAAS;QAE/D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC;KACJ;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;QAG9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CACF,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAChH;aACE,IAAI,CACH,SAAS;;;QAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,EAAC,EAC/D,GAAG;;;QAAC;;kBACI,WAAW,GAAG,GAAG;;;YAAC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,IAAI,GAAG;YAC1G,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAClD,EAAC,EACF,UAAU;;;;QAAC,GAAG;YACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAC;gBACpC,GAAG;;;gBAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;;YApDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,6tDAAqC;aACtC;;;;YAfQ,WAAW;YAGX,YAAY;YADZ,KAAK;YAIL,cAAc;4CAoBlB,QAAQ,YAAI,MAAM,SAAC,iBAAiB;;;;IATvC,8BAAgB;;IAEhB,oCAAoB;;;;;IAGlB,4BAAuB;;;;;IACvB,sCAAkC;;;;;IAClC,+BAAoB;;;;;IACpB,wCAAsC;;;;;IACtC,iCAA+D;;;;;;;AC5BnE,MAQa,cAAc;;;;IACzB,YAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,UAAU,CAAC,UAAkB;;cACrB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,sCAAsC,UAAU,EAAE;SACxD;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;KAC3D;;;;;IAED,QAAQ,CAAC,IAAqB;;cACtB,OAAO,GAAkC;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,uBAAuB;YAC5B,IAAI;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;KACjG;;;YAvBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YALQ,WAAW;;;;;;;;IAON,8BAAyB;;;;;;;ACTvC,MAYM,aAAEA,WAAS,aAAEC,WAAS,YAAEC,UAAQ,EAAE,KAAK,EAAE,GAAG,UAAU;AAM5D,MAAa,iBAAiB;;;;;;;;IAK5B,YACU,EAAe,EACf,cAA8B,EAC9B,YAA0B,EAC1B,KAAY,EACZ,cAA8B;QAJ9B,OAAE,GAAF,EAAE,CAAa;QACf,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAO;QACZ,mBAAc,GAAd,cAAc,CAAgB;QAEtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACA,UAAQ,EAAEF,WAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAEF,WAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,KAAK,EAAE,CAAC,EAAE,EAAE,CAACE,UAAQ,EAAE,KAAK,CAAC,CAAC;SAC/B,CAAC,CAAC;KACJ;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;cAEjB,OAAO,sBAAG;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YACzC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK;YAC1C,OAAO,EAAE,SAAS;SACnB,EAAmB;QAEpB,IAAI,CAAC,cAAc;aAChB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,CACH,SAAS;;;QAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAC,EACxG,SAAS;;;QAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,EAAC,EAC/D,GAAG;;;QAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EACnD,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;QAAC,GAAG;YACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;YAAC,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAC;gBACpC,GAAG;;;gBAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAE,iCAAiC,CAAC,EACvE,OAAO,EACP,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB,EAAC,EACF,QAAQ;;;QAAC,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAC,CAC1C;aACA,SAAS,EAAE,CAAC;KAChB;;;YAzDF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,i9CAAwC;aACzC;;;;YAdQ,WAAW;YAQX,cAAc;YALd,YAAY;YADZ,KAAK;YAJL,cAAc;;;;IAkBrB,iCAAgB;;IAEhB,uCAAoB;;;;;IAGlB,+BAAuB;;;;;IACvB,2CAAsC;;;;;IACtC,yCAAkC;;;;;IAClC,kCAAoB;;;;;IACpB,2CAAsC;;;;;;;AC5B1C;MAMM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;IACpD;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;KAC7G;CACF;AAMD,MAAa,oBAAoB;;;YAJhC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;;;;;AClBD,MAaa,kBAAkB;;;;;;IAC7B,YAAoB,KAAY,EAAU,cAA8B,EAAU,cAA8B;QAA5F,UAAK,GAAL,KAAK,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAEhH,WAAM,sBAAG,EAAE,EAAiB,CAAC;KAFuF;;;;IAQpH,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,wBAAK,EAAE,GAAkB,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;KAC1C;;;;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;IAED,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,cAAc;iBAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC5B,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU;;;;YAAC,GAAG;gBACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,GAAG;;;gBAAC,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAE,4BAA4B,CAAC,EACpE,cAAc,CACf,CAAC;gBACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;aACxB,EAAC,CACH;iBACA,SAAS;;;;YAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;gBAC/B,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,MAAM,GAAG;wBACZ,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;qBACvB,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBAAM;oBACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8CAA8C,EAAE,cAAc,EAAE;wBACxF,yBAAyB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,sBAAG,EAAE,EAAiB,CAAC;iBACnC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;aAClE,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;;;YAzDF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,0gDAA0C;aAC3C;;;;YATQ,KAAK;YAFL,cAAc;YAMd,cAAc;;;;IASrB,oCAA6B;;IAE7B,wCAAmB;;IAEnB,4CAAwB;;;;;IANZ,mCAAoB;;;;;IAAE,4CAAsC;;;;;IAAE,4CAAsC;;;;;;;ACdlH,MAgBa,aAAa;;;YALzB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;gBACrE,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;gBACrH,OAAO,EAAE,EAAE;aACZ;;;;;;;;;;;;;ACbD,MAAa,cAAc,GAAG;IAC5B,MAAM,qBAAE;QACN;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,MAAM;YACN,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACzG;KACF,EAAmB;IACpB,QAAQ,EAAE,EAAE;CACb;;;;;;;;;;;;;;ACbD,sBAEC;;;IADC,8BAAqB;;;;;;;;;;ACDvB,8BAKC;;;IAJC,mCAAiB;;IACjB,uCAAqB;;IACrB,mCAAiB;;IACjB,kCAAiB;;;;;AAGnB,+BAqBC;;;IApBC,oCAAiB;;IACjB,oCAAiB;;IACjB,gCAAa;;IACb,mCAAgB;;IAChB,iCAAc;;IACd,0CAAwB;;IACxB,uCAAoB;;IACpB,gDAA8B;;IAC9B,4CAA0B;;IAC1B,0CAAwB;;IACxB,sCAAmB;;IACnB,4CAAyB;;IACzB,qCAAmB;;IACnB,qCAAkB;;IAClB,wCAAqB;;IACrB,gDAA6B;;IAC7B,0CAAuB;;IACvB,wCAAqB;;IACrB,qCAAkB;;IAClB,8BAAW;;;;;;;;;;AC3Bb,+BAGC;;;IAFC,mCAAiB;;IACjB,oCAAiB;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js index 62f551ef77..c0abbf1d4d 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js @@ -1,18 +1,67 @@ +import { InjectionToken, NgModule, Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject } from '@angular/core'; +import { __assign } from 'tslib'; import { ConfigState, GetAppConfiguration, RestService, DynamicLayoutComponent, SessionState, SetTenant, CoreModule } from '@abp/ng.core'; -import { Component, Optional, Inject, Injectable, ɵɵdefineInjectable, ɵɵinject, NgModule, InjectionToken } from '@angular/core'; +import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { TableModule } from 'primeng/table'; import { RouterModule } from '@angular/router'; import { Validators, FormBuilder } from '@angular/forms'; import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { OAuthService } from 'angular-oauth2-oidc'; import { from, throwError } from 'rxjs'; -import { ToasterService, ThemeSharedModule } from '@abp/ng.theme.shared'; import { switchMap, tap, catchError, finalize, take } from 'rxjs/operators'; import snq from 'snq'; -import { __assign } from 'tslib'; -import { TableModule } from 'primeng/table'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @param {?} options + * @return {?} + */ +function optionsFactory(options) { + return __assign({ redirectUrl: '/' }, options); +} +/** @type {?} */ +var ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS'); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootAccountModule = /** @class */ (function () { + function RootAccountModule() { + } + /** + * @param {?=} options + * @return {?} + */ + RootAccountModule.forRoot = /** + * @param {?=} options + * @return {?} + */ + function (options) { + if (options === void 0) { options = (/** @type {?} */ ({})); } + return { + ngModule: RootAccountModule, + providers: [ + { provide: ACCOUNT_OPTIONS, useValue: options }, + { + provide: 'ACCOUNT_OPTIONS', + useFactory: optionsFactory, + deps: [ACCOUNT_OPTIONS], + }, + ], + }; + }; + RootAccountModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootAccountModule; +}()); /** * @fileoverview added by tsickle @@ -44,7 +93,7 @@ var LoginComponent = /** @class */ (function () { var _this = this; if (this.form.invalid) return; - this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); + // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage); this.inProgress = true; from(this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value)) .pipe(switchMap((/** @@ -167,7 +216,7 @@ var AccountService = /** @class */ (function () { url: "/api/account/register", body: body, }; - return this.rest.request(request, { throwErr: true }); + return this.rest.request(request, { skipHandleError: true }); }; AccountService.decorators = [ { type: Injectable, args: [{ @@ -225,7 +274,7 @@ var RegisterComponent = /** @class */ (function () { userName: this.form.get('username').value, password: this.form.get('password').value, emailAddress: this.form.get('email').value, - appName: 'angular', + appName: 'Angular', })); this.accountService .register(newUser) @@ -450,20 +499,6 @@ if (false) { TenantBoxComponent.prototype.accountService; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * @param {?} options - * @return {?} - */ -function optionsFactory(options) { - return __assign({ redirectUrl: '/' }, options); -} -/** @type {?} */ -var ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS'); - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -471,28 +506,6 @@ var ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS'); var AccountModule = /** @class */ (function () { function AccountModule() { } - /** - * @param {?=} options - * @return {?} - */ - AccountModule.forRoot = /** - * @param {?=} options - * @return {?} - */ - function (options) { - if (options === void 0) { options = (/** @type {?} */ ({})); } - return { - ngModule: AccountModule, - providers: [ - { provide: ACCOUNT_OPTIONS, useValue: options }, - { - provide: 'ACCOUNT_OPTIONS', - useFactory: optionsFactory, - deps: [ACCOUNT_OPTIONS], - }, - ], - }; - }; AccountModule.decorators = [ { type: NgModule, args: [{ declarations: [LoginComponent, RegisterComponent, TenantBoxComponent], @@ -513,15 +526,18 @@ var AccountModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -var ACCOUNT_ROUTES = (/** @type {?} */ ([ - { - name: 'Account', - path: 'account', - invisible: true, - layout: "application" /* application */, - children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], - }, -])); +var ACCOUNT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Account', + path: 'account', + invisible: true, + layout: "application" /* application */, + children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -636,5 +652,5 @@ if (false) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, optionsFactory, LoginComponent as ɵa, RegisterComponent as ɵc, AccountService as ɵd, TenantBoxComponent as ɵe, AccountRoutingModule as ɵf, optionsFactory as ɵg, ACCOUNT_OPTIONS as ɵh }; +export { ACCOUNT_OPTIONS, ACCOUNT_ROUTES, AccountModule, LoginComponent, RegisterComponent, RootAccountModule, optionsFactory, optionsFactory as ɵa, ACCOUNT_OPTIONS as ɵb, LoginComponent as ɵc, RegisterComponent as ɵe, AccountService as ɵf, TenantBoxComponent as ɵg, AccountRoutingModule as ɵh }; //# sourceMappingURL=abp-ng.account.js.map diff --git a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map index 5a4e4df1c9..2fa526547f 100644 --- a/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map +++ b/npm/ng-packs/dist/account/fesm5/abp-ng.account.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { throwErr: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\nimport { TableModule } from 'primeng/table';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: AccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n] as ABP.FullRoute[];\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.account.js","sources":["ng://@abp/ng.account/lib/tokens/options.token.ts","ng://@abp/ng.account/lib/root-account.module.ts","ng://@abp/ng.account/lib/components/login/login.component.ts","ng://@abp/ng.account/lib/services/account.service.ts","ng://@abp/ng.account/lib/components/register/register.component.ts","ng://@abp/ng.account/lib/account-routing.module.ts","ng://@abp/ng.account/lib/components/tenant-box/tenant-box.component.ts","ng://@abp/ng.account/lib/account.module.ts","ng://@abp/ng.account/lib/constants/routes.ts","ng://@abp/ng.account/lib/models/options.ts","ng://@abp/ng.account/lib/models/user.ts","ng://@abp/ng.account/lib/models/tenant.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Options } from '../models/options';\n\nexport function optionsFactory(options: Options) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n\nexport const ACCOUNT_OPTIONS = new InjectionToken('ACCOUNT_OPTIONS');\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Options } from './models/options';\nimport { ACCOUNT_OPTIONS, optionsFactory } from './tokens/options.token';\n\n@NgModule({})\nexport class RootAccountModule {\n static forRoot(options = {} as Options): ModuleWithProviders {\n return {\n ngModule: RootAccountModule,\n providers: [\n { provide: ACCOUNT_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: optionsFactory,\n deps: [ACCOUNT_OPTIONS],\n },\n ],\n };\n }\n}\n","import { GetAppConfiguration, ConfigState } from '@abp/ng.core';\nimport { Component, Inject, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { Options } from '../../models/options';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\n\nconst { maxLength, minLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n @Optional() @Inject('ACCOUNT_OPTIONS') private options: Options,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n remember: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n // this.oauthService.setStorage(this.form.value.remember ? localStorage : sessionStorage);\n\n this.inProgress = true;\n from(\n this.oauthService.fetchTokenUsingPasswordFlow(this.form.get('username').value, this.form.get('password').value),\n )\n .pipe(\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => {\n const redirectUrl = snq(() => window.history.state).redirectUrl || (this.options || {}).redirectUrl || '/';\n this.store.dispatch(new Navigate([redirectUrl]));\n }),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { RegisterResponse, RegisterRequest, TenantIdResponse } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n constructor(private rest: RestService) {}\n\n findTenant(tenantName: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/abp/multi-tenancy/find-tenant/${tenantName}`,\n };\n\n return this.rest.request(request);\n }\n\n register(body: RegisterRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/account/register`,\n body,\n };\n\n return this.rest.request(request, { skipHandleError: true });\n }\n}\n","import { ConfigState, GetAppConfiguration } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Navigate } from '@ngxs/router-plugin';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap, take, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { RegisterRequest } from '../../models';\nimport { AccountService } from '../../services/account.service';\nconst { maxLength, minLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private oauthService: OAuthService,\n private store: Store,\n private toasterService: ToasterService,\n ) {\n this.oauthService.configure(this.store.selectSnapshot(ConfigState.getOne('environment')).oAuthConfig);\n this.oauthService.loadDiscoveryDocument();\n\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(32)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'Angular',\n } as RegisterRequest;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() => from(this.oauthService.fetchTokenUsingPasswordFlow(newUser.userName, newUser.password))),\n switchMap(() => this.store.dispatch(new GetAppConfiguration())),\n tap(() => this.store.dispatch(new Navigate(['/']))),\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description) ||\n snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'),\n 'Error',\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { DynamicLayoutComponent } from '@abp/ng.core';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: 'login', component: LoginComponent }, { path: 'register', component: RegisterComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { ABP, SetTenant, SessionState } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'abp-tenant-box',\n templateUrl: './tenant-box.component.html',\n})\nexport class TenantBoxComponent implements OnInit {\n constructor(private store: Store, private toasterService: ToasterService, private accountService: AccountService) {}\n\n tenant = {} as ABP.BasicItem;\n\n tenantName: string;\n\n isModalVisible: boolean;\n\n ngOnInit() {\n this.tenant = this.store.selectSnapshot(SessionState.getTenant) || ({} as ABP.BasicItem);\n this.tenantName = this.tenant.name || '';\n }\n\n onSwitch() {\n this.isModalVisible = true;\n }\n\n save() {\n if (this.tenant.name) {\n this.accountService\n .findTenant(this.tenant.name)\n .pipe(\n take(1),\n catchError(err => {\n this.toasterService.error(\n snq(() => err.error.error_description, 'AbpUi::DefaultErrorMessage'),\n 'AbpUi::Error',\n );\n return throwError(err);\n }),\n )\n .subscribe(({ success, tenantId }) => {\n if (success) {\n this.tenant = {\n id: tenantId,\n name: this.tenant.name,\n };\n this.tenantName = this.tenant.name;\n this.isModalVisible = false;\n } else {\n this.toasterService.error(`AbpUiMultiTenancy::GivenTenantIsNotAvailable`, 'AbpUi::Error', {\n messageLocalizationParams: [this.tenant.name],\n });\n this.tenant = {} as ABP.BasicItem;\n }\n this.store.dispatch(new SetTenant(success ? this.tenant : null));\n });\n } else {\n this.store.dispatch(new SetTenant(null));\n this.tenantName = null;\n this.isModalVisible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { TableModule } from 'primeng/table';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\n\n@NgModule({\n declarations: [LoginComponent, RegisterComponent, TenantBoxComponent],\n imports: [CoreModule, AccountRoutingModule, ThemeSharedModule, TableModule, NgbDropdownModule, NgxValidateCoreModule],\n exports: [],\n})\nexport class AccountModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const ACCOUNT_ROUTES = {\n routes: [\n {\n name: 'Account',\n path: 'account',\n invisible: true,\n layout: eLayoutType.application,\n children: [{ path: 'login', name: 'Login', order: 1 }, { path: 'register', name: 'Register', order: 2 }],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","export interface Options {\n redirectUrl?: string;\n}\n","export interface RegisterRequest {\n userName: string;\n emailAddress: string;\n password: string;\n appName?: string;\n}\n\nexport interface RegisterResponse {\n tenantId: string;\n userName: string;\n name: string;\n surname: string;\n email: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: boolean;\n twoFactorEnabled: boolean;\n lockoutEnabled: boolean;\n lockoutEnd: string;\n concurrencyStamp: string;\n isDeleted: boolean;\n deleterId: string;\n deletionTime: string;\n lastModificationTime: string;\n lastModifierId: string;\n creationTime: string;\n creatorId: string;\n id: string;\n}\n","export interface TenantIdResponse {\n success: boolean;\n tenantId: string;\n}\n"],"names":["maxLength","minLength","required"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/account/lib/account.module.d.ts b/npm/ng-packs/dist/account/lib/account.module.d.ts index 5d54404161..ab6f139b3a 100644 --- a/npm/ng-packs/dist/account/lib/account.module.d.ts +++ b/npm/ng-packs/dist/account/lib/account.module.d.ts @@ -1,5 +1,2 @@ -import { ModuleWithProviders } from '@angular/core'; -import { Options } from './models/options'; export declare class AccountModule { - static forRoot(options?: Options): ModuleWithProviders; } diff --git a/npm/ng-packs/dist/account/lib/constants/routes.d.ts b/npm/ng-packs/dist/account/lib/constants/routes.d.ts index 8407711441..73eb146b00 100644 --- a/npm/ng-packs/dist/account/lib/constants/routes.d.ts +++ b/npm/ng-packs/dist/account/lib/constants/routes.d.ts @@ -1,2 +1,5 @@ import { ABP } from '@abp/ng.core'; -export declare const ACCOUNT_ROUTES: ABP.FullRoute[]; +export declare const ACCOUNT_ROUTES: { + routes: ABP.FullRoute[]; + settings: any[]; +}; diff --git a/npm/ng-packs/dist/account/lib/root-account.module.d.ts b/npm/ng-packs/dist/account/lib/root-account.module.d.ts new file mode 100644 index 0000000000..e182b0e9b3 --- /dev/null +++ b/npm/ng-packs/dist/account/lib/root-account.module.d.ts @@ -0,0 +1,5 @@ +import { ModuleWithProviders } from '@angular/core'; +import { Options } from './models/options'; +export declare class RootAccountModule { + static forRoot(options?: Options): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/account/public-api.d.ts b/npm/ng-packs/dist/account/public-api.d.ts index 0e845f0768..d75f7155f1 100644 --- a/npm/ng-packs/dist/account/public-api.d.ts +++ b/npm/ng-packs/dist/account/public-api.d.ts @@ -1,3 +1,4 @@ +export * from './lib/root-account.module'; export * from './lib/account.module'; export * from './lib/components'; export * from './lib/constants/routes'; diff --git a/npm/ng-packs/dist/core/abp-ng.core.d.ts b/npm/ng-packs/dist/core/abp-ng.core.d.ts index 25cc208438..e6300c00d5 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.d.ts +++ b/npm/ng-packs/dist/core/abp-ng.core.d.ts @@ -2,26 +2,29 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { GetAppConfiguration as ɵp, PatchRouteByName as ɵo } from './lib/actions/config.actions'; export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; -export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; -export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; -export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; -export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; -export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; -export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; -export { ABP as ɵk, Profile as ɵg } from './lib/models'; -export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; +export { SetLanguage as ɵj, SetTenant as ɵk } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵr } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵq } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵt } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵz } from './lib/directives/debounce.directive'; +export { EllipsisDirective as ɵu } from './lib/directives/ellipsis.directive'; +export { FormSubmitDirective as ɵv } from './lib/directives/form-submit.directive'; +export { PermissionDirective as ɵx } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵba } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵy } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbf } from './lib/interceptors/api.interceptor'; +export { ABP as ɵl, Profile as ɵg } from './lib/models'; +export { LocalizationPipe as ɵw } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵbe, NGXS_CONFIG_PLUGIN_OPTIONS as ɵbd } from './lib/plugins/config/config.plugin'; +export { LocaleId as ɵbb, LocaleProvider as ɵbc } from './lib/providers/locale.provider'; +export { ApplicationConfigurationService as ɵn } from './lib/services/application-configuration.service'; +export { LocalizationService as ɵi } from './lib/services/localization.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵr } from './lib/states'; -export { ConfigState as ɵl } from './lib/states/config.state'; +export { ConfigState as ɵs } from './lib/states'; +export { ConfigState as ɵm } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵbc } from './lib/utils/initial-utils'; +export { getInitialData as ɵbg, localeInitializer as ɵbh } from './lib/utils/initial-utils'; diff --git a/npm/ng-packs/dist/core/abp-ng.core.metadata.json b/npm/ng-packs/dist/core/abp-ng.core.metadata.json index ce8fc47ef7..0285cce08b 100644 --- a/npm/ng-packs/dist/core/abp-ng.core.metadata.json +++ b/npm/ng-packs/dist/core/abp-ng.core.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/profile.service"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":27,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":28,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":29,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":52,"character":4},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"}],"providers":[{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":73,"character":19},"useClass":{"__symbolic":"reference","name":"ɵba"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵz"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":82,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbb"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":87,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":89,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbc"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":4,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":161,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":163,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵn"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵo":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵr"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵz"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/actions/session.actions","ɵj":"./lib/actions/session.actions","ɵk":"./lib/models","ɵl":"./lib/states/config.state","ɵm":"./lib/services/application-configuration.service","ɵn":"./lib/actions/config.actions","ɵo":"./lib/actions/config.actions","ɵp":"./lib/components/router-outlet.component","ɵq":"./lib/components/dynamic-layout.component","ɵr":"./lib/states","ɵs":"./lib/directives/autofocus.directive","ɵt":"./lib/directives/ellipsis.directive","ɵu":"./lib/pipes/localization.pipe","ɵv":"./lib/directives/permission.directive","ɵw":"./lib/directives/visibility.directive","ɵx":"./lib/directives/debounce.directive","ɵy":"./lib/directives/stop-propagation.directive","ɵz":"./lib/plugins/config.plugin","ɵba":"./lib/plugins/config.plugin","ɵbb":"./lib/interceptors/api.interceptor","ɵbc":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/common-utils"},{"from":"./lib/generator-utils"},{"from":"./lib/initial-utils"},{"from":"./lib/route-utils"},{"from":"./lib/rxjs-utils"},{"from":"./lib/rest.service"}],"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":27,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":29,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵm"}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/storage-plugin","name":"NgxsStoragePluginModule","line":30,"character":4},"member":"forRoot"},"arguments":[{"key":"SessionState"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/router-plugin","name":"NgxsRouterPluginModule","line":31,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":34,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":35,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":36,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":53,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":54,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":55,"character":4},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵba"}],"providers":[{"__symbolic":"reference","name":"ɵw"}],"entryComponents":[{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"CoreModule"},"providers":[{"__symbolic":"reference","name":"ɵbc"},{"provide":{"__symbolic":"reference","module":"@ngxs/store","name":"NGXS_PLUGINS","line":78,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbe"},"multi":true},{"provide":{"__symbolic":"reference","name":"ɵbd"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":87,"character":19},"useClass":{"__symbolic":"reference","name":"ɵbf"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":92,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":94,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbg"}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":98,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":100,"character":17}],"useFactory":{"__symbolic":"reference","name":"ɵbh"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"ProfileState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"profileGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"profileUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"changePassword":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getProfile":{"__symbolic":"function","parameters":["profile"],"value":{"__symbolic":"reference","name":"profile"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":13,"character":55}]}],"handleError":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{},"statics":{"type":"[Profile] Get"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Response"}]}]},"statics":{"type":"[Profile] Update"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"ChangePasswordRequest"}]}]},"statics":{"type":"[Profile] Change Password"}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":7,"character":1},"arguments":[{"name":"SessionState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵi"}]}],"setLanguage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":24,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}],"setTenantId":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":33,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵk"}]}]}]},"statics":{"getLanguage":{"__symbolic":"function","parameters":["language"],"value":{"__symbolic":"reference","name":"language"}},"getTenant":{"__symbolic":"function","parameters":["tenant"],"value":{"__symbolic":"reference","name":"tenant"}}}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":21,"character":5}}]],"parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":19},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":18,"character":20},{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":19,"character":21},{"__symbolic":"reference","name":"ɵi"}]}],"setRouteReuse":[{"__symbolic":"method"}],"registerLocale":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"instant":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Session] Set Language"}},"ɵk":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵl"},"member":"BasicItem"}]}]},"statics":{"type":"[Session] Set Tenant"}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":11,"character":1},"arguments":[{"name":"ConfigState","defaults":{}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":172,"character":95}]}],"addData":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":174,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵp"}]}]}],"patchRoute":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":194,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}]},"statics":{"getAll":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"reference","name":"state"}},"getApplicationInfo":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"environment"},"member":"application"},"right":{}}}}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"getConfiguration":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵo":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":4,"character":52,"context":{"typeName":"Partial"},"module":"./lib/actions/config.actions"}]}]},"statics":{"type":"[Config] Patch Route By Name"}},"ɵp":{"__symbolic":"class","members":{},"statics":{"type":"[Config] Get App Configuration"}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-router-outlet","template":"\n \n "}]}],"members":{}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"abp-dynamic-layout","template":"\n \n\n \n \n "}]}],"members":{"requirements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":20,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵs"},"member":"getOne"},"arguments":["requirements"]}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":25,"character":53}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[autofocus]"}]}],"members":{"delay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["autofocus"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":29}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[abpEllipsis]"}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3},"arguments":["abpEllipsis"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["title"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["abpEllipsisEnabled"]}]}],"inlineClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["class.abp-ellipsis-inline"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["class.abp-ellipsis"]}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":26,"character":3},"arguments":["style.max-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":31,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":31,"character":63}]}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"form[ngSubmit][formGroup]"}]}],"members":{"notValidateOnSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"ngSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":31,"character":5}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":31,"character":40},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":29,"context":{"typeName":"HTMLFormElement"},"module":"./lib/directives/form-submit.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":7,"character":1},"arguments":[{"name":"abpLocalization","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":18,"character":29}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[abpPermission]"}]}],"members":{"condition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3},"arguments":["abpPermission"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":11,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":71},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":11,"character":97}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[abpVisibility]"}]}],"members":{"focusedElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["abpVisibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":13,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":71}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[input.debounce]"}]}],"members":{"debounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"debounceEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3},"arguments":["input.debounce"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":13,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[click.stop]"}]}],"members":{"stopPropEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3},"arguments":["click.stop"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":10,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":55}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"String"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵi"}]}],"toString":[{"__symbolic":"method"}],"valueOf":[{"__symbolic":"method"}]}},"ɵbc":{"provide":{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":20,"character":11},"useClass":{"__symbolic":"reference","name":"ɵbb"},"deps":[{"__symbolic":"reference","name":"ɵi"}]},"ɵbd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":46},"arguments":["NGXS_CONFIG_PLUGIN_OPTIONS"]},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵbd"}]}],null],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵl"},"member":"Root"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":93}]}],"handle":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":10,"character":36},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":65}]}],"intercept":[{"__symbolic":"method"}]}},"ɵbg":{"__symbolic":"function"},"ɵbh":{"__symbolic":"function"}},"origins":{"CoreModule":"./lib/core.module","ɵa":"./lib/states/profile.state","ɵb":"./lib/services/profile.service","ɵc":"./lib/services/rest.service","ɵd":"./lib/actions/profile.actions","ɵe":"./lib/actions/profile.actions","ɵf":"./lib/actions/profile.actions","ɵg":"./lib/models","ɵh":"./lib/states/session.state","ɵi":"./lib/services/localization.service","ɵj":"./lib/actions/session.actions","ɵk":"./lib/actions/session.actions","ɵl":"./lib/models","ɵm":"./lib/states/config.state","ɵn":"./lib/services/application-configuration.service","ɵo":"./lib/actions/config.actions","ɵp":"./lib/actions/config.actions","ɵq":"./lib/components/router-outlet.component","ɵr":"./lib/components/dynamic-layout.component","ɵs":"./lib/states","ɵt":"./lib/directives/autofocus.directive","ɵu":"./lib/directives/ellipsis.directive","ɵv":"./lib/directives/form-submit.directive","ɵw":"./lib/pipes/localization.pipe","ɵx":"./lib/directives/permission.directive","ɵy":"./lib/directives/visibility.directive","ɵz":"./lib/directives/debounce.directive","ɵba":"./lib/directives/stop-propagation.directive","ɵbb":"./lib/providers/locale.provider","ɵbc":"./lib/providers/locale.provider","ɵbd":"./lib/plugins/config/config.plugin","ɵbe":"./lib/plugins/config/config.plugin","ɵbf":"./lib/interceptors/api.interceptor","ɵbg":"./lib/utils/initial-utils","ɵbh":"./lib/utils/initial-utils"},"importAs":"@abp/ng.core"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js index 5fe2c79b69..c4af371d2f 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@ngxs/store'), require('rxjs'), require('@angular/common/http'), require('rxjs/operators'), require('snq'), require('angular-oauth2-oidc'), require('@ngxs/router-plugin'), require('@angular/common'), require('@angular/forms'), require('@ngxs/storage-plugin'), require('@ngx-validate/core')) : - typeof define === 'function' && define.amd ? define('@abp/ng.core', ['exports', '@angular/core', '@angular/router', '@ngxs/store', 'rxjs', '@angular/common/http', 'rxjs/operators', 'snq', 'angular-oauth2-oidc', '@ngxs/router-plugin', '@angular/common', '@angular/forms', '@ngxs/storage-plugin', '@ngx-validate/core'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.core = {}), global.ng.core, global.ng.router, global.store, global.rxjs, global.ng.common.http, global.rxjs.operators, global.snq, global.angularOauth2Oidc, global.routerPlugin, global.ng.common, global.ng.forms, global.storagePlugin, global.core$1)); -}(this, function (exports, core, router, store, rxjs, http, operators, snq, angularOauth2Oidc, routerPlugin, common, forms, storagePlugin, core$1) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@ngxs/store'), require('rxjs'), require('@angular/common/http'), require('rxjs/operators'), require('snq'), require('@angular/common'), require('@angular/forms'), require('angular-oauth2-oidc'), require('@ngxs/router-plugin'), require('@ngxs/storage-plugin'), require('@ngx-validate/core')) : + typeof define === 'function' && define.amd ? define('@abp/ng.core', ['exports', '@angular/core', '@angular/router', '@ngxs/store', 'rxjs', '@angular/common/http', 'rxjs/operators', 'snq', '@angular/common', '@angular/forms', 'angular-oauth2-oidc', '@ngxs/router-plugin', '@ngxs/storage-plugin', '@ngx-validate/core'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.core = {}), global.ng.core, global.ng.router, global.store, global.rxjs, global.ng.common.http, global.rxjs.operators, global.snq, global.ng.common, global.ng.forms, global.angularOauth2Oidc, global.routerPlugin, global.storagePlugin, global.core$1)); +}(this, function (exports, core, router, store, rxjs, http, operators, snq, common, forms, angularOauth2Oidc, routerPlugin, storagePlugin, core$1) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -380,7 +380,7 @@ function (err) { this.store.dispatch(new RestOccurError(err)); console.error(err); - return rxjs.NEVER; + return rxjs.throwError(err); }; /** * @template T, R @@ -399,7 +399,7 @@ function (request, config, api) { var _this = this; if (config === void 0) { config = {}; } - var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, throwErr = config.throwErr; + var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, skipHandleError = config.skipHandleError; /** @type {?} */ var url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; var method = request.method, options = __rest(request, ["method"]); @@ -408,7 +408,7 @@ * @return {?} */ function (err) { - if (throwErr) { + if (skipHandleError) { return rxjs.throwError(err); } return _this.handleError(err); @@ -481,23 +481,23 @@ }; /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ - function (body, throwErr) { - if (throwErr === void 0) { throwErr = false; } + function (body, skipHandleError) { + if (skipHandleError === void 0) { skipHandleError = false; } /** @type {?} */ var request = { method: 'POST', url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request, { throwErr: throwErr }); + return this.rest.request(request, { skipHandleError: skipHandleError }); }; ProfileService.decorators = [ { type: core.Injectable, args: [{ @@ -679,12 +679,245 @@ ApplicationConfigurationService.prototype.rest; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + // Different locales from .NET + // Key is .NET locale, value is Angular locale + var localesMapping = { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', + }; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @param {?} injector + * @return {?} + */ + function getInitialData(injector) { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + var store$1 = injector.get(store.Store); + return store$1.dispatch(new GetAppConfiguration()).toPromise(); + }); + return fn; + } + /** + * @param {?} injector + * @return {?} + */ + function localeInitializer(injector) { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + var store$1 = injector.get(store.Store); + /** @type {?} */ + var lang = store$1.selectSnapshot(SessionState.getLanguage) || 'en'; + return new Promise((/** + * @param {?} resolve + * @param {?} reject + * @return {?} + */ + function (resolve, reject) { + registerLocale(lang).then((/** + * @return {?} + */ + function () { return resolve(); }), reject); + })); + }); + return fn; + } + /** + * @param {?} locale + * @return {?} + */ + function registerLocale(locale) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + "@angular/common/locales/" + (localesMapping[locale] || locale) + ".js").then((/** + * @param {?} module + * @return {?} + */ + function (module) { + common.registerLocaleData(module.default); + })); + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LocalizationService = /** @class */ (function () { + function LocalizationService(store, router, actions, otherInstance) { + this.store = store; + this.router = router; + this.actions = actions; + if (otherInstance) + throw new Error('LocaleService should have only one instance.'); + } + Object.defineProperty(LocalizationService.prototype, "currentLang", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(SessionState.getLanguage); + }, + enumerable: true, + configurable: true + }); + /** + * @private + * @param {?} reuse + * @return {?} + */ + LocalizationService.prototype.setRouteReuse = /** + * @private + * @param {?} reuse + * @return {?} + */ + function (reuse) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + }; + /** + * @param {?} locale + * @return {?} + */ + LocalizationService.prototype.registerLocale = /** + * @param {?} locale + * @return {?} + */ + function (locale) { + var _this = this; + var shouldReuseRoute = this.router.routeReuseStrategy.shouldReuseRoute; + this.setRouteReuse((/** + * @return {?} + */ + function () { return false; })); + this.router.navigated = false; + return registerLocale(locale).then((/** + * @return {?} + */ + function () { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.router.navigateByUrl(this.router.url).catch(rxjs.noop)]; + case 1: + _a.sent(); + this.setRouteReuse(shouldReuseRoute); + return [2 /*return*/]; + } + }); + }); })); + }; + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationService.prototype.get = /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + function (keys) { + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + return this.store.select(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); + }; + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationService.prototype.instant = /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + function (keys) { + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + return this.store.selectSnapshot(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); + }; + LocalizationService.decorators = [ + { type: core.Injectable, args: [{ providedIn: 'root' },] } + ]; + /** @nocollapse */ + LocalizationService.ctorParameters = function () { return [ + { type: store.Store }, + { type: router.Router }, + { type: store.Actions }, + { type: LocalizationService, decorators: [{ type: core.Optional }, { type: core.SkipSelf }] } + ]; }; + /** @nocollapse */ LocalizationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(core.ɵɵinject(store.Store), core.ɵɵinject(router.Router), core.ɵɵinject(store.Actions), core.ɵɵinject(LocalizationService, 12)); }, token: LocalizationService, providedIn: "root" }); + return LocalizationService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.router; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.actions; + } + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var SessionState = /** @class */ (function () { - function SessionState() { + function SessionState(localizationService) { + this.localizationService = localizationService; } /** * @param {?} __0 @@ -721,11 +954,12 @@ * @return {?} */ function (_a, _b) { - var patchState = _a.patchState; + var patchState = _a.patchState, dispatch = _a.dispatch; var payload = _b.payload; patchState({ language: payload, }); + return rxjs.combineLatest([dispatch(new GetAppConfiguration()), rxjs.from(this.localizationService.registerLocale(payload))]); }; /** * @param {?} __0 @@ -773,10 +1007,17 @@ name: 'SessionState', defaults: (/** @type {?} */ ({})), }), - __metadata("design:paramtypes", []) + __metadata("design:paramtypes", [LocalizationService]) ], SessionState); return SessionState; }()); + if (false) { + /** + * @type {?} + * @private + */ + SessionState.prototype.localizationService; + } /** * @fileoverview added by tsickle @@ -958,6 +1199,27 @@ })); return selector; }; + /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + ConfigState.getRoute = /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + function (path, name) { + /** @type {?} */ + var selector = store.createSelector([ConfigState_1], (/** + * @param {?} state + * @return {?} + */ + function (state) { + return findRoute(state.routes, path, name); + })); + return selector; + }; /** * @param {?=} key * @return {?} @@ -1141,12 +1403,12 @@ * @return {?} */ function (configuration) { - return _this.store.selectSnapshot(SessionState.getLanguage) - ? rxjs.of(null) - : dispatch(new SetLanguage(snq((/** - * @return {?} - */ - function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); + /** @type {?} */ + var defaultLang = configuration.setting.values['Abp.Localization.DefaultLanguage']; + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + return _this.store.selectSnapshot(SessionState.getLanguage) ? rxjs.of(null) : dispatch(new SetLanguage(defaultLang)); }))); }; /** @@ -1259,6 +1521,36 @@ } return organizeRoutes(routes); } + /** + * @param {?} routes + * @param {?=} path + * @param {?=} name + * @return {?} + */ + function findRoute(routes, path, name) { + /** @type {?} */ + var foundRoute; + routes.forEach((/** + * @param {?} route + * @return {?} + */ + function (route) { + if (foundRoute) + return; + if (path && route.path === path) { + foundRoute = route; + } + else if (name && route.name === name) { + foundRoute = route; + return; + } + else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + })); + return foundRoute; + } /** * @fileoverview added by tsickle @@ -1270,13 +1562,15 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?=} a * @return {?} */ - function uuid(a) { - return a - ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) - : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); + function noop() { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { }); + return fn; } /** @@ -1284,20 +1578,13 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?} injector + * @param {?=} a * @return {?} */ - function getInitialData(injector) { - /** @type {?} */ - var fn = (/** - * @return {?} - */ - function () { - /** @type {?} */ - var store$1 = injector.get(store.Store); - return store$1.dispatch(new GetAppConfiguration()).toPromise(); - }); - return fn; + function uuid(a) { + return a + ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) + : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); } /** @@ -1456,7 +1743,7 @@ * @return {?} */ function (c) { return c.path === segments[1].path; })); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } @@ -1485,6 +1772,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1541,12 +1833,22 @@ this.elRef = elRef; this.enabled = true; } + Object.defineProperty(EllipsisDirective.prototype, "inlineClass", { + get: /** + * @return {?} + */ + function () { + return this.enabled && this.width; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(EllipsisDirective.prototype, "class", { get: /** * @return {?} */ function () { - return this.enabled; + return this.enabled && !this.width; }, enumerable: true, configurable: true @@ -1556,7 +1858,7 @@ * @return {?} */ function () { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1595,28 +1897,169 @@ width: [{ type: core.Input, args: ['abpEllipsis',] }], title: [{ type: core.HostBinding, args: ['title',] }, { type: core.Input }], enabled: [{ type: core.Input, args: ['abpEllipsisEnabled',] }], + inlineClass: [{ type: core.HostBinding, args: ['class.abp-ellipsis-inline',] }], class: [{ type: core.HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: core.HostBinding, args: ['style.max-width',] }] }; - return EllipsisDirective; + return EllipsisDirective; + }()); + if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var FormSubmitDirective = /** @class */ (function () { + function FormSubmitDirective(formGroupDirective, host, cdRef) { + this.formGroupDirective = formGroupDirective; + this.host = host; + this.cdRef = cdRef; + this.ngSubmit = new core.EventEmitter(); + this.executedNgSubmit = false; + } + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe((/** + * @return {?} + */ + function () { + _this.markAsDirty(); + _this.executedNgSubmit = true; + })); + rxjs.fromEvent((/** @type {?} */ (this.host.nativeElement)), 'keyup') + .pipe(operators.debounceTime(200), operators.filter((/** + * @param {?} key + * @return {?} + */ + function (key) { return key && key.key === 'Enter'; })), takeUntilDestroy(this)) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + _this.executedNgSubmit = false; + })); + rxjs.fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this), operators.filter((/** + * @return {?} + */ + function () { return !_this.notValidateOnSubmit && typeof _this.notValidateOnSubmit !== 'string'; }))) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.markAsDirty(); + } + })); + }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.markAsDirty = /** + * @return {?} + */ + function () { + var form = this.formGroupDirective.form; + setDirty((/** @type {?} */ (form.controls))); + form.markAsDirty(); + this.cdRef.detectChanges(); + }; + FormSubmitDirective.decorators = [ + { type: core.Directive, args: [{ + selector: 'form[ngSubmit][formGroup]', + },] } + ]; + /** @nocollapse */ + FormSubmitDirective.ctorParameters = function () { return [ + { type: forms.FormGroupDirective, decorators: [{ type: core.Self }] }, + { type: core.ElementRef }, + { type: core.ChangeDetectorRef } + ]; }; + FormSubmitDirective.propDecorators = { + notValidateOnSubmit: [{ type: core.Input }], + ngSubmit: [{ type: core.Output }] + }; + return FormSubmitDirective; }()); if (false) { /** @type {?} */ - EllipsisDirective.prototype.width; + FormSubmitDirective.prototype.notValidateOnSubmit; /** @type {?} */ - EllipsisDirective.prototype.title; + FormSubmitDirective.prototype.ngSubmit; /** @type {?} */ - EllipsisDirective.prototype.enabled; + FormSubmitDirective.prototype.executedNgSubmit; /** * @type {?} * @private */ - EllipsisDirective.prototype.cdRef; + FormSubmitDirective.prototype.formGroupDirective; /** * @type {?} * @private */ - EllipsisDirective.prototype.elRef; + FormSubmitDirective.prototype.host; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.cdRef; + } + /** + * @param {?} controls + * @return {?} + */ + function setDirty(controls) { + if (Array.isArray(controls)) { + controls.forEach((/** + * @param {?} group + * @return {?} + */ + function (group) { + setDirty((/** @type {?} */ (group.controls))); + })); + return; + } + Object.keys(controls).forEach((/** + * @param {?} key + * @return {?} + */ + function (key) { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + })); } /** @@ -1891,10 +2334,19 @@ * @return {?} */ function (_a) { + var _this = this; var data = _a.data; /** @type {?} */ var resource = (/** @type {?} */ (data.requiredPolicy)); - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(operators.tap((/** + * @param {?} access + * @return {?} + */ + function (access) { + if (!access) { + _this.store.dispatch(new RestOccurError({ status: 403 })); + } + }))); }; PermissionGuard.decorators = [ { type: core.Injectable, args: [{ @@ -2259,7 +2711,7 @@ Rest.Config = Config; if (false) { /** @type {?|undefined} */ - Config.prototype.throwErr; + Config.prototype.skipHandleError; /** @type {?|undefined} */ Config.prototype.observe; } @@ -2441,7 +2893,7 @@ return snq((/** * @return {?} */ - function () { return route.data.routes.find((/** + function () { return route.data.routes.routes.find((/** * @param {?} r * @return {?} */ @@ -2452,7 +2904,7 @@ * @param {?} val * @return {?} */ - function (acc, val) { return __spread(acc, val.data.routes); }), []); + function (acc, val) { return __spread(acc, val.data.routes.routes); }), []); wrappers = abpRoutes.filter((/** * @param {?} ar * @return {?} @@ -2479,20 +2931,16 @@ function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** * @return {?} */ - function () { return route.data.routes.length; }), false); })); + function () { return route.data.routes.routes.length; }), false); })); var length = transformed.length; if (abpPackage) { transformed.push(abpPackage); } if (transformed.length === length) { - transformed.push((/** @type {?} */ ({ - path: route.path, - name: snq((/** + transformed.push((/** @type {?} */ (__assign({}, route.data.routes, { path: route.path, name: snq((/** * @return {?} */ - function () { return route.data.routes.name; }), route.path), - children: route.data.routes.children || [], - }))); + function () { return route.data.routes.name; }), route.path), children: route.data.routes.children || [] })))); } })); return { routes: setUrls(transformed), wrappers: wrappers }; @@ -2681,66 +3129,6 @@ LazyLoadService.prototype.loadedLibraries; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LocalizationService = /** @class */ (function () { - function LocalizationService(store) { - this.store = store; - } - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationService.prototype.get = /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - function (keys) { - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - return this.store.select(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); - }; - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationService.prototype.instant = /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - function (keys) { - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - return this.store.selectSnapshot(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); - }; - LocalizationService.decorators = [ - { type: core.Injectable, args: [{ providedIn: 'root' },] } - ]; - /** @nocollapse */ - LocalizationService.ctorParameters = function () { return [ - { type: store.Store } - ]; }; - /** @nocollapse */ LocalizationService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(core.ɵɵinject(store.Store)); }, token: LocalizationService, providedIn: "root" }); - return LocalizationService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - LocalizationService.prototype.store; - } - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2774,80 +3162,6 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LocalizationPipe = /** @class */ (function () { - function LocalizationPipe(store) { - this.store = store; - this.initialized = false; - } - /** - * @param {?} value - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationPipe.prototype.transform = /** - * @param {?} value - * @param {...?} interpolateParams - * @return {?} - */ - function (value) { - var _this = this; - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - if (!this.initialized) { - this.initialized = true; - this.store - .select(ConfigState.getCopy.apply(ConfigState, __spread([value], interpolateParams.reduce((/** - * @param {?} acc - * @param {?} val - * @return {?} - */ - function (acc, val) { return (Array.isArray(val) ? __spread(acc, val) : __spread(acc, [val])); }), [])))) - .pipe(takeUntilDestroy(this), operators.distinctUntilChanged()) - .subscribe((/** - * @param {?} copy - * @return {?} - */ - function (copy) { return (_this.value = copy); })); - } - return this.value; - }; - /** - * @return {?} - */ - LocalizationPipe.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { }; - LocalizationPipe.decorators = [ - { type: core.Pipe, args: [{ - name: 'abpLocalization', - pure: false, - },] } - ]; - /** @nocollapse */ - LocalizationPipe.ctorParameters = function () { return [ - { type: store.Store } - ]; }; - return LocalizationPipe; - }()); - if (false) { - /** @type {?} */ - LocalizationPipe.prototype.initialized; - /** @type {?} */ - LocalizationPipe.prototype.value; - /** - * @type {?} - * @private - */ - LocalizationPipe.prototype.store; - } - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2969,6 +3283,131 @@ ClickEventStopPropagationDirective.prototype.el; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LocalizationPipe = /** @class */ (function () { + function LocalizationPipe(store) { + this.store = store; + this.initialValue = ''; + this.destroy$ = new rxjs.Subject(); + } + /** + * @param {?=} value + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationPipe.prototype.transform = /** + * @param {?=} value + * @param {...?} interpolateParams + * @return {?} + */ + function (value) { + var _this = this; + if (value === void 0) { value = ''; } + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); + this.store + .select(ConfigState.getCopy.apply(ConfigState, __spread([value], interpolateParams.reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return (Array.isArray(val) ? __spread(acc, val) : __spread(acc, [val])); }), [])))) + .pipe(operators.takeUntil(this.destroy$), takeUntilDestroy(this), operators.distinctUntilChanged()) + .subscribe((/** + * @param {?} copy + * @return {?} + */ + function (copy) { return (_this.value = copy); })); + } + return this.value; + }; + /** + * @return {?} + */ + LocalizationPipe.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + LocalizationPipe.decorators = [ + { type: core.Pipe, args: [{ + name: 'abpLocalization', + pure: false, + },] } + ]; + /** @nocollapse */ + LocalizationPipe.ctorParameters = function () { return [ + { type: store.Store } + ]; }; + return LocalizationPipe; + }()); + if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialValue; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** @type {?} */ + LocalizationPipe.prototype.destroy$; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LocaleId = /** @class */ (function (_super) { + __extends(LocaleId, _super); + function LocaleId(localizationService) { + var _this = _super.call(this) || this; + _this.localizationService = localizationService; + return _this; + } + /** + * @return {?} + */ + LocaleId.prototype.toString = /** + * @return {?} + */ + function () { + var currentLang = this.localizationService.currentLang; + return localesMapping[currentLang] || currentLang; + }; + /** + * @return {?} + */ + LocaleId.prototype.valueOf = /** + * @return {?} + */ + function () { + return this.toString(); + }; + return LocaleId; + }(String)); + if (false) { + /** + * @type {?} + * @private + */ + LocaleId.prototype.localizationService; + } + /** @type {?} */ + var LocaleProvider = { + provide: core.LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], + }; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2989,6 +3428,7 @@ return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: store.NGXS_PLUGINS, useClass: ConfigPlugin, @@ -3009,6 +3449,12 @@ deps: [core.Injector], useFactory: getInitialData, }, + { + provide: core.APP_INITIALIZER, + multi: true, + deps: [core.Injector], + useFactory: localeInitializer, + }, ], }; }; @@ -3029,6 +3475,7 @@ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -3045,6 +3492,7 @@ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -3072,6 +3520,7 @@ exports.DynamicLayoutComponent = DynamicLayoutComponent; exports.ENVIRONMENT = ENVIRONMENT; exports.EllipsisDirective = EllipsisDirective; + exports.FormSubmitDirective = FormSubmitDirective; exports.GetAppConfiguration = GetAppConfiguration; exports.GetProfile = GetProfile; exports.LazyLoadService = LazyLoadService; @@ -3095,38 +3544,46 @@ exports.configFactory = configFactory; exports.environmentFactory = environmentFactory; exports.getInitialData = getInitialData; + exports.localeInitializer = localeInitializer; + exports.noop = noop; exports.organizeRoutes = organizeRoutes; + exports.registerLocale = registerLocale; exports.setChildRoute = setChildRoute; exports.sortRoutes = sortRoutes; exports.takeUntilDestroy = takeUntilDestroy; exports.uuid = uuid; exports.ɵa = ProfileState; exports.ɵb = ProfileService; - exports.ɵba = ConfigPlugin; - exports.ɵbb = ApiInterceptor; - exports.ɵbc = getInitialData; + exports.ɵba = ClickEventStopPropagationDirective; + exports.ɵbb = LocaleId; + exports.ɵbc = LocaleProvider; + exports.ɵbd = NGXS_CONFIG_PLUGIN_OPTIONS; + exports.ɵbe = ConfigPlugin; + exports.ɵbf = ApiInterceptor; + exports.ɵbg = getInitialData; + exports.ɵbh = localeInitializer; exports.ɵc = RestService; exports.ɵd = GetProfile; exports.ɵe = UpdateProfile; exports.ɵf = ChangePassword; exports.ɵh = SessionState; - exports.ɵi = SetLanguage; - exports.ɵj = SetTenant; - exports.ɵl = ConfigState; - exports.ɵm = ApplicationConfigurationService; - exports.ɵn = PatchRouteByName; - exports.ɵo = GetAppConfiguration; - exports.ɵp = RouterOutletComponent; - exports.ɵq = DynamicLayoutComponent; - exports.ɵr = ConfigState; - exports.ɵs = AutofocusDirective; - exports.ɵt = EllipsisDirective; - exports.ɵu = LocalizationPipe; - exports.ɵv = PermissionDirective; - exports.ɵw = VisibilityDirective; - exports.ɵx = InputEventDebounceDirective; - exports.ɵy = ClickEventStopPropagationDirective; - exports.ɵz = NGXS_CONFIG_PLUGIN_OPTIONS; + exports.ɵi = LocalizationService; + exports.ɵj = SetLanguage; + exports.ɵk = SetTenant; + exports.ɵm = ConfigState; + exports.ɵn = ApplicationConfigurationService; + exports.ɵo = PatchRouteByName; + exports.ɵp = GetAppConfiguration; + exports.ɵq = RouterOutletComponent; + exports.ɵr = DynamicLayoutComponent; + exports.ɵs = ConfigState; + exports.ɵt = AutofocusDirective; + exports.ɵu = EllipsisDirective; + exports.ɵv = FormSubmitDirective; + exports.ɵw = LocalizationPipe; + exports.ɵx = PermissionDirective; + exports.ɵy = VisibilityDirective; + exports.ɵz = InputEventDebounceDirective; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map index 601c478e2e..07e224ca32 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["NEVER","take","catchError","throwError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","createSelector","switchMap","of","store","Subject","takeUntil","router","NavigationEnd","Component","Router","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","Optional","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","distinctUntilChanged","Pipe","EventEmitter","fromEvent","debounceTime","takeUntilDestroy","Output","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/constants/different-locales.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/common-utils.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/form-submit.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/providers/locale.provider.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return throwError(err);\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (skipHandleError) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, skipHandleError: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { skipHandleError });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport default {\n 'ar-sa': 'ar-SA',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'de-de': 'de',\n 'es-ES': 'es',\n 'en-US': 'en',\n 'fil-Latn': 'en',\n 'ku-Arab': 'en',\n 'ky-Cyrl': 'en',\n 'mi-Latn': 'en',\n 'prs-Arab': 'en',\n 'qut-Latn': 'en',\n nso: 'en',\n quz: 'en',\n 'fr-FR': 'fr',\n 'gd-Latn': 'gd',\n 'ha-Latn': 'ha',\n 'ig-Latn': 'ig',\n 'it-it': 'it',\n 'mn-Cyrl': 'mn',\n 'pt-BR': 'pt',\n 'sd-Arab': 'pa-Arab',\n 'sr-Cyrl-RS': 'sr-Cyrl',\n 'sr-Latn-RS': 'sr-Latn',\n 'tg-Cyrl': 'tg',\n 'tk-Latn': 'tk',\n 'tt-Cyrl': 'tt',\n 'ug-Arab': 'ug',\n 'yo-Latn': 'yo',\n};\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport differentLocales from '../constants/different-locales';\nimport { SessionState } from '../states/session.state';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n const lang = store.selectSnapshot(SessionState.getLanguage) || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocale(lang).then(() => resolve(), reject);\n });\n };\n\n return fn;\n}\n\nexport function registerLocale(locale: string) {\n return import(\n /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\\.js$/ */\n `@angular/common/locales/${differentLocales[locale] || locale}.js`\n ).then(module => {\n registerLocaleData(module.default);\n });\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Actions, Store } from '@ngxs/store';\nimport { noop, Observable } from 'rxjs';\nimport { ConfigState } from '../states/config.state';\nimport { SessionState } from '../states/session.state';\nimport { registerLocale } from '../utils/initial-utils';\n\ntype ShouldReuseRoute = (future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot) => boolean;\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n get currentLang(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n constructor(\n private store: Store,\n private router: Router,\n private actions: Actions,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n ) {\n if (otherInstance) throw new Error('LocaleService should have only one instance.');\n }\n\n private setRouteReuse(reuse: ShouldReuseRoute) {\n this.router.routeReuseStrategy.shouldReuseRoute = reuse;\n }\n\n registerLocale(locale: string) {\n const { shouldReuseRoute } = this.router.routeReuseStrategy;\n\n this.setRouteReuse(() => false);\n this.router.navigated = false;\n\n return registerLocale(locale).then(async () => {\n await this.router.navigateByUrl(this.router.url).catch(noop);\n this.setRouteReuse(shouldReuseRoute);\n });\n }\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport { LocalizationService } from '../services/localization.service';\nimport { from, combineLatest } from 'rxjs';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor(private localizationService: LocalizationService) {}\n\n @Action(SetLanguage)\n setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n\n return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]);\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getRoute(path?: string, name?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return findRoute(state.routes, path, name);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration => {\n let defaultLang: string = configuration.setting.values['Abp.Localization.DefaultLanguage'];\n\n if (defaultLang.includes(';')) {\n defaultLang = defaultLang.split(';')[0];\n }\n\n return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang));\n }),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n\nfunction findRoute(routes: ABP.FullRoute[], path?: string, name?: string) {\n let foundRoute;\n routes.forEach(route => {\n if (foundRoute) return;\n\n if (path && route.path === path) {\n foundRoute = route;\n } else if (name && route.name === name) {\n foundRoute = route;\n return;\n } else if (route.children && route.children.length) {\n foundRoute = findRoute(route.children, path, name);\n return;\n }\n });\n\n return foundRoute;\n}\n","export function noop() {\n const fn = function() {};\n return fn;\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child && child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis-inline')\n get inlineClass() {\n return this.enabled && this.width;\n }\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled && !this.width;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled && this.width ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { takeUntilDestroy } from '../utils';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n selector: 'form[ngSubmit][formGroup]',\n})\nexport class FormSubmitDirective implements OnInit, OnDestroy {\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output()\n ngSubmit = new EventEmitter();\n\n executedNgSubmit: boolean = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(() => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n fromEvent(this.host.nativeElement as HTMLElement, 'keyup')\n .pipe(\n debounceTime(200),\n filter((key: KeyboardEvent) => key && key.key === 'Enter'),\n takeUntilDestroy(this),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n }\n\n this.executedNgSubmit = false;\n });\n\n fromEvent(this.host.nativeElement, 'submit')\n .pipe(\n takeUntilDestroy(this),\n filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.markAsDirty();\n }\n });\n }\n\n ngOnDestroy(): void {}\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n skipHandleError?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../../models';\nimport { organizeRoutes } from '../../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n ...route.data.routes,\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialValue: string = '';\n\n value: string;\n\n destroy$ = new Subject();\n\n constructor(private store: Store) {}\n\n transform(value: string = '', ...interpolateParams: string[]): string {\n if (this.initialValue !== value) {\n this.initialValue = value;\n this.destroy$.next();\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntil(this.destroy$),\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport localesMapping from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return localesMapping[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n LocaleProvider,\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n ],\n };\n }\n}\n"],"names":["throwError","take","catchError","Injectable","HttpClient","Store","tap","tslib_1.__decorate","Action","Selector","State","store","differentLocales","registerLocaleData","noop","Router","Actions","Optional","SkipSelf","combineLatest","from","createSelector","switchMap","of","Subject","takeUntil","router","NavigationEnd","Component","Select","Observable","Directive","ElementRef","Input","ChangeDetectorRef","HostBinding","EventEmitter","fromEvent","debounceTime","filter","FormGroupDirective","Self","Output","Renderer2","Navigate","OAuthService","finalize","Rest","InjectionToken","actionMatcher","InitState","UpdateState","setValue","Inject","ReplaySubject","takeUntilDestroy","distinctUntilChanged","Pipe","tslib_1.__extends","LOCALE_ID","NGXS_PLUGINS","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","NgModule","NgxsModule","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule"],"mappings":";;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACjMD;QAEE,0BAAmB,IAAY,EAAS,QAA4B;YAAjD,SAAI,GAAJ,IAAI,CAAQ;YAAS,aAAQ,GAAR,QAAQ,CAAoB;SAAI;QADxD,qBAAI,GAAG,8BAA8B,CAAC;QAExD,uBAAC;KAHD,IAGC;;;QAFC,sBAAsD;;QAC1C,gCAAmB;;QAAE,oCAAmC;;AAGtE;QAAA;SAEC;QADiB,wBAAI,GAAG,gCAAgC,CAAC;QAC1D,0BAAC;KAFD,IAEC;;;QADC,yBAAwD;;;;;;;ACN1D;QAEE,qBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,gBAAI,GAAG,gBAAgB,CAAC;QAE1C,kBAAC;KAHD,IAGC;;;QAFC,iBAAwC;;QAC5B,8BAAgC;;AAG9C;QAEE,oBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,eAAI,GAAG,eAAe,CAAC;QAEzC,iBAAC;KAHD,IAGC;;;QAFC,gBAAuC;;QAC3B,6BAAgC;;;;;;;ACP9C;QAAA;SAEC;QADiB,eAAI,GAAG,eAAe,CAAC;QACzC,iBAAC;KAFD,IAEC;;;QADC,gBAAuC;;AAGzC;QAEE,uBAAmB,OAAyB;YAAzB,YAAO,GAAP,OAAO,CAAkB;SAAI;QADhC,kBAAI,GAAG,kBAAkB,CAAC;QAE5C,oBAAC;KAHD,IAGC;;;QAFC,mBAA0C;;QAC9B,gCAAgC;;AAG9C;QAEE,wBAAmB,OAAsC;YAAtC,YAAO,GAAP,OAAO,CAA+B;SAAI;QAD7C,mBAAI,GAAG,2BAA2B,CAAC;QAErD,qBAAC;KAHD,IAGC;;;QAFC,oBAAmD;;QACvC,iCAA6C;;;;;;;ACX3D;QAEE,wBAAmB,OAAgC;YAAhC,YAAO,GAAP,OAAO,CAAyB;SAAI;QADvC,mBAAI,GAAG,cAAc,CAAC;QAExC,qBAAC;KAHD,IAGC;;;QAFC,oBAAsC;;QAC1B,iCAAuC;;;;;;;ACFrD;QAEE,qBAAmB,OAAe;YAAf,YAAO,GAAP,OAAO,CAAQ;SAAI;QADtB,gBAAI,GAAG,wBAAwB,CAAC;QAElD,kBAAC;KAHD,IAGC;;;QAFC,iBAAgD;;QACpC,8BAAsB;;AAEpC;QAEE,mBAAmB,OAAsB;YAAtB,YAAO,GAAP,OAAO,CAAe;SAAI;QAD7B,cAAI,GAAG,sBAAsB,CAAC;QAEhD,gBAAC;KAHD,IAGC;;;QAFC,eAA8C;;QAClC,4BAA6B;;;;;;;;;;;;;QCKzC,qBAAoB,IAAgB,EAAU,KAAY;YAAtC,SAAI,GAAJ,IAAI,CAAY;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAE9D,iCAAW;;;;QAAX,UAAY,GAAQ;YAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAOA,eAAU,CAAC,GAAG,CAAC,CAAC;SACxB;;;;;;;;QAED,6BAAO;;;;;;;QAAP,UAAc,OAAyC,EAAE,MAAwB,EAAE,GAAY;YAA/F,iBAcC;YAdwD,uBAAA,EAAA,WAAwB;YACvE,IAAA,mBAA2B,EAA3B,gDAA2B,EAAE,wCAAe;;gBAC9C,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG;YAC3E,IAAA,uBAAM,EAAE,qCAAU;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,gCAAI,OAAO,SAAA,IAAK,OAAO,IAAU,CAAC,IAAI,CAC3E,OAAO,yBAAyBC,cAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAC9CC,oBAAU;;;;YAAC,UAAA,GAAG;gBACZ,IAAI,eAAe,EAAE;oBACnB,OAAOF,eAAU,CAAC,GAAG,CAAC,CAAC;iBACxB;gBAED,OAAO,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC9B,EAAC,CACH,CAAC;SACH;;oBA1BFG,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAXQC,eAAU;oBAEVC,WAAK;;;0BAFd;KASA,IA2BC;;;;;;QAvBa,2BAAwB;;;;;QAAE,4BAAoB;;;;;;;ACb5D;QASE,wBAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;QAEzC,4BAAG;;;QAAH;;gBACQ,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;aAChC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB,OAAO,CAAC,CAAC;SAC3D;;;;;QAED,+BAAM;;;;QAAN,UAAO,IAAsB;;gBACrB,OAAO,GAAmC;gBAC9C,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;gBAC/B,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqC,OAAO,CAAC,CAAC;SACvE;;;;;;QAED,uCAAc;;;;;QAAd,UAAe,IAAmC,EAAE,eAAgC;YAAhC,gCAAA,EAAA,uBAAgC;;gBAC5E,OAAO,GAAgD;gBAC3D,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,0CAA0C;gBAC/C,IAAI,MAAA;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsC,OAAO,EAAE,EAAE,eAAe,iBAAA,EAAE,CAAC,CAAC;SAC7F;;oBAjCFF,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALQ,WAAW;;;6BAFpB;KAKA,IAkCC;;;;;;QA9Ba,8BAAyB;;;;;;;;QCOrC,sBAAoB,cAA8B;YAA9B,mBAAc,GAAd,cAAc,CAAgB;SAAI;;;;;QAJ/C,uBAAU;;;;QAAjB,UAAkB,EAA0B;gBAAxB,oBAAO;YACzB,OAAO,OAAO,CAAC;SAChB;;;;;QAKD,iCAAU;;;;QAAV,UAAW,EAA2C;gBAAzC,0BAAU;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CACnCG,aAAG;;;;YAAC,UAAA,OAAO;gBACT,OAAA,UAAU,CAAC;oBACT,OAAO,SAAA;iBACR,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,oCAAa;;;;;QAAb,UAAc,EAA2C,EAAE,EAA0B;gBAArE,0BAAU;gBAAmC,oBAAO;YAClE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7CA,aAAG;;;;YAAC,UAAA,OAAO;gBACT,OAAA,UAAU,CAAC;oBACT,OAAO,SAAA;iBACR,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,qCAAc;;;;;QAAd,UAAe,CAAC,EAAE,EAA2B;gBAAzB,oBAAO;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC1D;QAxBDC;YADCC,YAAM,CAAC,UAAU,CAAC;;;;sDASlB;QAGDD;YADCC,YAAM,CAAC,aAAa,CAAC;;qDACkD,aAAa;;yDAQpF;QAGDD;YADCC,YAAM,CAAC,cAAc,CAAC;;qDACQ,cAAc;;0DAE5C;QA/BDD;YADCE,cAAQ,EAAE;;;;4CAGV;QAJU,YAAY;YAJxBC,WAAK,CAAgB;gBACpB,IAAI,EAAE,cAAc;gBACpB,QAAQ,qBAAE,EAAE,EAAiB;aAC9B,CAAC;6CAOoC,cAAc;WANvC,YAAY,CAkCxB;QAAD,mBAAC;KAAA,IAAA;;;;;;QA5Ba,sCAAsC;;;;;;;AChBpD;QASE,yCAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;QAEzC,0DAAgB;;;QAAhB;;gBACQ,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,oCAAoC;aAC1C;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0C,OAAO,CAAC,CAAC;SAC5E;;oBAbFP,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAJQ,WAAW;;;8CAHpB;KAKA,IAcC;;;;;;QAVa,+CAAyB;;;;;;;;;ICNvC,qBAAe;QACb,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,gBAAgB;QAClC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC;;;;;;IChCF;;;;IAOA,SAAgB,cAAc,CAAC,QAAkB;;YACzC,EAAE;;;QAAG;;gBACHQ,OAAK,GAAU,QAAQ,CAAC,GAAG,CAACN,WAAK,CAAC;YAExC,OAAOM,OAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;SAC9D,CAAA;QAED,OAAO,EAAE,CAAC;KACX;;;;;IAED,SAAgB,iBAAiB,CAAC,QAAkB;;YAC5C,EAAE;;;QAAG;;gBACHA,OAAK,GAAU,QAAQ,CAAC,GAAG,CAACN,WAAK,CAAC;;gBAElC,IAAI,GAAGM,OAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI;YAEnE,OAAO,IAAI,OAAO;;;;;YAAC,UAAC,OAAO,EAAE,MAAM;gBACjC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI;;;gBAAC,cAAM,OAAA,OAAO,EAAE,GAAA,GAAE,MAAM,CAAC,CAAC;aACpD,EAAC,CAAC;SACJ,CAAA;QAED,OAAO,EAAE,CAAC;KACX;;;;;IAED,SAAgB,cAAc,CAAC,MAAc;QAC3C,OAAO,MAAM;;QAEX,8BAA2BC,cAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,SAAK,CACnE,CAAC,IAAI;;;;QAAC,UAAA,MAAM;YACXC,yBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACpC,EAAC,CAAC;KACJ;;;;;;;QCtBC,6BACU,KAAY,EACZ,MAAc,EACd,OAAgB,EAGxB,aAAkC;YAL1B,UAAK,GAAL,KAAK,CAAO;YACZ,WAAM,GAAN,MAAM,CAAQ;YACd,YAAO,GAAP,OAAO,CAAS;YAKxB,IAAI,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACpF;QAbD,sBAAI,4CAAW;;;;YAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC5D;;;WAAA;;;;;;QAaO,2CAAa;;;;;QAArB,UAAsB,KAAuB;YAC3C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,KAAK,CAAC;SACzD;;;;;QAED,4CAAc;;;;QAAd,UAAe,MAAc;YAA7B,iBAUC;YATS,IAAA,kEAAgB;YAExB,IAAI,CAAC,aAAa;;;YAAC,cAAM,OAAA,KAAK,GAAA,EAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAE9B,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI;;;YAAC;;;gCACjC,qBAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAACC,SAAI,CAAC,EAAA;;4BAA5D,SAA4D,CAAC;4BAC7D,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;;;;iBACtC,EAAC,CAAC;SACJ;;;;;;QAED,iCAAG;;;;;QAAH,UAAI,IAAY;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;SAC3E;;;;;;QAED,qCAAO;;;;;QAAP,UAAQ,IAAY;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,OAAnB,WAAW,YAAS,IAAI,GAAK,iBAAiB,GAAE,CAAC;SACnF;;oBAvCFX,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBARhBE,WAAK;oBADUU,aAAM;oBAC9BC,aAAO;oBAoBG,mBAAmB,uBAFjCC,aAAQ,YACRC,aAAQ;;;kCArBb;KAUA,IAwCC;;;;;;QAjCG,oCAAoB;;;;;QACpB,qCAAsB;;;;;QACtB,sCAAwB;;;;;;;;QCG1B,sBAAoB,mBAAwC;YAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;SAAI;;;;;QATzD,wBAAW;;;;QAAlB,UAAmB,EAA2B;gBAAzB,sBAAQ;YAC3B,OAAO,QAAQ,CAAC;SACjB;;;;;QAGM,sBAAS;;;;QAAhB,UAAiB,EAAyB;gBAAvB,kBAAM;YACvB,OAAO,MAAM,CAAC;SACf;;;;;;QAKD,kCAAW;;;;;QAAX,UAAY,EAAqD,EAAE,EAAwB;gBAA7E,0BAAU,EAAE,sBAAQ;gBAAmC,oBAAO;YAC1E,UAAU,CAAC;gBACT,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,OAAOC,kBAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,EAAEC,SAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACrH;;;;;;QAGD,kCAAW;;;;;QAAX,UAAY,EAA2C,EAAE,EAAsB;gBAAjE,0BAAU;gBAAmC,oBAAO;YAChE,UAAU,CAAC;gBACT,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;SACJ;QAbDb;YADCC,YAAM,CAAC,WAAW,CAAC;;qDAC4D,WAAW;;uDAM1F;QAGDD;YADCC,YAAM,CAAC,SAAS,CAAC;;qDACoD,SAAS;;uDAI9E;QAzBDD;YADCE,cAAQ,EAAE;;;;6CAGV;QAGDF;YADCE,cAAQ,EAAE;;;;2CAGV;QATU,YAAY;YAJxBC,WAAK,CAAgB;gBACpB,IAAI,EAAE,cAAc;gBACpB,QAAQ,qBAAE,EAAE,EAAiB;aAC9B,CAAC;6CAYyC,mBAAmB;WAXjD,YAAY,CA4BxB;QAAD,mBAAC;KAAA,IAAA;;;;;;QAjBa,2CAAgD;;;;;;;;;;;;;;ICpB9D,SAAgB,cAAc,CAC5B,MAAuB,EACvB,QAA8B,EAC9B,aAAqC,EACrC,UAAyB;QAFzB,yBAAA,EAAA,aAA8B;QAC9B,8BAAA,EAAA,mCAAgB,EAAE,EAAmB;QACrC,2BAAA,EAAA,iBAAyB;;YAEnB,MAAM;;;;QAAG,UAAA,KAAK;YAClB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACtF;YAED,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;gBACvD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;SACb,CAAA;QAED,IAAI,UAAU,EAAE;;YAEd,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9B;;YAEK,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAE5C,IAAI,aAAa,CAAC,MAAM,EAAE;YACxB,OAAO,UAAU,CAAC,aAAa,UAAK,cAAc,EAAK,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC;SACnF;QAED,OAAO,cAAc,CAAC;KACvB;;;;;;IAED,SAAgB,aAAa,CAAC,MAAuB,EAAE,aAA8B;QACnF,OAAO,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK;YACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aAC/D;;gBAEK,eAAe,GAAG,aAAa,CAAC,MAAM;;;;YAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;YACxF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC7C,KAAK,CAAC,QAAQ,aAAQ,KAAK,CAAC,QAAQ,IAAI,EAAE,GAAM,eAAe,CAAC,CAAC;aAClE;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;KACJ;;;;;IAED,SAAgB,UAAU,CAAC,MAA4B;QAA5B,uBAAA,EAAA,WAA4B;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM;aACV,IAAI;;;;;QAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC;aACjC,GAAG;;;;QAAC,UAAA,KAAK;YACR,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC3C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7C;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;KACN;;;;;;;QC+GC,qBAAoB,uBAAwD,EAAU,KAAY;YAA9E,4BAAuB,GAAvB,uBAAuB,CAAiC;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;wBA7J3F,WAAW;;;;;QAEf,kBAAM;;;;QAAb,UAAc,KAAmB;YAC/B,OAAO,KAAK,CAAC;SACd;;;;;QAGM,8BAAkB;;;;QAAzB,UAA0B,KAAmB;YAC3C,OAAO,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5C;;;;;QAEM,kBAAM;;;;QAAb,UAAc,GAAW;;gBACjB,QAAQ,GAAGW,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,mBAAO;;;;QAAd,UAAe,IAAuB;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;;gBAEK,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,oBAAC,IAAI,IAAc,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG;oBACxC,IAAI,GAAG,EAAE;wBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB;oBAED,OAAO,SAAS,CAAC;iBAClB,GAAE,KAAK,CAAC,CAAC;aACX,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;;QAEM,oBAAQ;;;;;QAAf,UAAgB,IAAa,EAAE,IAAa;;gBACpC,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5C,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,qBAAS;;;;QAAhB,UAAiB,GAAY;;gBACrB,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC;aACrD,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,sBAAU;;;;QAAjB,UAAkB,GAAW;;gBACrB,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,OAAO,GAAG;;;gBAAC,cAAM,OAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAA,EAAC,CAAC;aAC7C,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAEM,4BAAgB;;;;QAAvB,UAAwB,SAAsB;YAAtB,0BAAA,EAAA,cAAsB;;gBACtC,IAAI,GAAG,SAAS;iBACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,KAAK,CAAC,SAAS,CAAC;iBAChB,MAAM;;;;YAAC,UAAA,GAAG,IAAI,OAAA,GAAG,GAAA,EAAC;;gBAEf,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;;oBAExB,SAAS;;;;gBAAG,UAAA,GAAG,IAAI,OAAA,GAAG;;;gBAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,GAAE,KAAK,CAAC,GAAA,CAAA;gBAC1E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;;4BACR,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;wBAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC3C,EAAC,CAAC;;oBAGH,OAAO,IAAI,CAAC,OAAK,SAAW,CAAC,CAAC;iBAC/B;gBAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;aAC7B,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;;QAEM,mBAAO;;;;;QAAd,UAAe,GAAW;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YACxD,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC;;gBAEb,IAAI,sBAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAY;;gBAClC,QAAQ,GAAGA,oBAAc,CAC7B,CAAC,aAAW,CAAC;;;;YACb,UAAS,KAAmB;gBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY;oBAAE,OAAO,GAAG,CAAC;gBAE5B,IAAA,wEAAmB;gBAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,mBAAmB,EAAE;wBACxB,MAAM,IAAI,KAAK,CACb,oRAMG,CACJ,CAAC;qBACH;oBAED,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;;;oBAAC,cAAM,OAAA,mBAAmB,GAAA,EAAC,CAAC;iBAC1C;;oBAEG,IAAI,GAAG,IAAI,CAAC,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG;oBAC9B,IAAI,GAAG,EAAE;wBACP,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB;oBAED,OAAO,SAAS,CAAC;iBAClB,GAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;gBAE7B,iBAAiB,GAAG,iBAAiB,CAAC,MAAM;;;;gBAAC,UAAA,MAAM,IAAI,OAAA,MAAM,IAAI,IAAI,GAAA,EAAC,CAAC;gBACvE,IAAI,IAAI,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;oBACzD,iBAAiB,CAAC,OAAO;;;;oBAAC,UAAA,KAAK;wBAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;qBACvD,EAAC,CAAC;iBACJ;gBAED,OAAO,IAAI,IAAI,GAAG,CAAC;aACpB,EACF;YAED,OAAO,QAAQ,CAAC;SACjB;;;;;QAKD,6BAAO;;;;QAAP,UAAQ,EAAoD;YAD5D,iBAkBC;gBAjBS,0BAAU,EAAE,sBAAQ;YAC5B,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CACzDf,aAAG;;;;YAAC,UAAA,aAAa;gBACf,OAAA,UAAU,cACL,aAAa,EAChB;aAAA,EACH,EACDgB,mBAAS;;;;YAAC,UAAA,aAAa;;oBACjB,WAAW,GAAW,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC;gBAE1F,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7B,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;gBAED,OAAO,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,GAAGC,OAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;aAChH,EAAC,CACH,CAAC;SACH;;;;;;QAGD,gCAAU;;;;;QAAV,UAAW,EAAoD,EAAE,EAAoC;gBAAxF,0BAAU,EAAE,sBAAQ;gBAAkC,cAAI,EAAE,sBAAQ;;gBAC3E,MAAM,GAAoB,QAAQ,EAAE,CAAC,MAAM;;gBAEzC,KAAK,GAAG,MAAM,CAAC,SAAS;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;YAE5D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhD,OAAO,UAAU,CAAC;gBAChB,MAAM,QAAA;aACP,CAAC,CAAC;SACJ;;QA9BDhB;YADCC,YAAM,CAAC,mBAAmB,CAAC;;;;kDAkB3B;QAGDD;YADCC,YAAM,CAAC,gBAAgB,CAAC;;qDAC4D,gBAAgB;;qDAUpG;QA5LDD;YADCE,cAAQ,EAAE;;;;uCAGV;QAGDF;YADCE,cAAQ,EAAE;;;;mDAGV;QATU,WAAW;YAJvBC,WAAK,CAAe;gBACnB,IAAI,EAAE,aAAa;gBACnB,QAAQ,qBAAE,EAAE,EAAgB;aAC7B,CAAC;6CA8J6C,+BAA+B,EAAiBL,WAAK;WA7JvF,WAAW,CA+LvB;QAAD,kBAAC;KAAA,IAAA;;;;;;QAlCa,8CAAgE;;;;;QAAE,4BAAoB;;;;;;;;;IAoCpG,SAAS,cAAc,CACrB,MAAuB,EACvB,IAAY,EACZ,QAAgC,EAChC,SAAwB;QAAxB,0BAAA,EAAA,gBAAwB;QAExB,MAAM,GAAG,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,QAAQ,CAAC,GAAG,GAAM,SAAS,SAAI,QAAQ,CAAC,IAAM,CAAC;iBAChD;gBAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACjD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG;;;;oBAAC,UAAA,KAAK,IAAI,qBAC9C,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAI,SAAI,KAAK,CAAC,IAAM,OAC/C,EAAC,CAAC;iBACL;gBAED,oBAAY,KAAK,EAAK,QAAQ,EAAG;aAClC;iBAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;aAClG;YAED,OAAO,KAAK,CAAC;SACd,EAAC,CAAC;QAEH,IAAI,SAAS,EAAE;;YAEb,OAAO,MAAM,CAAC;SACf;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;KAC/B;;;;;;;IAED,SAAS,SAAS,CAAC,MAAuB,EAAE,IAAa,EAAE,IAAa;;YAClE,UAAU;QACd,MAAM,CAAC,OAAO;;;;QAAC,UAAA,KAAK;YAClB,IAAI,UAAU;gBAAE,OAAO;YAEvB,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC/B,UAAU,GAAG,KAAK,CAAC;aACpB;iBAAM,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtC,UAAU,GAAG,KAAK,CAAC;gBACnB,OAAO;aACR;iBAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnD,OAAO;aACR;SACF,EAAC,CAAC;QAEH,OAAO,UAAU,CAAC;KACnB;;;;;;;;;;;;;;ICpQD,SAAgB,IAAI;;YACZ,EAAE;;;QAAG,eAAa,CAAA;QACxB,OAAO,EAAE,CAAC;KACX;;;;;;;;;;ICHD,SAAgB,IAAI,CAAC,CAAO;QAC1B,OAAO,CAAC;cACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;cACpD,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACrE;;;;;;ICJD;;;;IAGA,SAAS,UAAU,CAAC,KAAK;QACvB,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;KACpC;;AAED,QAAa,gBAAgB;;;;;IAAG,UAAC,iBAAiB,EAAE,iBAAiC;QAAjC,kCAAA,EAAA,iCAAiC;;;;;;QAAK,UACxF,MAAqB;;gBAEf,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;YAC5D,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE;gBACzC,MAAM,IAAI,KAAK,CACV,iBAAiB,CAAC,WAAW,CAAC,IAAI,uDAAkD,iBAAmB,CAC3G,CAAC;aACH;YACD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;gBAC5C,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,IAAImB,YAAO,EAAE,CAAC;gBAExD,iBAAiB,CAAC,iBAAiB,CAAC;;;gBAAG;oBACrC,UAAU,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACtE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnD,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACpD,CAAA,CAAC;aACH;YACD,OAAO,MAAM,CAAC,IAAI,CAACC,mBAAS,CAAI,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;SAC3E;KAAA,CAAA;;;;;;;;;;;;QCDC,gCAAoBC,QAAc,EAAU,KAAY;YAAxD,iBAcC;YAdmB,WAAM,GAANA,QAAM,CAAQ;YAAU,UAAK,GAAL,KAAK,CAAO;YACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,KAAK;gBAC7D,IAAI,KAAK,YAAYC,oBAAa,EAAE;oBAC1B,IAAA,0EAAQ;oBACV,IAAA,mDAG2C,EAF/B,iCAAO,EACvB,kBAC+C;;wBAE3C,QAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAE3C,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;;;;oBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,GAAA,EAAC,CAAC,IAAI;;;;oBAAC,UAAA,CAAC,IAAI,OAAA,GAAG;;;oBAAC,cAAM,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAM,CAAC,GAAA,GAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,CAAC;iBAC5G;aACF,EAAC,CAAC;SACJ;;;;QAED,4CAAW;;;QAAX,eAAgB;;oBA/BjBC,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,oSAKT;qBACF;;;;oBAjBuBb,aAAM;oBACbV,WAAK;;QAmBpBE;YADCsB,YAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;sCAC5BC,eAAU;qEAAsB;QAqBjD,6BAAC;KAhCD,IAgCC;;;QAtBC,+CAC+C;;QAE/C,wCAAkB;;;;;QAEN,wCAAsB;;;;;QAAE,uCAAoB;;;;;;;IAmB1D,SAAS,UAAU,CAAC,QAAsB,EAAE,MAAuB;;YAC7D,MAAM;;YAEJ,KAAK,GAAG,MAAM;aACjB,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,GAAG,CAAC,OAAO,YAAO,GAAG,EAAK,GAAG,CAAC,QAAQ,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC;aACnF,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;QAEzC,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aACvB;YAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;;oBAC5D,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAA,EAAC;gBAEnE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBACzB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;iBACvB;aACF;SACF;QAED,OAAO,MAAM,CAAC;KACf;;;;;;AClED;QAEA;SAMqC;;oBANpCF,cAAS,SAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,QAAQ,EAAE,2CAET;qBACF;;QACmC,4BAAC;KANrC;;;;;;;;;;;;;;;;ACFA;QASE,4BAAoB,KAAiB;YAAjB,UAAK,GAAL,KAAK,CAAY;YAFrC,UAAK,GAAW,CAAC,CAAC;SAEuB;;;;QAEzC,4CAAe;;;QAAf;YAAA,iBAEC;YADC,UAAU;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAA,GAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAChE;;oBAXFG,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;qBACxB;;;;oBAJmBC,eAAU;;;4BAM3BC,UAAK,SAAC,WAAW;;QAQpB,yBAAC;KAZD,IAYC;;;QARC,mCACkB;;;;;QAEN,mCAAyB;;;;;;;ACTvC;QA+BE,2BAAoB,KAAwB,EAAU,KAAiB;YAAnD,UAAK,GAAL,KAAK,CAAmB;YAAU,UAAK,GAAL,KAAK,CAAY;YAjBvE,YAAO,GAAG,IAAI,CAAC;SAiB4D;QAf3E,sBACI,0CAAW;;;;YADf;gBAEE,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;aACnC;;;WAAA;QAED,sBACI,oCAAK;;;;YADT;gBAEE,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACpC;;;WAAA;QAED,sBACI,uCAAQ;;;;YADZ;gBAEE,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,SAAS,CAAC;aACvE;;;WAAA;;;;QAID,8CAAkB;;;QAAlB;YAAA,iBASC;YARC,UAAU;;;YAAC;;oBACH,KAAK,GAAG,KAAI,CAAC,KAAK;gBACxB,KAAI,CAAC,KAAK,GAAG,KAAK,IAAI,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,SAAS,CAAC;gBAE1E,IAAI,KAAI,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;iBAC5B;aACF,GAAE,CAAC,CAAC,CAAC;SACP;;oBAxCFF,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;qBAC1B;;;;oBAJ0BG,sBAAiB;oBAAaF,eAAU;;;4BAMhEC,UAAK,SAAC,aAAa;4BAGnBE,gBAAW,SAAC,OAAO,cACnBF,UAAK;8BAGLA,UAAK,SAAC,oBAAoB;kCAG1BE,gBAAW,SAAC,2BAA2B;4BAKvCA,gBAAW,SAAC,oBAAoB;+BAKhCA,gBAAW,SAAC,iBAAiB;;QAiBhC,wBAAC;KAzCD,IAyCC;;;QArCC,kCACc;;QAEd,kCAEc;;QAEd,oCACe;;;;;QAiBH,kCAAgC;;;;;QAAE,kCAAyB;;;;;;;AC/BzE;QA8BE,6BACkB,kBAAsC,EAC9C,IAAiC,EACjC,KAAwB;YAFhB,uBAAkB,GAAlB,kBAAkB,CAAoB;YAC9C,SAAI,GAAJ,IAAI,CAA6B;YACjC,UAAK,GAAL,KAAK,CAAmB;YAPlC,aAAQ,GAAG,IAAIC,iBAAY,EAAE,CAAC;YAE9B,qBAAgB,GAAY,KAAK,CAAC;SAM9B;;;;QAEJ,sCAAQ;;;QAAR;YAAA,iBA8BC;YA7BC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;;;YAAC;gBACtE,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B,EAAC,CAAC;YAEHC,cAAS,oBAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAiB,OAAO,CAAC;iBACvD,IAAI,CACHC,sBAAY,CAAC,GAAG,CAAC,EACjBC,gBAAM;;;;YAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,GAAA,EAAC,EAC1D,gBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;YAAC;gBACT,IAAI,CAAC,KAAI,CAAC,gBAAgB,EAAE;oBAC1B,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACjG;gBAED,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B,EAAC,CAAC;YAELF,cAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;iBACzC,IAAI,CACH,gBAAgB,CAAC,IAAI,CAAC,EACtBE,gBAAM;;;YAAC,cAAM,OAAA,CAAC,KAAI,CAAC,mBAAmB,IAAI,OAAO,KAAI,CAAC,mBAAmB,KAAK,QAAQ,GAAA,EAAC,CACxF;iBACA,SAAS;;;YAAC;gBACT,IAAI,CAAC,KAAI,CAAC,gBAAgB,EAAE;oBAC1B,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;aACF,EAAC,CAAC;SACN;;;;QAED,yCAAW;;;QAAX,eAAsB;;;;QAEtB,yCAAW;;;QAAX;YACU,IAAA,mCAAI;YAEZ,QAAQ,oBAAC,IAAI,CAAC,QAAQ,GAAmC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;;oBA3DFR,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;qBACtC;;;;oBATgCS,wBAAkB,uBAoB9CC,SAAI;oBA5BPT,eAAU;oBAFVE,sBAAiB;;;0CAqBhBD,UAAK;+BAGLS,WAAM;;QAqDT,0BAAC;KA5DD,IA4DC;;;QAxDC,kDACsC;;QAEtC,uCAC8B;;QAE9B,+CAAkC;;;;;QAGhC,iDAAsD;;;;;QACtD,mCAAyC;;;;;QACzC,oCAAgC;;;;;;IA+CpC,SAAS,QAAQ,CAAC,QAAkB;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,OAAO;;;;YAAC,UAAA,KAAK;gBACpB,QAAQ,oBAAC,KAAK,CAAC,QAAQ,GAAmC,CAAC;aAC5D,EAAC,CAAC;YACH,OAAO;SACR;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO;;;;QAAC,UAAA,GAAG;YAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC;SACxC,EAAC,CAAC;KACJ;;;;;;AC5FD;QAWE,6BAAgC,KAAiB,EAAU,QAAmB,EAAU,KAAY;YAApE,UAAK,GAAL,KAAK,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;QAExG,sCAAQ;;;QAAR;YAAA,iBAcC;YAbC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,KAAK;qBACP,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC5B,SAAS;;;;gBAAC,UAAA,SAAS;oBAClB,IAAI,CAAC,SAAS,EAAE;wBACd,KAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,oBAAC,KAAI,CAAC,KAAK,CAAC,aAAa,IAAiB,aAAa,EACvD,KAAI,CAAC,KAAK,CAAC,aAAa,CACzB,CAAC;qBACH;iBACF,EAAC,CAAC;aACN;SACF;;;;QAED,yCAAW;;;QAAX,eAAsB;;oBAxBvBX,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBAPmBC,eAAU,uBAWff,aAAQ;oBAX6C0B,cAAS;oBACpEtC,WAAK;;;gCAQX4B,UAAK,SAAC,eAAe;;QAqBxB,0BAAC;KAzBD,IAyBC;;;QArBC,wCAA0C;;;;;QAE9B,oCAAqC;;;;;QAAE,uCAA2B;;;;;QAAE,oCAAoB;;;;;;;ACXtG;QAaE,6BAAgC,KAAiB,EAAU,QAAmB;YAA9C,UAAK,GAAL,KAAK,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAF9E,eAAU,GAAG,IAAIT,YAAO,EAAW,CAAC;SAE8C;;;;QAElF,6CAAe;;;QAAf;YAAA,iBA0BC;;gBAzBO,QAAQ,GAAG,IAAI,gBAAgB;;;;YAAC,UAAA,SAAS;gBAC7C,SAAS,CAAC,OAAO;;;;gBAAC,UAAA,QAAQ;oBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM;wBAAE,OAAO;;wBAEvB,SAAS,GAAG,GAAG;;;oBACnB,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;;;;oBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,YAAY,WAAW,GAAA,EAAC,GAAA,GACxF,EAAE,CACH;oBAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;wBACrB,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;wBAC5F,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBAAM;wBACL,UAAU;;;wBAAC;4BACT,KAAI,CAAC,UAAU,EAAE,CAAC;yBACnB,GAAE,CAAC,CAAC,CAAC;qBACP;iBACF,EAAC,CAAC;aACJ,EAAC;YAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,SAAS;;;YAAC,cAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,GAAA,EAAC,CAAC;SACxD;;;;QAED,wCAAU;;;QAAV;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;oBA1CFO,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBANoCC,eAAU,uBAahCf,aAAQ;oBAb0B0B,cAAS;;;qCAQvDV,UAAK,SAAC,eAAe;;QAuCxB,0BAAC;KA3CD,IA2CC;;;QAvCC,6CAC4B;;QAE5B,yCAAoC;;;;;QAExB,oCAAqC;;;;;QAAE,uCAA2B;;;;;;;;;;;;;;QCZ9E,SAAU,SAAS;QACnB,aAAc,aAAa;QAC3B,OAAQ,OAAO;;;;;;;;;;;;ACHjB;QAWE,mBAAoB,YAA0B,EAAU,KAAY;YAAhD,iBAAY,GAAZ,YAAY,CAAc;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;;QACxE,+BAAW;;;;;QAAX,UAAY,CAAyB,EAAE,KAA0B;;gBACzD,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;YACnE,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;YAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAIW,qBAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAEnG,OAAO,KAAK,CAAC;SACd;;oBAdFzC,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBANQ0C,8BAAY;oBADZxC,WAAK;;;wBAFd;KAOA,IAeC;;;;;;QAXa,iCAAkC;;;;;QAAE,0BAAoB;;;;;;;ACXtE;QAYE,yBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAEpC,qCAAW;;;;QAAX,UAAY,EAAgC;YAA5C,iBASC;gBATa,cAAI;;gBACV,QAAQ,sBAAG,IAAI,CAAC,cAAc,EAAU;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACnEC,aAAG;;;;YAAC,UAAA,MAAM;gBACR,IAAI,CAAC,MAAM,EAAE;oBACX,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC1D;aACF,EAAC,CACH,CAAC;SACH;;oBAfFH,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBARQE,WAAK;;;8BAFd;KAQA,IAgBC;;;;;;QAZa,gCAAoB;;;;;;;;;;;;ACZlC;QAUE,wBAAoB,YAA0B,EAAU,KAAY;YAAhD,iBAAY,GAAZ,YAAY,CAAc;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;;QAExE,kCAAS;;;;;QAAT,UAAU,OAAyB,EAAE,IAAiB;YAAtD,iBA2BC;YA1BC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;;gBAExC,OAAO,sBAAG,EAAE,EAAO;;gBAEnB,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE;gBAClD,OAAO,CAAC,eAAe,CAAC,GAAG,YAAU,KAAO,CAAC;aAC9C;;gBAEK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;gBACnD,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;aACnC;;gBAEK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;gBAC9C,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;aACjC;YAED,OAAO,IAAI;iBACR,MAAM,CACL,OAAO,CAAC,KAAK,CAAC;gBACZ,UAAU,EAAE,OAAO;aACpB,CAAC,CACH;iBACA,IAAI,CAACyC,kBAAQ;;;YAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,GAAA,EAAC,CAAC,CAAC;SACvE;;oBA/BF3C,eAAU;;;;oBANF0C,8BAAY;oBACZxC,WAAK;;QAqCd,qBAAC;KAhCD,IAgCC;;;;;;QA9Ba,sCAAkC;;;;;QAAE,+BAAoB;;;;;;;;;;;;ICVtE,IAAiB,wBAAwB,CAgDxC;IAhDD,WAAiB,wBAAwB;;;;QACvC,uBAMC;;;;YALC,gCAA2B;;YAC3B,wBAAW;;YACX,2BAAiB;;YACjB,+BAAyB;;YACzB,4BAAmB;;;;;QAGrB,2BAGC;;;;YAFC,8BAA0B;;YAC1B,iCAAsB;;;;;QAGxB,gCAEC;;;;;QAED,uBAKC;;;;YAJC,+BAAoB;;YACpB,iCAAsB;;YACtB,+BAAoB;;YACpB,4BAAiB;;;;;QAGnB,mBAGC;;;;YAFC,wBAAiB;;YACjB,+BAAwB;;;;;QAG1B,qBAEC;;;;;QAED,sBAEC;;;;YADC,yBAA8D;;;;;QAGhE,0BAKC;;;;YAJC,sCAAyB;;YACzB,yBAAW;;YACX,+BAAiB;;YACjB,+BAAiB;;;;;QAGnB,uBAEC;;;;YADC,0BAAgB;;KAEnB,EAhDgB,wBAAwB,KAAxB,wBAAwB,QAgDxC;;;;;;IC7CD,IAAiB,GAAG,CA0CnB;IA1CD,WAAiB,GAAG;;;;QAClB,mBAGC;;;;YAFC,2BAAyC;;YACzC,4BAAkC;;;;;;QAOpC,iCAEC;;;;YADC,mCAAW;;;;;QAGb,8BAKC;;;;YAJC,iCAAgB;;YAChB,kCAAiB;;YACjB,oCAAmB;;YACnB,yCAAwB;;;;;QAG1B,oBAUC;;;;YATC,yBAAmB;;YACnB,0BAAoB;;YACpB,uBAAqB;;YACrB,qBAAa;;YACb,sBAAe;;YACf,2BAAoB;;YACpB,qBAAa;;YACb,+BAAwB;;YACxB,0BAAmB;;;;;QAGrB,wBAGC;;;;YAFC,wBAAa;;YACb,4BAAkB;;;;;QAGpB,wBAGC;;;;YAFC,uBAAW;;YACX,yBAAa;;KAEhB,EA1CgB,GAAG,KAAH,GAAG,QA0CnB;;;;;;IC1CD,IAAiB,MAAM,CAwBtB;IAxBD,WAAiB,MAAM;;;;QACrB,oBAEC;;;;;QAED,0BAKC;;;;YAJC,kCAAyB;;YACzB,iCAAoB;;YACpB,kCAAwB;;YACxB,2BAAW;;;;;QAGb,0BAGC;;;;YAFC,2BAAa;;YACb,8BAAiB;;;;;QAGnB,mBAEC;;;;;QAED,2BAEC;;;;YADC,+BAAqB;;KAExB,EAxBgB,MAAM,KAAN,MAAM,QAwBtB;;;;;;ACzBD,AAqCC;IArCD,WAAiB,IAAI;;;;QACnB,qBAGC;;;;YAFC,iCAA0B;;YAC1B,yBAAkB;;;;;;QAgBpB,sBAiBC;;;;YAhBC,uBAAS;;YACT,0BAIM;;YACN,yBAAe;;YACf,yBAIM;;YACN,iCAAyB;;YACzB,+BAA4B;;YAC5B,sBAAY;;YACZ,kCAA0B;;KAE7B,EArCgB0C,YAAI,KAAJA,YAAI,QAqCpB;;;;;;ICrCD,IAAiB,OAAO,CAKvB;IALD,WAAiB,OAAO;;;;QACtB,oBAGC;;;;YAFC,yBAAiB;;YACjB,uBAAsB;;KAEzB,EALgB,OAAO,KAAP,OAAO,QAKvB;;;;;;ICPD,IAAiB,OAAO,CAiBvB;IAjBD,WAAiB,OAAO;;;;QACtB,oBAEC;;;;YADC,wBAAkB;;;;;QAGpB,uBAMC;;;;YALC,4BAAiB;;YACjB,yBAAc;;YACd,wBAAa;;YACb,2BAAgB;;YAChB,+BAAoB;;;;;QAGtB,oCAGC;;;;YAFC,gDAAwB;;YACxB,4CAAoB;;KAEvB,EAjBgB,OAAO,KAAP,OAAO,QAiBvB;;;;;;;;;;;;ACVD,QAAa,0BAA0B,GAAG,IAAIC,mBAAc,CAAC,4BAA4B,CAAC;AAE1F;QAIE,sBAAwD,OAAiB,EAAU,MAAc;YAAzC,YAAO,GAAP,OAAO,CAAU;YAAU,WAAM,GAAN,MAAM,CAAQ;YAFzF,gBAAW,GAAY,KAAK,CAAC;SAEgE;;;;;;;QAErG,6BAAM;;;;;;QAAN,UAAO,KAAU,EAAE,KAAU,EAAE,IAAsB;;gBAC7C,OAAO,GAAGC,mBAAa,CAAC,KAAK,CAAC;;gBAC9B,YAAY,GAAG,OAAO,CAACC,eAAS,CAAC,IAAI,OAAO,CAACC,iBAAW,CAAC;;YAG/D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACjC,IAAA,wCAA0D,EAAxD,kBAAM,EAAE,sBAAgD;gBAC9D,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAE1C,KAAK,GAAGC,cAAQ,CAAC,KAAK,EAAE,aAAa,gBAC/B,KAAK,CAAC,WAAW,iBAAS,KAAK,CAAC,WAAW,CAAE,GAC9C,IAAI,CAAC,OAAO,IACf,MAAM,QAAA,IACN,CAAC;gBAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YAED,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC3B;;oBAzBFjD,eAAU;;;;oDAIIkD,WAAM,SAAC,0BAA0B;oBAZvCtC,aAAM;;QAkCf,mBAAC;KA1BD,IA0BC;;;;;;QAxBC,mCAAqC;;;;;QAEzB,+BAA6D;;;;;QAAE,8BAAsB;;;;;;;IAwBnG,SAAS,eAAe,CAAC,MAAmB,EAAE,QAA8B;QAAnD,uBAAA,EAAA,WAAmB;QAAE,yBAAA,EAAA,aAA8B;;YACpE,SAAS,GAAoB,MAAM;aACtC,MAAM;;;;QAAC,UAAA,KAAK;YACX,OAAO,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC,GAAA,GAAE,KAAK,CAAC,CAAC;SACpF,EAAC;aACD,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,EAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAC,GAAE,EAAE,CAAC;QAEhE,QAAQ,GAAG,SAAS,CAAC,MAAM;;;;QAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,OAAO,GAAA,EAAC,CAAC;;YACxC,WAAW,sBAAG,EAAE,EAAmB;QACzC,MAAM;aACH,MAAM;;;;QAAC,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,GAAA,EAAC;aACrF,OAAO;;;;QAAC,UAAA,KAAK;;gBACN,UAAU,GAAG,SAAS,CAAC,IAAI;;;;YAC/B,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG;;;YAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAA,GAAE,KAAK,CAAC,GAAA,EAChH;YACO,IAAA,2BAAM;YAEd,IAAI,UAAU,EAAE;gBACd,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9B;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE;gBACjC,WAAW,CAAC,IAAI,iCACX,KAAK,CAAC,IAAI,CAAC,MAAM,IACpB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,IAAI,EAAE,GAAG;;;oBAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAA,GAAE,KAAK,CAAC,IAAI,CAAC,EACnD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,MACzB,CAAC;aACrB;SACF,EAAC,CAAC;QAEL,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC;KACnD;;;;;;IAED,SAAS,OAAO,CAAC,MAAuB,EAAE,SAAkB;QAC1D,IAAI,SAAS,EAAE;;YAGb,OAAO,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,KAC7B,KAAK,CAAC,QAAQ;gBAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;gBACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAK,SAAS,SAAI,KAAK,CAAC,IAAM,CAAC;aAChE,MACH,EAAC,CAAC;SACL;QAED,OAAO,MAAM,CAAC,GAAG;;;;QAAC,UAAA,KAAK,IAAI,qBACtB,KAAK,IACR,GAAG,EAAE,MAAI,KAAK,CAAC,IAAM,KACjB,KAAK,CAAC,QAAQ;YAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAI,KAAK,CAAC,IAAM,CAAC;SACpD,MACH,EAAC,CAAC;KACL;;;;;;;;;;;AC7FD;QAQE,uBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;SAAI;;;;QAEpC,8BAAM;;;QAAN;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACtD;;;;;QAED,8BAAM;;;;QAAN,UAAO,GAAW;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3D;;;;;QAED,+BAAO;;;;QAAP,UAAQ,IAAuB;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7D;;;;;QAED,kCAAU;;;;QAAV,UAAW,GAAW;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/D;;oBApBFZ,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALQE,WAAK;;;4BADd;KAIA,IAqBC;;;;;;QAjBa,8BAAoB;;;;;;;ACRlC;QAIA;YAIE,oBAAe,GAA2C,EAAE,CAAC;SAiD9D;;;;;;;;;QA/CC,8BAAI;;;;;;;;QAAJ,UACE,GAAW,EACX,IAAwB,EACxB,OAAoB,EACpB,WAA4B,EAC5B,QAAqC;YALvC,iBA8CC;YA3CC,wBAAA,EAAA,YAAoB;YACpB,4BAAA,EAAA,oBAA4B;YAC5B,yBAAA,EAAA,qBAAqC;YAErC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;gBAAE,OAAO;;gBACvB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE;YAE9D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;aACjD;YAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAIiD,kBAAa,EAAE,CAAC;;gBAE5C,OAAO;YACX,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;gBACjC,IAAI,GAAG,EAAE;oBACP,oBAAC,OAAO,IAAuB,GAAG,GAAG,GAAG,CAAC;iBAC1C;gBAED,oBAAC,OAAO,IAAuB,IAAI,GAAG,OAAO,CAAC;aAC/C;iBAAM,IAAI,GAAG,EAAE;gBACd,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,oBAAC,OAAO,IAAqB,GAAG,GAAG,YAAY,CAAC;gBAEhD,IAAI,GAAG,EAAE;oBACP,oBAAC,OAAO,IAAqB,IAAI,GAAG,GAAG,CAAC;iBACzC;aACF;iBAAM;gBACL,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,oBAAC,OAAO,IAAsB,WAAW,GAAG,OAAO,CAAC;aACrD;YAED,OAAO,CAAC,MAAM;;;YAAG;gBACf,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;aACtC,CAAA,CAAC;YAEF,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE7E,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;;oBApDFnD,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;8BAND;KAIA,IAqDC;;;QAjDC,0CAA6D;;;;;;;;;;;;;;;;ICL/D,SAAgB,kBAAkB,CAAC,WAA+B;QAChE,oBACK,WAAW,EACd;KACH;;;;;IAED,SAAgB,aAAa,CAAC,MAA2B;QACvD,oBACK,MAAM,EACT;KACH;;AAED,QAAa,WAAW,GAAG,IAAI6C,mBAAc,CAAC,aAAa,CAAC;;AAE5D,QAAa,MAAM,GAAG,IAAIA,mBAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;ACjBlD;QAaE,qCAAoB,QAAmB,EAAU,EAAc;YAA3C,aAAQ,GAAR,QAAQ,CAAW;YAAU,OAAE,GAAF,EAAE,CAAY;YAJtD,aAAQ,GAAW,GAAG,CAAC;YAEN,kBAAa,GAAG,IAAIZ,iBAAY,EAAS,CAAC;SAED;;;;QAEnE,8CAAQ;;;QAAR;YAAA,iBASC;YARCC,cAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;iBACtC,IAAI,CACHC,sBAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3BiB,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAC,KAAY;gBACtB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,EAAC,CAAC;SACN;;oBAnBFxB,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;qBAC7B;;;;oBAP2BY,cAAS;oBAAEX,eAAU;;;+BAS9CC,UAAK;oCAELS,WAAM,SAAC,gBAAgB;;QAc1B,kCAAC;KApBD,IAoBC;;;QAhBC,+CAAgC;;QAEhC,oDAAoE;;;;;QAExD,+CAA2B;;;;;QAAE,yCAAsB;;;;;;;ACbjE;QAUE,4CAAoB,QAAmB,EAAU,EAAc;YAA3C,aAAQ,GAAR,QAAQ,CAAW;YAAU,OAAE,GAAF,EAAE,CAAY;YAFzC,kBAAa,GAAG,IAAIN,iBAAY,EAAc,CAAC;SAEF;;;;QAEnE,qDAAQ;;;QAAR;YAAA,iBAOC;YANCC,cAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;iBACtC,IAAI,CAACkB,uBAAgB,CAAC,IAAI,CAAC,CAAC;iBAC5B,SAAS;;;;YAAC,UAAC,KAAiB;gBAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,EAAC,CAAC;SACN;;oBAfFxB,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;qBACzB;;;;oBAN6DY,cAAS;oBAAnDX,eAAU;;;oCAQ3BU,WAAM,SAAC,YAAY;;QAYtB,yCAAC;KAhBD,IAgBC;;;QAZC,2DAAqE;;;;;QAEzD,sDAA2B;;;;;QAAE,gDAAsB;;;;;;;;QCQ/D,0BAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YANhC,iBAAY,GAAW,EAAE,CAAC;YAI1B,aAAQ,GAAG,IAAIlB,YAAO,EAAE,CAAC;SAEW;;;;;;QAEpC,oCAAS;;;;;QAAT,UAAU,KAAkB;YAA5B,iBAqBC;YArBS,sBAAA,EAAA,UAAkB;YAAE,2BAA8B;iBAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;gBAA9B,0CAA8B;;YAC1D,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAErB,IAAI,CAAC,KAAK;qBACP,MAAM,CACL,WAAW,CAAC,OAAO,OAAnB,WAAW,YACT,KAAK,GACF,iBAAiB,CAAC,MAAM;;;;;gBAAC,UAAC,GAAG,EAAE,GAAG,IAAK,QAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAO,GAAG,EAAK,GAAG,aAAQ,GAAG,GAAE,GAAG,EAAC,IAAC,GAAE,EAAE,CAAC,GAEzG;qBACA,IAAI,CACHC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,gBAAgB,CAAC,IAAI,CAAC,EACtB+B,8BAAoB,EAAE,CACvB;qBACA,SAAS;;;;gBAAC,UAAA,IAAI,IAAI,QAAC,KAAI,CAAC,KAAK,GAAG,IAAI,IAAC,EAAC,CAAC;aAC3C;YAED,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;QAED,sCAAW;;;QAAX,eAAgB;;oBApCjBC,SAAI,SAAC;wBACJ,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,KAAK;qBACZ;;;;oBATQpD,WAAK;;QA2Cd,uBAAC;KArCD,IAqCC;;;QAhCC,wCAA0B;;QAE1B,iCAAc;;QAEd,oCAAyB;;;;;QAEb,iCAAoB;;;;;;;;QCdJqD,4BAAM;QAClC,kBAAoB,mBAAwC;YAA5D,YACE,iBAAO,SACR;YAFmB,yBAAmB,GAAnB,mBAAmB,CAAqB;;SAE3D;;;;QAED,2BAAQ;;;QAAR;YACU,IAAA,kDAAW;YACnB,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;SACnD;;;;QAED,0BAAO;;;QAAP;YACE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACH,eAAC;KAbD,CAA8B,MAAM,GAanC;;;;;;QAZa,uCAAgD;;;AAc9D,QAAa,cAAc,GAAa;QACtC,OAAO,EAAEC,cAAS;QAClB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,CAAC,mBAAmB,CAAC;KAC5B;;;;;;ACvBD;QA2BA;SA+EC;;;;;QAlCQ,kBAAO;;;;QAAd,UAAe,OAAwB;YAAxB,wBAAA,EAAA,6BAAU,EAAE,EAAY;YACrC,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE;oBACT,cAAc;oBACd;wBACE,OAAO,EAAEC,kBAAY;wBACrB,QAAQ,EAAE,YAAY;wBACtB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAE,0BAA0B;wBACnC,QAAQ,EAAE,OAAO;qBAClB;oBACD;wBACE,OAAO,EAAEC,sBAAiB;wBAC1B,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAEC,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACC,aAAQ,CAAC;wBAChB,UAAU,EAAE,cAAc;qBAC3B;oBACD;wBACE,OAAO,EAAED,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACC,aAAQ,CAAC;wBAChB,UAAU,EAAE,iBAAiB;qBAC9B;iBACF;aACF,CAAC;SACH;;oBA9EFC,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,gBAAU,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;4BAChEC,qCAAuB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;4BACxDC,mCAAsB,CAAC,OAAO,EAAE;4BAChCC,mBAAY;4BACZC,qBAAgB;4BAChBC,iBAAW;4BACXC,yBAAmB;4BACnBC,mBAAY;yBACb;wBACD,YAAY,EAAE;4BACZ,qBAAqB;4BACrB,sBAAsB;4BACtB,kBAAkB;4BAClB,iBAAiB;4BACjB,mBAAmB;4BACnB,gBAAgB;4BAChB,mBAAmB;4BACnB,mBAAmB;4BACnB,2BAA2B;4BAC3B,kCAAkC;yBACnC;wBACD,OAAO,EAAE;4BACPJ,mBAAY;4BACZC,qBAAgB;4BAChBC,iBAAW;4BACXC,yBAAmB;4BACnBC,mBAAY;4BACZ,qBAAqB;4BACrB,sBAAsB;4BACtB,kBAAkB;4BAClB,iBAAiB;4BACjB,mBAAmB;4BACnB,gBAAgB;4BAChB,mBAAmB;4BACnB,mBAAmB;4BACnB,2BAA2B;4BAC3B,gBAAgB;4BAChB,kCAAkC;yBACnC;wBACD,SAAS,EAAE,CAAC,gBAAgB,CAAC;wBAC7B,eAAe,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;qBACjE;;QAoCD,iBAAC;KA/ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js index cd86ce8998..f20a857e03 100644 --- a/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js +++ b/npm/ng-packs/dist/core/bundles/abp-ng.core.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("@ngxs/store"),require("rxjs"),require("@angular/common/http"),require("rxjs/operators"),require("snq"),require("angular-oauth2-oidc"),require("@ngxs/router-plugin"),require("@angular/common"),require("@angular/forms"),require("@ngxs/storage-plugin"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.core",["exports","@angular/core","@angular/router","@ngxs/store","rxjs","@angular/common/http","rxjs/operators","snq","angular-oauth2-oidc","@ngxs/router-plugin","@angular/common","@angular/forms","@ngxs/storage-plugin","@ngx-validate/core"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng.core={}),t.ng.core,t.ng.router,t.store,t.rxjs,t.ng.common.http,t.rxjs.operators,t.snq,t.angularOauth2Oidc,t.routerPlugin,t.ng.common,t.ng.forms,t.storagePlugin,t.core$1)}(this,function(exports,core,router,store,rxjs,http,operators,snq,angularOauth2Oidc,routerPlugin,common,forms,storagePlugin,core$1){"use strict";snq=snq&&snq.hasOwnProperty("default")?snq.default:snq;var extendStatics=function(t,e){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function __extends(t,e){function r(){this.constructor=t}extendStatics(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var __assign=function(){return(__assign=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;c--)(o=t[c])&&(a=(i<3?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,n){e(r,n,t)}}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,n){return new(r||(r=Promise))(function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function c(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){t.done?o(t.value):new r(function(e){e(t.value)}).then(a,c)}u((n=n.apply(t,e||[])).next())})}function __generator(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function __read(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var t=[],e=0;e1||c(t,e)})})}function c(t,e){try{(r=o[t](e)).value instanceof __await?Promise.resolve(r.value.v).then(u,s):p(i[0][2],r)}catch(t){p(i[0][3],t)}var r}function u(t){c("next",t)}function s(t){c("throw",t)}function p(t,e){t(e),i.shift(),i.length&&c(i[0][0],i[0][1])}}function __asyncDelegator(t){var e,r;return e={},n("next"),n("throw",function(t){throw t}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:__await(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise(function(n,o){(function(t,e,r,n){Promise.resolve(n).then(function(e){t({value:e,done:r})},e)})(n,o,(e=t[r](e)).done,e.value)})}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}var PatchRouteByName=function(){function t(t,e){this.name=t,this.newValue=e}return t.type="[Config] Patch Route By Name",t}();var GetAppConfiguration=function(){function t(){}return t.type="[Config] Get App Configuration",t}();var StartLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Start",t}();var StopLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Stop",t}();var GetProfile=function(){function t(){}return t.type="[Profile] Get",t}();var UpdateProfile=function(){function t(t){this.payload=t}return t.type="[Profile] Update",t}();var ChangePassword=function(){function t(t){this.payload=t}return t.type="[Profile] Change Password",t}();var RestOccurError=function(){function t(t){this.payload=t}return t.type="[Rest] Error",t}();var SetLanguage=function(){function t(t){this.payload=t}return t.type="[Session] Set Language",t}();var SetTenant=function(){function t(t){this.payload=t}return t.type="[Session] Set Tenant",t}();var RestService=function(){function t(t,e){this.http=t,this.store=e}return t.prototype.handleError=function(t){return this.store.dispatch(new RestOccurError(t)),console.error(t),rxjs.NEVER},t.prototype.request=function(t,e,r){var n=this;void 0===e&&(e={});var o=e.observe,i=void 0===o?"body":o,a=e.throwErr,c=r||this.store.selectSnapshot(ConfigState.getApiUrl())+t.url,u=t.method,s=__rest(t,["method"]);return this.http.request(u,c,__assign({observe:i},s)).pipe("body"===i?operators.take(1):null,operators.catchError(function(t){return a?rxjs.throwError(t):n.handleError(t)}))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:http.HttpClient},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(http.HttpClient),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ProfileService=function(){function t(t){this.rest=t}return t.prototype.get=function(){return this.rest.request({method:"GET",url:"/api/identity/my-profile"})},t.prototype.update=function(t){var e={method:"PUT",url:"/api/identity/my-profile",body:t};return this.rest.request(e)},t.prototype.changePassword=function(t,e){void 0===e&&(e=!1);var r={method:"POST",url:"/api/identity/my-profile/change-password",body:t};return this.rest.request(r,{throwErr:e})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var ProfileState=function(){function t(t){this.profileService=t}return t.getProfile=function(t){return t.profile},t.prototype.profileGet=function(t){var e=t.patchState;return this.profileService.get().pipe(operators.tap(function(t){return e({profile:t})}))},t.prototype.profileUpdate=function(t,e){var r=t.patchState,n=e.payload;return this.profileService.update(n).pipe(operators.tap(function(t){return r({profile:t})}))},t.prototype.changePassword=function(t,e){var r=e.payload;return this.profileService.changePassword(r,!0)},__decorate([store.Action(GetProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],t.prototype,"profileGet",null),__decorate([store.Action(UpdateProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,UpdateProfile]),__metadata("design:returntype",void 0)],t.prototype,"profileUpdate",null),__decorate([store.Action(ChangePassword),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,ChangePassword]),__metadata("design:returntype",void 0)],t.prototype,"changePassword",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getProfile",null),t=__decorate([store.State({name:"ProfileState",defaults:{}}),__metadata("design:paramtypes",[ProfileService])],t)}();var ApplicationConfigurationService=function(){function t(t){this.rest=t}return t.prototype.getConfiguration=function(){return this.rest.request({method:"GET",url:"/api/abp/application-configuration"})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var SessionState=function(){function t(){}return t.getLanguage=function(t){return t.language},t.getTenant=function(t){return t.tenant},t.prototype.setLanguage=function(t,e){(0,t.patchState)({language:e.payload})},t.prototype.setTenantId=function(t,e){(0,t.patchState)({tenant:e.payload})},__decorate([store.Action(SetLanguage),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetLanguage]),__metadata("design:returntype",void 0)],t.prototype,"setLanguage",null),__decorate([store.Action(SetTenant),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,SetTenant]),__metadata("design:returntype",void 0)],t.prototype,"setTenantId",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",String)],t,"getLanguage",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getTenant",null),t=__decorate([store.State({name:"SessionState",defaults:{}}),__metadata("design:paramtypes",[])],t)}();function organizeRoutes(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=[]),void 0===n&&(n=null);var o=function(t){return t.children&&t.children.length&&(t.children=organizeRoutes(t.children,e,r,t.name)),!t.parentName||t.parentName===n||(r.push(t),!1)};if(n)return t.filter(o);var i=t.filter(o);return r.length?sortRoutes(setChildRoute(__spread(i,e),r)):i}function setChildRoute(t,e){return t.map(function(t){t.children&&t.children.length&&(t.children=setChildRoute(t.children,e));var r=e.filter(function(e){return e.parentName===t.name});return r&&r.length&&(t.children=__spread(t.children||[],r)),t})}function sortRoutes(t){return void 0===t&&(t=[]),t.length?t.sort(function(t,e){return t.order-e.order}).map(function(t){return t.children&&t.children.length&&(t.children=sortRoutes(t.children)),t}):[]}var ConfigState=function(){function ConfigState(t,e){this.appConfigurationService=t,this.store=e}var ConfigState_1;return ConfigState_1=ConfigState,ConfigState.getAll=function(t){return t},ConfigState.getApplicationInfo=function(t){return t.environment.application||{}},ConfigState.getOne=function(t){return store.createSelector([ConfigState_1],function(e){return e[t]})},ConfigState.getDeep=function(t){if("string"==typeof t&&(t=t.split(".")),!Array.isArray(t))throw new Error("The argument must be a dot string or an string array.");return store.createSelector([ConfigState_1],function(e){return t.reduce(function(t,e){if(t)return t[e]},e)})},ConfigState.getApiUrl=function(t){return store.createSelector([ConfigState_1],function(e){return e.environment.apis[t||"default"].url})},ConfigState.getSetting=function(t){return store.createSelector([ConfigState_1],function(e){return snq(function(){return e.setting.values[t]})})},ConfigState.getGrantedPolicy=function(condition){void 0===condition&&(condition="");var keys=condition.replace(/\(|\)|\!|\s/g,"").split(/\|\||&&/).filter(function(t){return t}),selector=store.createSelector([ConfigState_1],function(state){if(!keys.length)return!0;var getPolicy=function(t){return snq(function(){return state.auth.grantedPolicies[t]},!1)};return keys.length>1?(keys.forEach(function(t){var e=getPolicy(t);condition=condition.replace(t,e)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(t){for(var e=[],r=1;r>t/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function getInitialData(t){return function(){return t.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function isFunction(t){return"function"==typeof t}var takeUntilDestroy=function(t,e){return void 0===e&&(e="ngOnDestroy"),function(r){var n=t[e];if(!1===isFunction(n))throw new Error(t.constructor.name+" is using untilDestroyed but doesn't implement "+e);return t.__takeUntilDestroy||(t.__takeUntilDestroy=new rxjs.Subject,t[e]=function(){isFunction(n)&&n.apply(this,arguments),t.__takeUntilDestroy.next(!0),t.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(t.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function t(t,e){var r=this;this.router=t,this.store=e,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(t){if(t instanceof router.NavigationEnd){var e=r.router.parseUrl(t.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(e,n.routes);r.layout=o.filter(function(t){return!!t}).find(function(t){return snq(function(){return t.type.toLowerCase().indexOf(i)},-1)>-1})}})}return t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],t.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],t.prototype,"requirements$",void 0),t}();function findLayout(t,e){var r="empty",n=e.reduce(function(t,e){return e.wrapper?__spread(t,e.children):__spread(t,[e])},[]).find(function(e){return e.path===t[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&t.length>1)){var o=n.children.find(function(e){return e.path===t[1].path});o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function t(){}return t.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],t}(),AutofocusDirective=function(){function t(t){this.elRef=t,this.delay=0}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout(function(){return t.elRef.nativeElement.focus()},this.delay)},t.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef}]},t.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},t}();var EllipsisDirective=function(){function t(t,e){this.cdRef=t,this.elRef=e,this.enabled=!0}return Object.defineProperty(t.prototype,"class",{get:function(){return this.enabled},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.enabled?this.width||"170px":void 0},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;setTimeout(function(){var e=t.title;t.title=e||t.elRef.nativeElement.innerText,t.title!==e&&t.cdRef.detectChanges()},0)},t.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],t.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},t.propDecorators={width:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},t}();var PermissionDirective=function(){function t(t,e,r){this.elRef=t,this.renderer=e,this.store=r}return t.prototype.ngOnInit=function(){var t=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(e){e||t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement)})},t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},t.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},t}();var VisibilityDirective=function(){function t(t,e){this.elRef=t,this.renderer=e,this.completed$=new rxjs.Subject}return t.prototype.ngAfterViewInit=function(){var t=this,e=new MutationObserver(function(e){e.forEach(function(e){e.target&&(snq(function(){return Array.from(e.target.childNodes).filter(function(t){return t instanceof HTMLElement})},[]).length?setTimeout(function(){t.disconnect()},0):(t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement),t.disconnect()))})});e.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return e.disconnect()})},t.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},t.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},t.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},t}();var eLayoutType={account:"account",application:"application",empty:"empty"},AuthGuard=function(){function t(t,e){this.oauthService=t,this.store=e}return t.prototype.canActivate=function(t,e){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:e.url}})),!1)},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var PermissionGuard=function(){function t(t){this.store=t}return t.prototype.canActivate=function(t){var e=t.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(e))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ApiInterceptor=function(){function t(t,e){this.oAuthService=t,this.store=e}return t.prototype.intercept=function(t,e){var r=this;this.store.dispatch(new StartLoader(t));var n={},o=this.oAuthService.getAccessToken();!t.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!t.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!t.headers.has("__tenant")&&a&&(n.__tenant=a.id),e.handle(t.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(t))}))},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t}(),ApplicationConfiguration,ABP,Config,Session,Profile;(function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}function c(){}t.Response=e,t.Localization=r,t.LocalizationValue=function(){},t.Language=n,t.Auth=o,t.Policy=function(){},t.Setting=i,t.CurrentUser=a,t.Features=c})(ApplicationConfiguration||(ApplicationConfiguration={})),function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}t.Root=e,t.PagedItemsResponse=r,t.PageQueryParams=n,t.Route=o,t.FullRoute=i,t.BasicItem=a}(ABP||(ABP={})),function(t){function e(){}function r(){}function n(){}t.State=function(){},t.Environment=e,t.Application=r,t.Apis=function(){},t.Requirements=n}(Config||(Config={})),function(t){function e(){}function r(){}t.Config=e,t.Request=r}(exports.Rest||(exports.Rest={})),function(t){function e(){}t.State=e}(Session||(Session={})),function(t){function e(){}function r(){}function n(){}t.State=e,t.Response=r,t.ChangePasswordRequest=n}(Profile||(Profile={}));var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function t(t,e){this.options=t,this.router=e,this.initialized=!1}return t.prototype.handle=function(t,e,r){var n=store.actionMatcher(e);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),t=store.setValue(t,"ConfigState",__assign({},t.ConfigState&&__assign({},t.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(t,e)},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},t}();function transformRoutes(t,e){void 0===t&&(t=[]),void 0===e&&(e=[]);var r=t.filter(function(t){return snq(function(){return t.data.routes.find(function(e){return e.path===t.path})},!1)}).reduce(function(t,e){return __spread(t,e.data.routes)},[]);e=r.filter(function(t){return t.wrapper});var n=[];return t.filter(function(t){return(t.data||{}).routes&&(t.component||t.loadChildren)}).forEach(function(t){var e=r.find(function(e){return e.path.toLowerCase()===t.path.toLowerCase()&&snq(function(){return t.data.routes.length},!1)}),o=n.length;e&&n.push(e),n.length===o&&n.push({path:t.path,name:snq(function(){return t.data.routes.name},t.path),children:t.data.routes.children||[]})}),{routes:setUrls(n),wrappers:e}}function setUrls(t,e){return e?t.map(function(t){return __assign({},t,{url:e+"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,e+"/"+t.path)})}):t.map(function(t){return __assign({},t,{url:"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,"/"+t.path)})})}var ConfigService=function(){function t(t){this.store=t}return t.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},t.prototype.getOne=function(t){return this.store.selectSnapshot(ConfigState.getOne(t))},t.prototype.getDeep=function(t){return this.store.selectSnapshot(ConfigState.getDeep(t))},t.prototype.getSetting=function(t){return this.store.selectSnapshot(ConfigState.getSetting(t))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var LazyLoadService=function(){function t(){this.loadedLibraries={}}return t.prototype.load=function(t,e,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),t||r){var a,c=t?t.slice(t.lastIndexOf("/")+1):uuid();return this.loadedLibraries[c]?this.loadedLibraries[c].asObservable():(this.loadedLibraries[c]=new rxjs.ReplaySubject,"script"===e?((a=document.createElement("script")).type="text/javascript",t&&(a.src=t),a.text=r):t?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",t&&(a.href=t)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[c].next(),i.loadedLibraries[c].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[c].asObservable())}},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var LocalizationService=function(){function t(t){this.store=t}return t.prototype.get=function(t){for(var e=[],r=1;r=0;c--)(o=t[c])&&(a=(i<3?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,n){e(r,n,t)}}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,n){return new(r||(r=Promise))(function(o,i){function a(t){try{s(n.next(t))}catch(t){i(t)}}function c(t){try{s(n.throw(t))}catch(t){i(t)}}function s(t){t.done?o(t.value):new r(function(e){e(t.value)}).then(a,c)}s((n=n.apply(t,e||[])).next())})}function __generator(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function __read(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function __spread(){for(var t=[],e=0;e1||c(t,e)})})}function c(t,e){try{(r=o[t](e)).value instanceof __await?Promise.resolve(r.value.v).then(s,u):p(i[0][2],r)}catch(t){p(i[0][3],t)}var r}function s(t){c("next",t)}function u(t){c("throw",t)}function p(t,e){t(e),i.shift(),i.length&&c(i[0][0],i[0][1])}}function __asyncDelegator(t){var e,r;return e={},n("next"),n("throw",function(t){throw t}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:__await(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise(function(n,o){(function(t,e,r,n){Promise.resolve(n).then(function(e){t({value:e,done:r})},e)})(n,o,(e=t[r](e)).done,e.value)})}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}var PatchRouteByName=function(){function t(t,e){this.name=t,this.newValue=e}return t.type="[Config] Patch Route By Name",t}();var GetAppConfiguration=function(){function t(){}return t.type="[Config] Get App Configuration",t}();var StartLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Start",t}();var StopLoader=function(){function t(t){this.payload=t}return t.type="[Loader] Stop",t}();var GetProfile=function(){function t(){}return t.type="[Profile] Get",t}();var UpdateProfile=function(){function t(t){this.payload=t}return t.type="[Profile] Update",t}();var ChangePassword=function(){function t(t){this.payload=t}return t.type="[Profile] Change Password",t}();var RestOccurError=function(){function t(t){this.payload=t}return t.type="[Rest] Error",t}();var SetLanguage=function(){function t(t){this.payload=t}return t.type="[Session] Set Language",t}();var SetTenant=function(){function t(t){this.payload=t}return t.type="[Session] Set Tenant",t}();var RestService=function(){function t(t,e){this.http=t,this.store=e}return t.prototype.handleError=function(t){return this.store.dispatch(new RestOccurError(t)),console.error(t),rxjs.throwError(t)},t.prototype.request=function(t,e,r){var n=this;void 0===e&&(e={});var o=e.observe,i=void 0===o?"body":o,a=e.skipHandleError,c=r||this.store.selectSnapshot(ConfigState.getApiUrl())+t.url,s=t.method,u=__rest(t,["method"]);return this.http.request(s,c,__assign({observe:i},u)).pipe("body"===i?operators.take(1):null,operators.catchError(function(t){return a?rxjs.throwError(t):n.handleError(t)}))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:http.HttpClient},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(http.HttpClient),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ProfileService=function(){function t(t){this.rest=t}return t.prototype.get=function(){return this.rest.request({method:"GET",url:"/api/identity/my-profile"})},t.prototype.update=function(t){var e={method:"PUT",url:"/api/identity/my-profile",body:t};return this.rest.request(e)},t.prototype.changePassword=function(t,e){void 0===e&&(e=!1);var r={method:"POST",url:"/api/identity/my-profile/change-password",body:t};return this.rest.request(r,{skipHandleError:e})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var ProfileState=function(){function t(t){this.profileService=t}return t.getProfile=function(t){return t.profile},t.prototype.profileGet=function(t){var e=t.patchState;return this.profileService.get().pipe(operators.tap(function(t){return e({profile:t})}))},t.prototype.profileUpdate=function(t,e){var r=t.patchState,n=e.payload;return this.profileService.update(n).pipe(operators.tap(function(t){return r({profile:t})}))},t.prototype.changePassword=function(t,e){var r=e.payload;return this.profileService.changePassword(r,!0)},__decorate([store.Action(GetProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],t.prototype,"profileGet",null),__decorate([store.Action(UpdateProfile),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,UpdateProfile]),__metadata("design:returntype",void 0)],t.prototype,"profileUpdate",null),__decorate([store.Action(ChangePassword),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,ChangePassword]),__metadata("design:returntype",void 0)],t.prototype,"changePassword",null),__decorate([store.Selector(),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Object)],t,"getProfile",null),t=__decorate([store.State({name:"ProfileState",defaults:{}}),__metadata("design:paramtypes",[ProfileService])],t)}();var ApplicationConfigurationService=function(){function t(t){this.rest=t}return t.prototype.getConfiguration=function(){return this.rest.request({method:"GET",url:"/api/abp/application-configuration"})},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:RestService}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(RestService))},token:t,providedIn:"root"}),t}();var localesMapping={"ar-sa":"ar-SA","ca-ES-valencia":"ca-ES-VALENCIA","de-de":"de","es-ES":"es","en-US":"en","fil-Latn":"en","ku-Arab":"en","ky-Cyrl":"en","mi-Latn":"en","prs-Arab":"en","qut-Latn":"en",nso:"en",quz:"en","fr-FR":"fr","gd-Latn":"gd","ha-Latn":"ha","ig-Latn":"ig","it-it":"it","mn-Cyrl":"mn","pt-BR":"pt","sd-Arab":"pa-Arab","sr-Cyrl-RS":"sr-Cyrl","sr-Latn-RS":"sr-Latn","tg-Cyrl":"tg","tk-Latn":"tk","tt-Cyrl":"tt","ug-Arab":"ug","yo-Latn":"yo"};function getInitialData(t){return function(){return t.get(store.Store).dispatch(new GetAppConfiguration).toPromise()}}function localeInitializer(t){return function(){var e=t.get(store.Store).selectSnapshot(SessionState.getLanguage)||"en";return new Promise(function(t,r){registerLocale(e).then(function(){return t()},r)})}}function registerLocale(t){return import("@angular/common/locales/"+(localesMapping[t]||t)+".js").then(function(t){common.registerLocaleData(t.default)})}var LocalizationService=function(){function t(t,e,r,n){if(this.store=t,this.router=e,this.actions=r,n)throw new Error("LocaleService should have only one instance.")}return Object.defineProperty(t.prototype,"currentLang",{get:function(){return this.store.selectSnapshot(SessionState.getLanguage)},enumerable:!0,configurable:!0}),t.prototype.setRouteReuse=function(t){this.router.routeReuseStrategy.shouldReuseRoute=t},t.prototype.registerLocale=function(t){var e=this,r=this.router.routeReuseStrategy.shouldReuseRoute;return this.setRouteReuse(function(){return!1}),this.router.navigated=!1,registerLocale(t).then(function(){return __awaiter(e,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return[4,this.router.navigateByUrl(this.router.url).catch(rxjs.noop)];case 1:return t.sent(),this.setRouteReuse(r),[2]}})})})},t.prototype.get=function(t){for(var e=[],r=1;r1?(keys.forEach(function(t){var e=getPolicy(t);condition=condition.replace(t,e)}),eval("!!"+condition)):getPolicy(condition)});return selector},ConfigState.getCopy=function(t){for(var e=[],r=1;r>t/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,uuid)}function isFunction(t){return"function"==typeof t}var takeUntilDestroy=function(t,e){return void 0===e&&(e="ngOnDestroy"),function(r){var n=t[e];if(!1===isFunction(n))throw new Error(t.constructor.name+" is using untilDestroyed but doesn't implement "+e);return t.__takeUntilDestroy||(t.__takeUntilDestroy=new rxjs.Subject,t[e]=function(){isFunction(n)&&n.apply(this,arguments),t.__takeUntilDestroy.next(!0),t.__takeUntilDestroy.complete()}),r.pipe(operators.takeUntil(t.__takeUntilDestroy))}},DynamicLayoutComponent=function(){function t(t,e){var r=this;this.router=t,this.store=e,this.router.events.pipe(takeUntilDestroy(this)).subscribe(function(t){if(t instanceof router.NavigationEnd){var e=r.router.parseUrl(t.url).root.children.primary.segments,n=r.store.selectSnapshot(ConfigState.getAll),o=n.requirements.layouts,i=findLayout(e,n.routes);r.layout=o.filter(function(t){return!!t}).find(function(t){return snq(function(){return t.type.toLowerCase().indexOf(i)},-1)>-1})}})}return t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Component,args:[{selector:"abp-dynamic-layout",template:'\n \n\n \n \n '}]}],t.ctorParameters=function(){return[{type:router.Router},{type:store.Store}]},__decorate([store.Select(ConfigState.getOne("requirements")),__metadata("design:type",rxjs.Observable)],t.prototype,"requirements$",void 0),t}();function findLayout(t,e){var r="empty",n=e.reduce(function(t,e){return e.wrapper?__spread(t,e.children):__spread(t,[e])},[]).find(function(e){return e.path===t[0].path});if(n&&(n.layout&&(r=n.layout),n.children&&n.children.length&&t.length>1)){var o=n.children.find(function(e){return e.path===t[1].path});o&&o.layout&&(r=o.layout)}return r}var RouterOutletComponent=function(){function t(){}return t.decorators=[{type:core.Component,args:[{selector:"abp-router-outlet",template:"\n \n "}]}],t}(),AutofocusDirective=function(){function t(t){this.elRef=t,this.delay=0}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout(function(){return t.elRef.nativeElement.focus()},this.delay)},t.decorators=[{type:core.Directive,args:[{selector:"[autofocus]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef}]},t.propDecorators={delay:[{type:core.Input,args:["autofocus"]}]},t}();var EllipsisDirective=function(){function t(t,e){this.cdRef=t,this.elRef=e,this.enabled=!0}return Object.defineProperty(t.prototype,"inlineClass",{get:function(){return this.enabled&&this.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"class",{get:function(){return this.enabled&&!this.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.enabled&&this.width?this.width||"170px":void 0},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;setTimeout(function(){var e=t.title;t.title=e||t.elRef.nativeElement.innerText,t.title!==e&&t.cdRef.detectChanges()},0)},t.decorators=[{type:core.Directive,args:[{selector:"[abpEllipsis]"}]}],t.ctorParameters=function(){return[{type:core.ChangeDetectorRef},{type:core.ElementRef}]},t.propDecorators={width:[{type:core.Input,args:["abpEllipsis"]}],title:[{type:core.HostBinding,args:["title"]},{type:core.Input}],enabled:[{type:core.Input,args:["abpEllipsisEnabled"]}],inlineClass:[{type:core.HostBinding,args:["class.abp-ellipsis-inline"]}],class:[{type:core.HostBinding,args:["class.abp-ellipsis"]}],maxWidth:[{type:core.HostBinding,args:["style.max-width"]}]},t}();var FormSubmitDirective=function(){function t(t,e,r){this.formGroupDirective=t,this.host=e,this.cdRef=r,this.ngSubmit=new core.EventEmitter,this.executedNgSubmit=!1}return t.prototype.ngOnInit=function(){var t=this;this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(function(){t.markAsDirty(),t.executedNgSubmit=!0}),rxjs.fromEvent(this.host.nativeElement,"keyup").pipe(operators.debounceTime(200),operators.filter(function(t){return t&&"Enter"===t.key}),takeUntilDestroy(this)).subscribe(function(){t.executedNgSubmit||t.host.nativeElement.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0})),t.executedNgSubmit=!1}),rxjs.fromEvent(this.host.nativeElement,"submit").pipe(takeUntilDestroy(this),operators.filter(function(){return!t.notValidateOnSubmit&&"string"!=typeof t.notValidateOnSubmit})).subscribe(function(){t.executedNgSubmit||t.markAsDirty()})},t.prototype.ngOnDestroy=function(){},t.prototype.markAsDirty=function(){var t=this.formGroupDirective.form;setDirty(t.controls),t.markAsDirty(),this.cdRef.detectChanges()},t.decorators=[{type:core.Directive,args:[{selector:"form[ngSubmit][formGroup]"}]}],t.ctorParameters=function(){return[{type:forms.FormGroupDirective,decorators:[{type:core.Self}]},{type:core.ElementRef},{type:core.ChangeDetectorRef}]},t.propDecorators={notValidateOnSubmit:[{type:core.Input}],ngSubmit:[{type:core.Output}]},t}();function setDirty(t){Array.isArray(t)?t.forEach(function(t){setDirty(t.controls)}):Object.keys(t).forEach(function(e){t[e].markAsDirty(),t[e].updateValueAndValidity()})}var PermissionDirective=function(){function t(t,e,r){this.elRef=t,this.renderer=e,this.store=r}return t.prototype.ngOnInit=function(){var t=this;this.condition&&this.store.select(ConfigState.getGrantedPolicy(this.condition)).pipe(takeUntilDestroy(this)).subscribe(function(e){e||t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement)})},t.prototype.ngOnDestroy=function(){},t.decorators=[{type:core.Directive,args:[{selector:"[abpPermission]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2},{type:store.Store}]},t.propDecorators={condition:[{type:core.Input,args:["abpPermission"]}]},t}();var VisibilityDirective=function(){function t(t,e){this.elRef=t,this.renderer=e,this.completed$=new rxjs.Subject}return t.prototype.ngAfterViewInit=function(){var t=this,e=new MutationObserver(function(e){e.forEach(function(e){e.target&&(snq(function(){return Array.from(e.target.childNodes).filter(function(t){return t instanceof HTMLElement})},[]).length?setTimeout(function(){t.disconnect()},0):(t.renderer.removeChild(t.elRef.nativeElement.parentElement,t.elRef.nativeElement),t.disconnect()))})});e.observe(this.focusedElement,{childList:!0}),this.completed$.subscribe(function(){return e.disconnect()})},t.prototype.disconnect=function(){this.completed$.next(),this.completed$.complete()},t.decorators=[{type:core.Directive,args:[{selector:"[abpVisibility]"}]}],t.ctorParameters=function(){return[{type:core.ElementRef,decorators:[{type:core.Optional}]},{type:core.Renderer2}]},t.propDecorators={focusedElement:[{type:core.Input,args:["abpVisibility"]}]},t}();var eLayoutType={account:"account",application:"application",empty:"empty"},AuthGuard=function(){function t(t,e){this.oauthService=t,this.store=e}return t.prototype.canActivate=function(t,e){var r=this.oauthService.hasValidAccessToken();return r||(this.store.dispatch(new routerPlugin.Navigate(["/account/login"],null,{state:{redirectUrl:e.url}})),!1)},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(angularOauth2Oidc.OAuthService),core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var PermissionGuard=function(){function t(t){this.store=t}return t.prototype.canActivate=function(t){var e=this,r=t.data.requiredPolicy;return this.store.select(ConfigState.getGrantedPolicy(r)).pipe(operators.tap(function(t){t||e.store.dispatch(new RestOccurError({status:403}))}))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var ApiInterceptor=function(){function t(t,e){this.oAuthService=t,this.store=e}return t.prototype.intercept=function(t,e){var r=this;this.store.dispatch(new StartLoader(t));var n={},o=this.oAuthService.getAccessToken();!t.headers.has("Authorization")&&o&&(n.Authorization="Bearer "+o);var i=this.store.selectSnapshot(SessionState.getLanguage);!t.headers.has("Accept-Language")&&i&&(n["Accept-Language"]=i);var a=this.store.selectSnapshot(SessionState.getTenant);return!t.headers.has("__tenant")&&a&&(n.__tenant=a.id),e.handle(t.clone({setHeaders:n})).pipe(operators.finalize(function(){return r.store.dispatch(new StopLoader(t))}))},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:angularOauth2Oidc.OAuthService},{type:store.Store}]},t}(),ApplicationConfiguration,ABP,Config,Session,Profile;(function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}function c(){}t.Response=e,t.Localization=r,t.LocalizationValue=function(){},t.Language=n,t.Auth=o,t.Policy=function(){},t.Setting=i,t.CurrentUser=a,t.Features=c})(ApplicationConfiguration||(ApplicationConfiguration={})),function(t){function e(){}function r(){}function n(){}function o(){}function i(){}function a(){}t.Root=e,t.PagedItemsResponse=r,t.PageQueryParams=n,t.Route=o,t.FullRoute=i,t.BasicItem=a}(ABP||(ABP={})),function(t){function e(){}function r(){}function n(){}t.State=function(){},t.Environment=e,t.Application=r,t.Apis=function(){},t.Requirements=n}(Config||(Config={})),function(t){function e(){}function r(){}t.Config=e,t.Request=r}(exports.Rest||(exports.Rest={})),function(t){function e(){}t.State=e}(Session||(Session={})),function(t){function e(){}function r(){}function n(){}t.State=e,t.Response=r,t.ChangePasswordRequest=n}(Profile||(Profile={}));var NGXS_CONFIG_PLUGIN_OPTIONS=new core.InjectionToken("NGXS_CONFIG_PLUGIN_OPTIONS"),ConfigPlugin=function(){function t(t,e){this.options=t,this.router=e,this.initialized=!1}return t.prototype.handle=function(t,e,r){var n=store.actionMatcher(e);if((n(store.InitState)||n(store.UpdateState))&&!this.initialized){var o=transformRoutes(this.router.config),i=o.routes;i=organizeRoutes(i,o.wrappers),t=store.setValue(t,"ConfigState",__assign({},t.ConfigState&&__assign({},t.ConfigState),this.options,{routes:i})),this.initialized=!0}return r(t,e)},t.decorators=[{type:core.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:core.Inject,args:[NGXS_CONFIG_PLUGIN_OPTIONS]}]},{type:router.Router}]},t}();function transformRoutes(t,e){void 0===t&&(t=[]),void 0===e&&(e=[]);var r=t.filter(function(t){return snq(function(){return t.data.routes.routes.find(function(e){return e.path===t.path})},!1)}).reduce(function(t,e){return __spread(t,e.data.routes.routes)},[]);e=r.filter(function(t){return t.wrapper});var n=[];return t.filter(function(t){return(t.data||{}).routes&&(t.component||t.loadChildren)}).forEach(function(t){var e=r.find(function(e){return e.path.toLowerCase()===t.path.toLowerCase()&&snq(function(){return t.data.routes.routes.length},!1)}),o=n.length;e&&n.push(e),n.length===o&&n.push(__assign({},t.data.routes,{path:t.path,name:snq(function(){return t.data.routes.name},t.path),children:t.data.routes.children||[]}))}),{routes:setUrls(n),wrappers:e}}function setUrls(t,e){return e?t.map(function(t){return __assign({},t,{url:e+"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,e+"/"+t.path)})}):t.map(function(t){return __assign({},t,{url:"/"+t.path},t.children&&t.children.length&&{children:setUrls(t.children,"/"+t.path)})})}var ConfigService=function(){function t(t){this.store=t}return t.prototype.getAll=function(){return this.store.selectSnapshot(ConfigState.getAll)},t.prototype.getOne=function(t){return this.store.selectSnapshot(ConfigState.getOne(t))},t.prototype.getDeep=function(t){return this.store.selectSnapshot(ConfigState.getDeep(t))},t.prototype.getSetting=function(t){return this.store.selectSnapshot(ConfigState.getSetting(t))},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:store.Store}]},t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t(core.ɵɵinject(store.Store))},token:t,providedIn:"root"}),t}();var LazyLoadService=function(){function t(){this.loadedLibraries={}}return t.prototype.load=function(t,e,r,n,o){var i=this;if(void 0===r&&(r=""),void 0===n&&(n="body"),void 0===o&&(o="afterend"),t||r){var a,c=t?t.slice(t.lastIndexOf("/")+1):uuid();return this.loadedLibraries[c]?this.loadedLibraries[c].asObservable():(this.loadedLibraries[c]=new rxjs.ReplaySubject,"script"===e?((a=document.createElement("script")).type="text/javascript",t&&(a.src=t),a.text=r):t?((a=document.createElement("link")).type="text/css",a.rel="stylesheet",t&&(a.href=t)):(a=document.createElement("style")).textContent=r,a.onload=function(){i.loadedLibraries[c].next(),i.loadedLibraries[c].complete()},document.querySelector(n).insertAdjacentElement(o,a),this.loadedLibraries[c].asObservable())}},t.decorators=[{type:core.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=core.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();function environmentFactory(t){return __assign({},t)}function configFactory(t){return __assign({},t)}var ENVIRONMENT=new core.InjectionToken("ENVIRONMENT"),CONFIG=new core.InjectionToken("CONFIG"),InputEventDebounceDirective=function(){function t(t,e){this.renderer=t,this.el=e,this.debounce=300,this.debounceEvent=new core.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;rxjs.fromEvent(this.el.nativeElement,"input").pipe(operators.debounceTime(this.debounce),core$1.takeUntilDestroy(this)).subscribe(function(e){t.debounceEvent.emit(e)})},t.decorators=[{type:core.Directive,args:[{selector:"[input.debounce]"}]}],t.ctorParameters=function(){return[{type:core.Renderer2},{type:core.ElementRef}]},t.propDecorators={debounce:[{type:core.Input}],debounceEvent:[{type:core.Output,args:["input.debounce"]}]},t}();var ClickEventStopPropagationDirective=function(){function t(t,e){this.renderer=t,this.el=e,this.stopPropEvent=new core.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;rxjs.fromEvent(this.el.nativeElement,"click").pipe(core$1.takeUntilDestroy(this)).subscribe(function(e){e.stopPropagation(),t.stopPropEvent.emit(e)})},t.decorators=[{type:core.Directive,args:[{selector:"[click.stop]"}]}],t.ctorParameters=function(){return[{type:core.Renderer2},{type:core.ElementRef}]},t.propDecorators={stopPropEvent:[{type:core.Output,args:["click.stop"]}]},t}();var LocalizationPipe=function(){function t(t){this.store=t,this.initialValue="",this.destroy$=new rxjs.Subject}return t.prototype.transform=function(t){var e=this;void 0===t&&(t="");for(var r=[],n=1;n= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/constants/different-locales.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/common-utils.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/form-submit.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/plugins/config/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/providers/locale.provider.ts","ng://@abp/ng.core/lib/core.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__exportStar","m","exports","__values","o","__read","ar","error","__spread","concat","__spreadArrays","il","k","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","PatchRouteByName","name","newValue","type","GetAppConfiguration","StartLoader","payload","StopLoader","GetProfile","UpdateProfile","ChangePassword","RestOccurError","SetLanguage","SetTenant","RestService","http","store","handleError","err","dispatch","console","throwError","request","config","api","_this","_a","observe","skipHandleError","url","selectSnapshot","ConfigState","getApiUrl","method","options","pipe","take","catchError","Injectable","args","providedIn","HttpClient","Store","ProfileService","rest","get","update","changePassword","ProfileState","profileService","getProfile","profile","profileGet","patchState","tap","profileUpdate","_b","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationConfigurationService","getConfiguration","localesMapping","ar-sa","ca-ES-valencia","de-de","es-ES","en-US","fil-Latn","ku-Arab","ky-Cyrl","mi-Latn","prs-Arab","qut-Latn","nso","quz","fr-FR","gd-Latn","ha-Latn","ig-Latn","it-it","mn-Cyrl","pt-BR","sd-Arab","sr-Cyrl-RS","sr-Latn-RS","tg-Cyrl","tk-Latn","tt-Cyrl","ug-Arab","yo-Latn","getInitialData","injector","toPromise","localeInitializer","lang","SessionState","getLanguage","registerLocale","locale","import","differentLocales","module","registerLocaleData","LocalizationService","router","actions","otherInstance","Error","setRouteReuse","reuse","routeReuseStrategy","shouldReuseRoute","navigated","navigateByUrl","catch","noop","keys","interpolateParams","_i","select","getCopy","instant","Router","Actions","Optional","SkipSelf","localizationService","language","getTenant","tenant","setLanguage","combineLatest","from","setTenantId","organizeRoutes","routes","wrappers","parentNameArr","parentName","filter","route","children","filteredRoutes","sortRoutes","setChildRoute","map","foundedChildren","parent","sort","order","appConfigurationService","getAll","state","getApplicationInfo","environment","application","getOne","createSelector","ConfigState_1","getDeep","split","isArray","reduce","acc","val","getRoute","path","findRoute","apis","getSetting","snq","setting","values","getGrantedPolicy","condition","replace","selector","getPolicy","auth","grantedPolicies","forEach","eval","localization","defaultResourceName","copy","params","param","addData","configuration","switchMap","defaultLang","includes","of","patchRoute","getState","findIndex","patchRouteDeep","parentUrl","child","foundRoute","uuid","Math","random","toString","isFunction","takeUntilDestroy","componentInstance","destroyMethodName","source","originalDestroy","Subject","complete","takeUntil","DynamicLayoutComponent","events","subscribe","event","NavigationEnd","segments","parseUrl","root","primary","layouts","requirements","layout_1","findLayout","layout","l","find","toLowerCase","ngOnDestroy","Component","template","Select","Observable","wrapper","RouterOutletComponent","AutofocusDirective","elRef","delay","ngAfterViewInit","setTimeout","nativeElement","focus","Directive","ElementRef","Input","EllipsisDirective","cdRef","enabled","width","undefined","ngAfterContentInit","title","innerText","detectChanges","ChangeDetectorRef","HostBinding","FormSubmitDirective","formGroupDirective","host","ngSubmit","EventEmitter","executedNgSubmit","ngOnInit","markAsDirty","fromEvent","debounceTime","dispatchEvent","Event","bubbles","cancelable","notValidateOnSubmit","form","setDirty","FormGroupDirective","Self","Output","controls","group","updateValueAndValidity","PermissionDirective","renderer","isGranted","removeChild","parentElement","Renderer2","VisibilityDirective","completed$","observer","MutationObserver","mutations","mutation","childNodes","node","HTMLElement","disconnect","focusedElement","childList","account","empty","AuthGuard","oauthService","canActivate","hasValidAccessToken","Navigate","redirectUrl","OAuthService","PermissionGuard","resource","data","access","status","ApiInterceptor","oAuthService","intercept","headers","token","getAccessToken","has","id","handle","clone","setHeaders","finalize","ApplicationConfiguration","ABP","Config","Session","Profile","Response","Localization","Language","Auth","Setting","CurrentUser","Features","Root","PagedItemsResponse","PageQueryParams","Route","FullRoute","BasicItem","Environment","Application","Requirements","Rest","Request","ChangePasswordRequest","NGXS_CONFIG_PLUGIN_OPTIONS","InjectionToken","ConfigPlugin","initialized","matches","actionMatcher","InitState","UpdateState","transformRoutes","setValue","Inject","abpRoutes","transformed","component","loadChildren","abpPackage","abp","setUrls","ConfigService","LazyLoadService","loadedLibraries","load","content","targetQuery","position","library","slice","lastIndexOf","asObservable","ReplaySubject","document","createElement","src","text","rel","href","textContent","onload","querySelector","insertAdjacentElement","environmentFactory","configFactory","ENVIRONMENT","CONFIG","InputEventDebounceDirective","el","debounce","debounceEvent","emit","ClickEventStopPropagationDirective","stopPropEvent","stopPropagation","LocalizationPipe","initialValue","destroy$","transform","distinctUntilChanged","Pipe","pure","LocaleId","_super","tslib_1.__extends","currentLang","valueOf","String","LocaleProvider","provide","LOCALE_ID","useClass","deps","CoreModule","forRoot","ngModule","providers","NGXS_PLUGINS","multi","useValue","HTTP_INTERCEPTORS","APP_INITIALIZER","Injector","useFactory","NgModule","imports","NgxsModule","forFeature","NgxsStoragePluginModule","NgxsRouterPluginModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","declarations","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return throwError(err);\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (skipHandleError) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, skipHandleError: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { skipHandleError });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport default {\n 'ar-sa': 'ar-SA',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'de-de': 'de',\n 'es-ES': 'es',\n 'en-US': 'en',\n 'fil-Latn': 'en',\n 'ku-Arab': 'en',\n 'ky-Cyrl': 'en',\n 'mi-Latn': 'en',\n 'prs-Arab': 'en',\n 'qut-Latn': 'en',\n nso: 'en',\n quz: 'en',\n 'fr-FR': 'fr',\n 'gd-Latn': 'gd',\n 'ha-Latn': 'ha',\n 'ig-Latn': 'ig',\n 'it-it': 'it',\n 'mn-Cyrl': 'mn',\n 'pt-BR': 'pt',\n 'sd-Arab': 'pa-Arab',\n 'sr-Cyrl-RS': 'sr-Cyrl',\n 'sr-Latn-RS': 'sr-Latn',\n 'tg-Cyrl': 'tg',\n 'tk-Latn': 'tk',\n 'tt-Cyrl': 'tt',\n 'ug-Arab': 'ug',\n 'yo-Latn': 'yo',\n};\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport differentLocales from '../constants/different-locales';\nimport { SessionState } from '../states/session.state';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n const lang = store.selectSnapshot(SessionState.getLanguage) || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocale(lang).then(() => resolve(), reject);\n });\n };\n\n return fn;\n}\n\nexport function registerLocale(locale: string) {\n return import(\n /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\\.js$/ */\n `@angular/common/locales/${differentLocales[locale] || locale}.js`\n ).then(module => {\n registerLocaleData(module.default);\n });\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Actions, Store } from '@ngxs/store';\nimport { noop, Observable } from 'rxjs';\nimport { ConfigState } from '../states/config.state';\nimport { SessionState } from '../states/session.state';\nimport { registerLocale } from '../utils/initial-utils';\n\ntype ShouldReuseRoute = (future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot) => boolean;\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n get currentLang(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n constructor(\n private store: Store,\n private router: Router,\n private actions: Actions,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n ) {\n if (otherInstance) throw new Error('LocaleService should have only one instance.');\n }\n\n private setRouteReuse(reuse: ShouldReuseRoute) {\n this.router.routeReuseStrategy.shouldReuseRoute = reuse;\n }\n\n registerLocale(locale: string) {\n const { shouldReuseRoute } = this.router.routeReuseStrategy;\n\n this.setRouteReuse(() => false);\n this.router.navigated = false;\n\n return registerLocale(locale).then(async () => {\n await this.router.navigateByUrl(this.router.url).catch(noop);\n this.setRouteReuse(shouldReuseRoute);\n });\n }\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport { LocalizationService } from '../services/localization.service';\nimport { from, combineLatest } from 'rxjs';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor(private localizationService: LocalizationService) {}\n\n @Action(SetLanguage)\n setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n\n return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]);\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getRoute(path?: string, name?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return findRoute(state.routes, path, name);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration => {\n let defaultLang: string = configuration.setting.values['Abp.Localization.DefaultLanguage'];\n\n if (defaultLang.includes(';')) {\n defaultLang = defaultLang.split(';')[0];\n }\n\n return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang));\n }),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n\nfunction findRoute(routes: ABP.FullRoute[], path?: string, name?: string) {\n let foundRoute;\n routes.forEach(route => {\n if (foundRoute) return;\n\n if (path && route.path === path) {\n foundRoute = route;\n } else if (name && route.name === name) {\n foundRoute = route;\n return;\n } else if (route.children && route.children.length) {\n foundRoute = findRoute(route.children, path, name);\n return;\n }\n });\n\n return foundRoute;\n}\n","export function noop() {\n const fn = function() {};\n return fn;\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child && child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis-inline')\n get inlineClass() {\n return this.enabled && this.width;\n }\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled && !this.width;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled && this.width ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { takeUntilDestroy } from '../utils';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n selector: 'form[ngSubmit][formGroup]',\n})\nexport class FormSubmitDirective implements OnInit, OnDestroy {\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output()\n ngSubmit = new EventEmitter();\n\n executedNgSubmit: boolean = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(() => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n fromEvent(this.host.nativeElement as HTMLElement, 'keyup')\n .pipe(\n debounceTime(200),\n filter((key: KeyboardEvent) => key && key.key === 'Enter'),\n takeUntilDestroy(this),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n }\n\n this.executedNgSubmit = false;\n });\n\n fromEvent(this.host.nativeElement, 'submit')\n .pipe(\n takeUntilDestroy(this),\n filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.markAsDirty();\n }\n });\n }\n\n ngOnDestroy(): void {}\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n skipHandleError?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../../models';\nimport { organizeRoutes } from '../../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n ...route.data.routes,\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialValue: string = '';\n\n value: string;\n\n destroy$ = new Subject();\n\n constructor(private store: Store) {}\n\n transform(value: string = '', ...interpolateParams: string[]): string {\n if (this.initialValue !== value) {\n this.initialValue = value;\n this.destroy$.next();\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntil(this.destroy$),\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport localesMapping from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return localesMapping[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n LocaleProvider,\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n ],\n };\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/abp-ng.core.js b/npm/ng-packs/dist/core/esm2015/abp-ng.core.js index a89512db8a..bb50ae9be4 100644 --- a/npm/ng-packs/dist/core/esm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/esm2015/abp-ng.core.js @@ -5,27 +5,30 @@ /** * Generated bundle index. Do not edit. */ -export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; -export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, FormSubmitDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, noop, uuid, getInitialData, localeInitializer, registerLocale, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; +export { GetAppConfiguration as ɵp, PatchRouteByName as ɵo } from './lib/actions/config.actions'; export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; -export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; -export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; -export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; -export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; -export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; -export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; -export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; +export { SetLanguage as ɵj, SetTenant as ɵk } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵr } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵq } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵt } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵz } from './lib/directives/debounce.directive'; +export { EllipsisDirective as ɵu } from './lib/directives/ellipsis.directive'; +export { FormSubmitDirective as ɵv } from './lib/directives/form-submit.directive'; +export { PermissionDirective as ɵx } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵba } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵy } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbf } from './lib/interceptors/api.interceptor'; +export { LocalizationPipe as ɵw } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵbe, NGXS_CONFIG_PLUGIN_OPTIONS as ɵbd } from './lib/plugins/config/config.plugin'; +export { LocaleId as ɵbb, LocaleProvider as ɵbc } from './lib/providers/locale.provider'; +export { ApplicationConfigurationService as ɵn } from './lib/services/application-configuration.service'; +export { LocalizationService as ɵi } from './lib/services/localization.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵr } from './lib/states'; -export { ConfigState as ɵl } from './lib/states/config.state'; +export { ConfigState as ɵs } from './lib/states'; +export { ConfigState as ɵm } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵbc } from './lib/utils/initial-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaXJCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtHZXRBcHBDb25maWd1cmF0aW9uIGFzIMm1byxQYXRjaFJvdXRlQnlOYW1lIGFzIMm1bn0gZnJvbSAnLi9saWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkIGFzIMm1ZixHZXRQcm9maWxlIGFzIMm1ZCxVcGRhdGVQcm9maWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXRMYW5ndWFnZSBhcyDJtWksU2V0VGVuYW50IGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuZXhwb3J0IHtEeW5hbWljTGF5b3V0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtSb3V0ZXJPdXRsZXRDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b2ZvY3VzRGlyZWN0aXZlIGFzIMm1c30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIGFzIMm1eH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXZ9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIGFzIMm1eX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Zpc2liaWxpdHlEaXJlY3RpdmUgYXMgybV3fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7QXBpSW50ZXJjZXB0b3IgYXMgybViYn0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtWssUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybV1fSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtWJhLE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIGFzIMm1en0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmV4cG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1Byb2ZpbGVTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvcHJvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCB7UmVzdFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtXJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1bH0gZnJvbSAnLi9saWIvc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5leHBvcnQge1Byb2ZpbGVTdGF0ZSBhcyDJtWF9IGZyb20gJy4vbGliL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmV4cG9ydCB7U2Vzc2lvblN0YXRlIGFzIMm1aH0gZnJvbSAnLi9saWIvc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuZXhwb3J0IHtnZXRJbml0aWFsRGF0YSBhcyDJtWJjfSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file +export { getInitialData as ɵbg, localeInitializer as ɵbh } from './lib/utils/initial-utils'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK3VCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEdBQUcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxJQUFJLEdBQUcsRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RyxPQUFPLEVBQUMsUUFBUSxJQUFJLEdBQUcsRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7R2V0QXBwQ29uZmlndXJhdGlvbiBhcyDJtXAsUGF0Y2hSb3V0ZUJ5TmFtZSBhcyDJtW99IGZyb20gJy4vbGliL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuZXhwb3J0IHtDaGFuZ2VQYXNzd29yZCBhcyDJtWYsR2V0UHJvZmlsZSBhcyDJtWQsVXBkYXRlUHJvZmlsZSBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zJztcbmV4cG9ydCB7U2V0TGFuZ3VhZ2UgYXMgybVqLFNldFRlbmFudCBhcyDJtWt9IGZyb20gJy4vbGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zJztcbmV4cG9ydCB7RHluYW1pY0xheW91dENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCB7Um91dGVyT3V0bGV0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge0F1dG9mb2N1c0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0lucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSBhcyDJtXp9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxsaXBzaXNEaXJlY3RpdmUgYXMgybV1fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0Zvcm1TdWJtaXREaXJlY3RpdmUgYXMgybV2fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5leHBvcnQge1Blcm1pc3Npb25EaXJlY3RpdmUgYXMgybV4fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7Q2xpY2tFdmVudFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSBhcyDJtWJhfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7VmlzaWJpbGl0eURpcmVjdGl2ZSBhcyDJtXl9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdmlzaWJpbGl0eS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBcGlJbnRlcmNlcHRvciBhcyDJtWJmfSBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmV4cG9ydCB7QUJQIGFzIMm1bCxQcm9maWxlIGFzIMm1Z30gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7TG9jYWxpemF0aW9uUGlwZSBhcyDJtXd9IGZyb20gJy4vbGliL3BpcGVzL2xvY2FsaXphdGlvbi5waXBlJztcbmV4cG9ydCB7Q29uZmlnUGx1Z2luIGFzIMm1YmUsTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgYXMgybViZH0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcvY29uZmlnLnBsdWdpbic7XG5leHBvcnQge0xvY2FsZUlkIGFzIMm1YmIsTG9jYWxlUHJvdmlkZXIgYXMgybViY30gZnJvbSAnLi9saWIvcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XG5leHBvcnQge0FwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgYXMgybVufSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2NhbGl6YXRpb25TZXJ2aWNlIGFzIMm1aX0gZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtQcm9maWxlU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZSc7XG5leHBvcnQge1Jlc3RTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29uZmlnU3RhdGUgYXMgybVzfSBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtW19IGZyb20gJy4vbGliL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuZXhwb3J0IHtQcm9maWxlU3RhdGUgYXMgybVhfSBmcm9tICcuL2xpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5leHBvcnQge1Nlc3Npb25TdGF0ZSBhcyDJtWh9IGZyb20gJy4vbGliL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmV4cG9ydCB7Z2V0SW5pdGlhbERhdGEgYXMgybViZyxsb2NhbGVJbml0aWFsaXplciBhcyDJtWJofSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js b/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js index 84c94ab070..001fc9351d 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js +++ b/npm/ng-packs/dist/core/esm2015/lib/components/dynamic-layout.component.js @@ -116,11 +116,11 @@ function findLayout(segments, routes) { * @return {?} */ c => c.path === segments[1].path)); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } } return layout; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQVd0QixNQUFNLE9BQU8sc0JBQXNCOzs7OztJQU1qQyxZQUFvQixNQUFjLEVBQVUsS0FBWTtRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO3NCQUM1QixFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87c0JBQ3BFLEVBQ0osWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3NCQUUzQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUM7YUFDNUc7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7O1lBL0JqQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7OztHQUtUO2FBQ0Y7Ozs7WUFqQnVCLE1BQU07WUFDYixLQUFLOztBQW1CcEI7SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztzQ0FDNUIsVUFBVTs2REFBc0I7OztJQUQvQywrQ0FDK0M7O0lBRS9DLHdDQUFrQjs7Ozs7SUFFTix3Q0FBc0I7Ozs7O0lBQUUsdUNBQW9COzs7Ozs7O0FBbUIxRCxTQUFTLFVBQVUsQ0FBQyxRQUFzQixFQUFFLE1BQXVCOztRQUM3RCxNQUFNLHNCQUFvQjs7VUFFeEIsS0FBSyxHQUFHLE1BQU07U0FDakIsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFFLEVBQUUsQ0FBQztTQUNuRixJQUFJOzs7O0lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7SUFFekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUM1RCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFFbkUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUN2QjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBBQlAsIENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXQgPyBjb21wb25lbnRPdXRsZXQgOiByb3V0ZXJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcm91dGVyT3V0bGV0Pjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3V0bGV0PjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyZXF1aXJlbWVudHMnKSlcbiAgcmVxdWlyZW1lbnRzJDogT2JzZXJ2YWJsZTxDb25maWcuUmVxdWlyZW1lbnRzPjtcblxuICBsYXlvdXQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IHsgc2VnbWVudHMgfSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGV2ZW50LnVybCkucm9vdC5jaGlsZHJlbi5wcmltYXJ5O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgcmVxdWlyZW1lbnRzOiB7IGxheW91dHMgfSxcbiAgICAgICAgICByb3V0ZXMsXG4gICAgICAgIH0gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFsbCk7XG5cbiAgICAgICAgY29uc3QgbGF5b3V0ID0gZmluZExheW91dChzZWdtZW50cywgcm91dGVzKTtcblxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dHMuZmlsdGVyKGwgPT4gISFsKS5maW5kKGwgPT4gc25xKCgpID0+IGwudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobGF5b3V0KSwgLTEpID4gLTEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuXG5mdW5jdGlvbiBmaW5kTGF5b3V0KHNlZ21lbnRzOiBVcmxTZWdtZW50W10sIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKTogZUxheW91dFR5cGUge1xuICBsZXQgbGF5b3V0ID0gZUxheW91dFR5cGUuZW1wdHk7XG5cbiAgY29uc3Qgcm91dGUgPSByb3V0ZXNcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gKHZhbC53cmFwcGVyID8gWy4uLmFjYywgLi4udmFsLmNoaWxkcmVuXSA6IFsuLi5hY2MsIHZhbF0pLCBbXSlcbiAgICAuZmluZChyID0+IHIucGF0aCA9PT0gc2VnbWVudHNbMF0ucGF0aCk7XG5cbiAgaWYgKHJvdXRlKSB7XG4gICAgaWYgKHJvdXRlLmxheW91dCkge1xuICAgICAgbGF5b3V0ID0gcm91dGUubGF5b3V0O1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGggJiYgc2VnbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgY2hpbGQgPSByb3V0ZS5jaGlsZHJlbi5maW5kKGMgPT4gYy5wYXRoID09PSBzZWdtZW50c1sxXS5wYXRoKTtcblxuICAgICAgaWYgKGNoaWxkLmxheW91dCkge1xuICAgICAgICBsYXlvdXQgPSBjaGlsZC5sYXlvdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxheW91dDtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQVd0QixNQUFNLE9BQU8sc0JBQXNCOzs7OztJQU1qQyxZQUFvQixNQUFjLEVBQVUsS0FBWTtRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO3NCQUM1QixFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87c0JBQ3BFLEVBQ0osWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3NCQUUzQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUc7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUM7YUFDNUc7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7O1lBL0JqQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7OztHQUtUO2FBQ0Y7Ozs7WUFqQnVCLE1BQU07WUFDYixLQUFLOztBQW1CcEI7SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztzQ0FDNUIsVUFBVTs2REFBc0I7OztJQUQvQywrQ0FDK0M7O0lBRS9DLHdDQUFrQjs7Ozs7SUFFTix3Q0FBc0I7Ozs7O0lBQUUsdUNBQW9COzs7Ozs7O0FBbUIxRCxTQUFTLFVBQVUsQ0FBQyxRQUFzQixFQUFFLE1BQXVCOztRQUM3RCxNQUFNLHNCQUFvQjs7VUFFeEIsS0FBSyxHQUFHLE1BQU07U0FDakIsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFFLEVBQUUsQ0FBQztTQUNuRixJQUFJOzs7O0lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7SUFFekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUM1RCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFFbkUsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDdkI7U0FDRjtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgQUJQLCBDb25maWcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWR5bmFtaWMtbGF5b3V0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0ID8gY29tcG9uZW50T3V0bGV0IDogcm91dGVyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI3JvdXRlck91dGxldD48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudE91dGxldD48bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImxheW91dFwiPjwvbmctY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldE9uZSgncmVxdWlyZW1lbnRzJykpXG4gIHJlcXVpcmVtZW50cyQ6IE9ic2VydmFibGU8Q29uZmlnLlJlcXVpcmVtZW50cz47XG5cbiAgbGF5b3V0OiBUeXBlPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWxEZXN0cm95KHRoaXMpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICBjb25zdCB7IHNlZ21lbnRzIH0gPSB0aGlzLnJvdXRlci5wYXJzZVVybChldmVudC51cmwpLnJvb3QuY2hpbGRyZW4ucHJpbWFyeTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHJlcXVpcmVtZW50czogeyBsYXlvdXRzIH0sXG4gICAgICAgICAgcm91dGVzLFxuICAgICAgICB9ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRBbGwpO1xuXG4gICAgICAgIGNvbnN0IGxheW91dCA9IGZpbmRMYXlvdXQoc2VnbWVudHMsIHJvdXRlcyk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXQgPSBsYXlvdXRzLmZpbHRlcihsID0+ICEhbCkuZmluZChsID0+IHNucSgoKSA9PiBsLnR5cGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGxheW91dCksIC0xKSA+IC0xKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cbn1cblxuZnVuY3Rpb24gZmluZExheW91dChzZWdtZW50czogVXJsU2VnbWVudFtdLCByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSk6IGVMYXlvdXRUeXBlIHtcbiAgbGV0IGxheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xuXG4gIGNvbnN0IHJvdXRlID0gcm91dGVzXG4gICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+ICh2YWwud3JhcHBlciA/IFsuLi5hY2MsIC4uLnZhbC5jaGlsZHJlbl0gOiBbLi4uYWNjLCB2YWxdKSwgW10pXG4gICAgLmZpbmQociA9PiByLnBhdGggPT09IHNlZ21lbnRzWzBdLnBhdGgpO1xuXG4gIGlmIChyb3V0ZSkge1xuICAgIGlmIChyb3V0ZS5sYXlvdXQpIHtcbiAgICAgIGxheW91dCA9IHJvdXRlLmxheW91dDtcbiAgICB9XG5cbiAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHNlZ21lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGNoaWxkID0gcm91dGUuY2hpbGRyZW4uZmluZChjID0+IGMucGF0aCA9PT0gc2VnbWVudHNbMV0ucGF0aCk7XG5cbiAgICAgIGlmIChjaGlsZCAmJiBjaGlsZC5sYXlvdXQpIHtcbiAgICAgICAgbGF5b3V0ID0gY2hpbGQubGF5b3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsYXlvdXQ7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/constants/different-locales.js b/npm/ng-packs/dist/core/esm2015/lib/constants/different-locales.js new file mode 100644 index 0000000000..6d324d10d7 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/constants/different-locales.js @@ -0,0 +1,37 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +export default { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW50LWxvY2FsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL2RpZmZlcmVudC1sb2NhbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLGVBQWU7SUFDYixPQUFPLEVBQUUsT0FBTztJQUNoQixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGlmZmVyZW50IGxvY2FsZXMgZnJvbSAuTkVUXG4vLyBLZXkgaXMgLk5FVCBsb2NhbGUsIHZhbHVlIGlzIEFuZ3VsYXIgbG9jYWxlXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgJ2FyLXNhJzogJ2FyLVNBJyxcbiAgJ2NhLUVTLXZhbGVuY2lhJzogJ2NhLUVTLVZBTEVOQ0lBJyxcbiAgJ2RlLWRlJzogJ2RlJyxcbiAgJ2VzLUVTJzogJ2VzJyxcbiAgJ2VuLVVTJzogJ2VuJyxcbiAgJ2ZpbC1MYXRuJzogJ2VuJyxcbiAgJ2t1LUFyYWInOiAnZW4nLFxuICAna3ktQ3lybCc6ICdlbicsXG4gICdtaS1MYXRuJzogJ2VuJyxcbiAgJ3Bycy1BcmFiJzogJ2VuJyxcbiAgJ3F1dC1MYXRuJzogJ2VuJyxcbiAgbnNvOiAnZW4nLFxuICBxdXo6ICdlbicsXG4gICdmci1GUic6ICdmcicsXG4gICdnZC1MYXRuJzogJ2dkJyxcbiAgJ2hhLUxhdG4nOiAnaGEnLFxuICAnaWctTGF0bic6ICdpZycsXG4gICdpdC1pdCc6ICdpdCcsXG4gICdtbi1DeXJsJzogJ21uJyxcbiAgJ3B0LUJSJzogJ3B0JyxcbiAgJ3NkLUFyYWInOiAncGEtQXJhYicsXG4gICdzci1DeXJsLVJTJzogJ3NyLUN5cmwnLFxuICAnc3ItTGF0bi1SUyc6ICdzci1MYXRuJyxcbiAgJ3RnLUN5cmwnOiAndGcnLFxuICAndGstTGF0bic6ICd0aycsXG4gICd0dC1DeXJsJzogJ3R0JyxcbiAgJ3VnLUFyYWInOiAndWcnLFxuICAneW8tTGF0bic6ICd5bycsXG59O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/constants/index.js b/npm/ng-packs/dist/core/esm2015/lib/constants/index.js new file mode 100644 index 0000000000..ec584bb715 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/constants/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { default } from './different-locales'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3QkFBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlmZmVyZW50LWxvY2FsZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/constants/locales-mapping.js b/npm/ng-packs/dist/core/esm2015/lib/constants/locales-mapping.js new file mode 100644 index 0000000000..5fc259373f --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/constants/locales-mapping.js @@ -0,0 +1,37 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +export default { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'en-US': 'en', + 'es-ES': 'es', + 'fil-Latn': 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'mn-Cyrl': 'mn', + nso: 'en', + 'prs-Arab': 'en', + 'pt-BR': 'pt', + 'qut-Latn': 'en', + quz: 'en', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlcy1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9sb2NhbGVzLW1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsZUFBZTtJQUNiLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsU0FBUztJQUN2QixZQUFZLEVBQUUsU0FBUztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBEaWZmZXJlbnQgbG9jYWxlcyBmcm9tIC5ORVRcbi8vIEtleSBpcyAuTkVUIGxvY2FsZSwgdmFsdWUgaXMgQW5ndWxhciBsb2NhbGVcblxuZXhwb3J0IGRlZmF1bHQge1xuICAnYXItc2EnOiAnYXItU0EnLFxuICAnY2EtRVMtdmFsZW5jaWEnOiAnY2EtRVMtVkFMRU5DSUEnLFxuICAnZGUtZGUnOiAnZGUnLFxuICAnZW4tVVMnOiAnZW4nLFxuICAnZXMtRVMnOiAnZXMnLFxuICAnZmlsLUxhdG4nOiAnZW4nLFxuICAnZnItRlInOiAnZnInLFxuICAnZ2QtTGF0bic6ICdnZCcsXG4gICdoYS1MYXRuJzogJ2hhJyxcbiAgJ2lnLUxhdG4nOiAnaWcnLFxuICAnaXQtaXQnOiAnaXQnLFxuICAna3UtQXJhYic6ICdlbicsXG4gICdreS1DeXJsJzogJ2VuJyxcbiAgJ21pLUxhdG4nOiAnZW4nLFxuICAnbW4tQ3lybCc6ICdtbicsXG4gIG5zbzogJ2VuJyxcbiAgJ3Bycy1BcmFiJzogJ2VuJyxcbiAgJ3B0LUJSJzogJ3B0JyxcbiAgJ3F1dC1MYXRuJzogJ2VuJyxcbiAgcXV6OiAnZW4nLFxuICAnc2QtQXJhYic6ICdwYS1BcmFiJyxcbiAgJ3NyLUN5cmwtUlMnOiAnc3ItQ3lybCcsXG4gICdzci1MYXRuLVJTJzogJ3NyLUxhdG4nLFxuICAndGctQ3lybCc6ICd0ZycsXG4gICd0ay1MYXRuJzogJ3RrJyxcbiAgJ3R0LUN5cmwnOiAndHQnLFxuICAndWctQXJhYic6ICd1ZycsXG4gICd5by1MYXRuJzogJ3lvJyxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/core.module.js b/npm/ng-packs/dist/core/esm2015/lib/core.module.js index a8aa5c9574..937d91ead1 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/core.module.js +++ b/npm/ng-packs/dist/core/esm2015/lib/core.module.js @@ -12,19 +12,21 @@ import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; import { DynamicLayoutComponent } from './components/dynamic-layout.component'; import { RouterOutletComponent } from './components/router-outlet.component'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { EllipsisDirective } from './directives/ellipsis.directive'; +import { FormSubmitDirective } from './directives/form-submit.directive'; import { PermissionDirective } from './directives/permission.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; import { VisibilityDirective } from './directives/visibility.directive'; import { ApiInterceptor } from './interceptors/api.interceptor'; import { LocalizationPipe } from './pipes/localization.pipe'; -import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin'; +import { LocaleProvider } from './providers/locale.provider'; import { ConfigState } from './states/config.state'; import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; -import { getInitialData } from './utils/initial-utils'; -import { EllipsisDirective } from './directives/ellipsis.directive'; -import { AutofocusDirective } from './directives/autofocus.directive'; -import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; +import { getInitialData, localeInitializer } from './utils/initial-utils'; +import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin'; export class CoreModule { /** * @param {?=} options @@ -34,6 +36,7 @@ export class CoreModule { return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: NGXS_PLUGINS, useClass: ConfigPlugin, @@ -54,6 +57,12 @@ export class CoreModule { deps: [Injector], useFactory: getInitialData, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: localeInitializer, + }, ], }; } @@ -75,6 +84,7 @@ CoreModule.decorators = [ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -91,6 +101,7 @@ CoreModule.decorators = [ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -102,4 +113,4 @@ CoreModule.decorators = [ entryComponents: [RouterOutletComponent, DynamicLayoutComponent], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUE0QzdGLE1BQU0sT0FBTyxVQUFVOzs7OztJQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxtQkFBQSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBckVGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQztvQkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO29CQUNoQyxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQixrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQiwyQkFBMkI7b0JBQzNCLGdCQUFnQjtvQkFDaEIsa0NBQWtDO2lCQUNuQztnQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0IsZUFBZSxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7YUFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c1N0b3JhZ2VQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yYWdlLXBsdWdpbic7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBOR1hTX1BMVUdJTlMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBDb25maWdQbHVnaW4sIE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuaW1wb3J0IHsgUHJvZmlsZVN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IEVsbGlwc2lzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtSb3V0ZXJPdXRsZXRDb21wb25lbnQsIER5bmFtaWNMYXlvdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IENvbmZpZ1BsdWdpbixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEFwaUludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0YsT0FB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Y29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IE5neHNTdG9yYWdlUGx1Z2luTW9kdWxlIH0gZnJvbSAnQG5neHMvc3RvcmFnZS1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c01vZHVsZSwgTkdYU19QTFVHSU5TIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWxsaXBzaXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1TdWJtaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpY2tFdmVudFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5pbXBvcnQgeyBQcm9maWxlU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4vc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgZ2V0SW5pdGlhbERhdGEsIGxvY2FsZUluaXRpYWxpemVyIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IENvbmZpZ1BsdWdpbiwgTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgfSBmcm9tICcuL3BsdWdpbnMvY29uZmlnL2NvbmZpZy5wbHVnaW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxuICAgIFZpc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIFBlcm1pc3Npb25EaXJlY3RpdmUsXG4gICAgVmlzaWJpbGl0eURpcmVjdGl2ZSxcbiAgICBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtMb2NhbGl6YXRpb25QaXBlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbUm91dGVyT3V0bGV0Q29tcG9uZW50LCBEeW5hbWljTGF5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnMgPSB7fSBhcyBBQlAuUm9vdCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBMb2NhbGVQcm92aWRlcixcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfUExVR0lOUyxcbiAgICAgICAgICB1c2VDbGFzczogQ29uZmlnUGx1Z2luLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXBpSW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRJbml0aWFsRGF0YSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsZUluaXRpYWxpemVyLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js index c8f0e1201e..e5c16667df 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/ellipsis.directive.js @@ -13,17 +13,23 @@ export class EllipsisDirective { this.elRef = elRef; this.enabled = true; } + /** + * @return {?} + */ + get inlineClass() { + return this.enabled && this.width; + } /** * @return {?} */ get class() { - return this.enabled; + return this.enabled && !this.width; } /** * @return {?} */ get maxWidth() { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; } /** * @return {?} @@ -56,6 +62,7 @@ EllipsisDirective.propDecorators = { width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], + inlineClass: [{ type: HostBinding, args: ['class.abp-ellipsis-inline',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; @@ -77,4 +84,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQXFCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDOzs7O0lBVjNFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQWY5QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFZSCxrQ0FBZ0M7Ozs7O0lBQUUsa0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thYnBFbGxpcHNpc10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ2FicEVsbGlwc2lzJylcbiAgd2lkdGg6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXG4gIGVuYWJsZWQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkID8gdGhpcy53aWR0aCB8fCAnMTcwcHgnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgdGhpcy50aXRsZSA9IHRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcblxuICAgICAgaWYgKHRoaXMudGl0bGUgIT09IHRpdGxlKSB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRyxNQUFNLE9BQU8saUJBQWlCOzs7OztJQTBCNUIsWUFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFqQnZFLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFpQjJELENBQUM7Ozs7SUFmM0UsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQzs7OztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQzs7OztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUM7Ozs7SUFJRCxrQkFBa0I7UUFDaEIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBSjBCLGlCQUFpQjtZQUFhLFVBQVU7OztvQkFNaEUsS0FBSyxTQUFDLGFBQWE7b0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7c0JBR0wsS0FBSyxTQUFDLG9CQUFvQjswQkFHMUIsV0FBVyxTQUFDLDJCQUEyQjtvQkFLdkMsV0FBVyxTQUFDLG9CQUFvQjt1QkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7OztJQXBCOUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBaUJILGtDQUFnQzs7Ozs7SUFBRSxrQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FicEVsbGlwc2lzXScsXG59KVxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgnYWJwRWxsaXBzaXMnKVxuICB3aWR0aDogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygndGl0bGUnKVxuICBASW5wdXQoKVxuICB0aXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgnYWJwRWxsaXBzaXNFbmFibGVkJylcbiAgZW5hYmxlZCA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hYnAtZWxsaXBzaXMtaW5saW5lJylcbiAgZ2V0IGlubGluZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQgJiYgdGhpcy53aWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzJylcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQgJiYgIXRoaXMud2lkdGg7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkICYmIHRoaXMud2lkdGggPyB0aGlzLndpZHRoIHx8ICcxNzBweCcgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgICB0aGlzLnRpdGxlID0gdGl0bGUgfHwgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuXG4gICAgICBpZiAodGhpcy50aXRsZSAhPT0gdGl0bGUpIHtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/form-submit.directive.js b/npm/ng-packs/dist/core/esm2015/lib/directives/form-submit.directive.js new file mode 100644 index 0000000000..977728f096 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/form-submit.directive.js @@ -0,0 +1,139 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, Output, Self, } from '@angular/core'; +import { FormGroupDirective } from '@angular/forms'; +import { fromEvent } from 'rxjs'; +import { debounceTime, filter } from 'rxjs/operators'; +import { takeUntilDestroy } from '../utils'; +export class FormSubmitDirective { + /** + * @param {?} formGroupDirective + * @param {?} host + * @param {?} cdRef + */ + constructor(formGroupDirective, host, cdRef) { + this.formGroupDirective = formGroupDirective; + this.host = host; + this.cdRef = cdRef; + this.ngSubmit = new EventEmitter(); + this.executedNgSubmit = false; + } + /** + * @return {?} + */ + ngOnInit() { + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe((/** + * @return {?} + */ + () => { + this.markAsDirty(); + this.executedNgSubmit = true; + })); + fromEvent((/** @type {?} */ (this.host.nativeElement)), 'keyup') + .pipe(debounceTime(200), filter((/** + * @param {?} key + * @return {?} + */ + (key) => key && key.key === 'Enter')), takeUntilDestroy(this)) + .subscribe((/** + * @return {?} + */ + () => { + if (!this.executedNgSubmit) { + this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + this.executedNgSubmit = false; + })); + fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this), filter((/** + * @return {?} + */ + () => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'))) + .subscribe((/** + * @return {?} + */ + () => { + if (!this.executedNgSubmit) { + this.markAsDirty(); + } + })); + } + /** + * @return {?} + */ + ngOnDestroy() { } + /** + * @return {?} + */ + markAsDirty() { + const { form } = this.formGroupDirective; + setDirty((/** @type {?} */ (form.controls))); + form.markAsDirty(); + this.cdRef.detectChanges(); + } +} +FormSubmitDirective.decorators = [ + { type: Directive, args: [{ + selector: 'form[ngSubmit][formGroup]', + },] } +]; +/** @nocollapse */ +FormSubmitDirective.ctorParameters = () => [ + { type: FormGroupDirective, decorators: [{ type: Self }] }, + { type: ElementRef }, + { type: ChangeDetectorRef } +]; +FormSubmitDirective.propDecorators = { + notValidateOnSubmit: [{ type: Input }], + ngSubmit: [{ type: Output }] +}; +if (false) { + /** @type {?} */ + FormSubmitDirective.prototype.notValidateOnSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.ngSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.executedNgSubmit; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.formGroupDirective; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.host; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.cdRef; +} +/** + * @param {?} controls + * @return {?} + */ +function setDirty(controls) { + if (Array.isArray(controls)) { + controls.forEach((/** + * @param {?} group + * @return {?} + */ + group => { + setDirty((/** @type {?} */ (group.controls))); + })); + return; + } + Object.keys(controls).forEach((/** + * @param {?} key + * @return {?} + */ + key => { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + })); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMEIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTzVDLE1BQU0sT0FBTyxtQkFBbUI7Ozs7OztJQVM5QixZQUNrQixrQkFBc0MsRUFDOUMsSUFBaUMsRUFDakMsS0FBd0I7UUFGaEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUM5QyxTQUFJLEdBQUosSUFBSSxDQUE2QjtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQVBsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU5QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFNL0IsQ0FBQzs7OztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUMzRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDLEVBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBZSxFQUFFLE9BQU8sQ0FBQzthQUN2RCxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNOzs7O1FBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUMsRUFDMUQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNqRztZQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxFQUFDLENBQUM7UUFFTCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO2FBQ3pDLElBQUksQ0FDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFDdEIsTUFBTTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksT0FBTyxJQUFJLENBQUMsbUJBQW1CLEtBQUssUUFBUSxFQUFDLENBQ3hGO2FBQ0EsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsV0FBVyxLQUFVLENBQUM7Ozs7SUFFdEIsV0FBVztjQUNILEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjtRQUV4QyxRQUFRLENBQUMsbUJBQUEsSUFBSSxDQUFDLFFBQVEsRUFBa0MsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OztZQTNERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7OztZQVRnQyxrQkFBa0IsdUJBb0I5QyxJQUFJO1lBNUJQLFVBQVU7WUFGVixpQkFBaUI7OztrQ0FxQmhCLEtBQUs7dUJBR0wsTUFBTTs7OztJQUhQLGtEQUNzQzs7SUFFdEMsdUNBQzhCOztJQUU5QiwrQ0FBa0M7Ozs7O0lBR2hDLGlEQUFzRDs7Ozs7SUFDdEQsbUNBQXlDOzs7OztJQUN6QyxvQ0FBZ0M7Ozs7OztBQStDcEMsU0FBUyxRQUFRLENBQUMsUUFBa0I7SUFDbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLFFBQVEsQ0FBQyxPQUFPOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxRQUFRLEVBQWtDLENBQUMsQ0FBQztRQUM3RCxDQUFDLEVBQUMsQ0FBQztRQUNILE9BQU87S0FDUjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTzs7OztJQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDLEVBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG50eXBlIENvbnRyb2xzID0geyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9IHwgRm9ybUdyb3VwW107XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bbmdTdWJtaXRdW2Zvcm1Hcm91cF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtU3VibWl0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBub3RWYWxpZGF0ZU9uU3VibWl0OiBzdHJpbmcgfCBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBuZ1N1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBleGVjdXRlZE5nU3VibWl0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBwcml2YXRlIGZvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZjxIVE1MRm9ybUVsZW1lbnQ+LFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXBEaXJlY3RpdmUubmdTdWJtaXQucGlwZSh0YWtlVW50aWxEZXN0cm95KHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5leGVjdXRlZE5nU3VibWl0ID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIGZyb21FdmVudCh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCwgJ2tleXVwJylcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkua2V5ID09PSAnRW50ZXInKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXhlY3V0ZWROZ1N1Ym1pdCkge1xuICAgICAgICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzdWJtaXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leGVjdXRlZE5nU3VibWl0ID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudCh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgJ3N1Ym1pdCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLm5vdFZhbGlkYXRlT25TdWJtaXQgJiYgdHlwZW9mIHRoaXMubm90VmFsaWRhdGVPblN1Ym1pdCAhPT0gJ3N0cmluZycpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5leGVjdXRlZE5nU3VibWl0KSB7XG4gICAgICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cblxuICBtYXJrQXNEaXJ0eSgpIHtcbiAgICBjb25zdCB7IGZvcm0gfSA9IHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlO1xuXG4gICAgc2V0RGlydHkoZm9ybS5jb250cm9scyBhcyB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH0pO1xuICAgIGZvcm0ubWFya0FzRGlydHkoKTtcblxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldERpcnR5KGNvbnRyb2xzOiBDb250cm9scykge1xuICBpZiAoQXJyYXkuaXNBcnJheShjb250cm9scykpIHtcbiAgICBjb250cm9scy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICAgIHNldERpcnR5KGdyb3VwLmNvbnRyb2xzIGFzIHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgT2JqZWN0LmtleXMoY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICBjb250cm9sc1trZXldLm1hcmtBc0RpcnR5KCk7XG4gICAgY29udHJvbHNba2V5XS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH0pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/directives/index.js b/npm/ng-packs/dist/core/esm2015/lib/directives/index.js index 58ddf9b1e1..a90d5a4597 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/directives/index.js +++ b/npm/ng-packs/dist/core/esm2015/lib/directives/index.js @@ -4,6 +4,7 @@ */ export { AutofocusDirective } from './autofocus.directive'; export { EllipsisDirective } from './ellipsis.directive'; +export { FormSubmitDirective } from './form-submit.directive'; export { PermissionDirective } from './permission.directive'; export { VisibilityDirective } from './visibility.directive'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMseUJBQXlCLENBQUM7QUFDeEMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/guards/permission.guard.js b/npm/ng-packs/dist/core/esm2015/lib/guards/permission.guard.js index 6193247499..5864580dcf 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/guards/permission.guard.js +++ b/npm/ng-packs/dist/core/esm2015/lib/guards/permission.guard.js @@ -5,6 +5,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; +import { tap } from 'rxjs/operators'; +import { RestOccurError } from '../actions'; import * as i0 from "@angular/core"; import * as i1 from "@ngxs/store"; export class PermissionGuard { @@ -21,7 +23,15 @@ export class PermissionGuard { canActivate({ data }) { /** @type {?} */ const resource = (/** @type {?} */ (data.requiredPolicy)); - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(tap((/** + * @param {?} access + * @return {?} + */ + access => { + if (!access) { + this.store.dispatch(new RestOccurError({ status: 403 })); + } + }))); } } PermissionGuard.decorators = [ @@ -41,4 +51,4 @@ if (false) { */ PermissionGuard.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUt4QyxNQUFNLE9BQU8sZUFBZTs7OztJQUMxQixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRXBDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBMEI7O2NBQ3BDLFFBQVEsR0FBRyxtQkFBQSxJQUFJLENBQUMsY0FBYyxFQUFVO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7O1lBVEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTlEsS0FBSzs7Ozs7Ozs7SUFRQSxnQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgY2FuQWN0aXZhdGUoeyBkYXRhIH06IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXNvdXJjZSA9IGRhdGEucmVxdWlyZWRQb2xpY3kgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTdGF0ZS5nZXRHcmFudGVkUG9saWN5KHJlc291cmNlKSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQUs1QyxNQUFNLE9BQU8sZUFBZTs7OztJQUMxQixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRXBDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBMEI7O2NBQ3BDLFFBQVEsR0FBRyxtQkFBQSxJQUFJLENBQUMsY0FBYyxFQUFVO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRDtRQUNILENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUFmRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFSUSxLQUFLOzs7Ozs7OztJQVVBLGdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgY2FuQWN0aXZhdGUoeyBkYXRhIH06IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXNvdXJjZSA9IGRhdGEucmVxdWlyZWRQb2xpY3kgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTdGF0ZS5nZXRHcmFudGVkUG9saWN5KHJlc291cmNlKSkucGlwZShcbiAgICAgIHRhcChhY2Nlc3MgPT4ge1xuICAgICAgICBpZiAoIWFjY2Vzcykge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKHsgc3RhdHVzOiA0MDMgfSkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/models/rest.js b/npm/ng-packs/dist/core/esm2015/lib/models/rest.js index 5ae10ff110..22f647ce82 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/models/rest.js +++ b/npm/ng-packs/dist/core/esm2015/lib/models/rest.js @@ -11,7 +11,7 @@ export var Rest; Rest.Config = Config; if (false) { /** @type {?|undefined} */ - Config.prototype.throwErr; + Config.prototype.skipHandleError; /** @type {?|undefined} */ Config.prototype.observe; } @@ -40,4 +40,4 @@ export var Rest; Request.prototype.withCredentials; } })(Rest || (Rest = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLElBQUksQ0FxQ3BCO0FBckNELFdBQWlCLElBQUk7Ozs7SUFDbkIscUJBR0M7Ozs7UUFGQywwQkFBbUI7O1FBQ25CLHlCQUFrQjs7Ozs7O0lBZ0JwQixzQkFpQkM7Ozs7UUFoQkMsdUJBQVM7O1FBQ1QsMEJBSU07O1FBQ04seUJBQWU7O1FBQ2YseUJBSU07O1FBQ04saUNBQXlCOztRQUN6QiwrQkFBNEI7O1FBQzVCLHNCQUFZOztRQUNaLGtDQUEwQjs7QUFFOUIsQ0FBQyxFQXJDZ0IsSUFBSSxLQUFKLElBQUksUUFxQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICB0aHJvd0Vycj86IGJvb2xlYW47XG4gICAgb2JzZXJ2ZT86IE9ic2VydmU7XG4gIH1cblxuICBleHBvcnQgY29uc3QgZW51bSBPYnNlcnZlIHtcbiAgICBCb2R5ID0gJ2JvZHknLFxuICAgIEV2ZW50cyA9ICdldmVudHMnLFxuICAgIFJlc3BvbnNlID0gJ3Jlc3BvbnNlJyxcbiAgfVxuXG4gIGV4cG9ydCBjb25zdCBlbnVtIFJlc3BvbnNlVHlwZSB7XG4gICAgQXJyYXlCdWZmZXIgPSAnYXJyYXlidWZmZXInLFxuICAgIEJsb2IgPSAnYmxvYicsXG4gICAgSlNPTiA9ICdqc29uJyxcbiAgICBUZXh0ID0gJ3RleHQnLFxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0PFQ+IHtcbiAgICBib2R5PzogVDtcbiAgICBoZWFkZXJzPzpcbiAgICAgIHwgSHR0cEhlYWRlcnNcbiAgICAgIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIHBhcmFtcz86XG4gICAgICB8IEh0dHBQYXJhbXNcbiAgICAgIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogYW55O1xuICAgICAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiBSZXNwb25zZVR5cGU7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLElBQUksQ0FxQ3BCO0FBckNELFdBQWlCLElBQUk7Ozs7SUFDbkIscUJBR0M7Ozs7UUFGQyxpQ0FBMEI7O1FBQzFCLHlCQUFrQjs7Ozs7O0lBZ0JwQixzQkFpQkM7Ozs7UUFoQkMsdUJBQVM7O1FBQ1QsMEJBSU07O1FBQ04seUJBQWU7O1FBQ2YseUJBSU07O1FBQ04saUNBQXlCOztRQUN6QiwrQkFBNEI7O1FBQzVCLHNCQUFZOztRQUNaLGtDQUEwQjs7QUFFOUIsQ0FBQyxFQXJDZ0IsSUFBSSxLQUFKLElBQUksUUFxQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICBza2lwSGFuZGxlRXJyb3I/OiBib29sZWFuO1xuICAgIG9ic2VydmU/OiBPYnNlcnZlO1xuICB9XG5cbiAgZXhwb3J0IGNvbnN0IGVudW0gT2JzZXJ2ZSB7XG4gICAgQm9keSA9ICdib2R5JyxcbiAgICBFdmVudHMgPSAnZXZlbnRzJyxcbiAgICBSZXNwb25zZSA9ICdyZXNwb25zZScsXG4gIH1cblxuICBleHBvcnQgY29uc3QgZW51bSBSZXNwb25zZVR5cGUge1xuICAgIEFycmF5QnVmZmVyID0gJ2FycmF5YnVmZmVyJyxcbiAgICBCbG9iID0gJ2Jsb2InLFxuICAgIEpTT04gPSAnanNvbicsXG4gICAgVGV4dCA9ICd0ZXh0JyxcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdDxUPiB7XG4gICAgYm9keT86IFQ7XG4gICAgaGVhZGVycz86XG4gICAgICB8IEh0dHBIZWFkZXJzXG4gICAgICB8IHtcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICBwYXJhbXM/OlxuICAgICAgfCBIdHRwUGFyYW1zXG4gICAgICB8IHtcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IGFueTtcbiAgICAgICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgcmVzcG9uc2VUeXBlPzogUmVzcG9uc2VUeXBlO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/pipes/localization.pipe.js b/npm/ng-packs/dist/core/esm2015/lib/pipes/localization.pipe.js index ee0673bbab..510dcde809 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/pipes/localization.pipe.js +++ b/npm/ng-packs/dist/core/esm2015/lib/pipes/localization.pipe.js @@ -6,23 +6,26 @@ import { Pipe } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; import { takeUntilDestroy } from '../utils'; -import { distinctUntilChanged } from 'rxjs/operators'; +import { distinctUntilChanged, takeUntil } from 'rxjs/operators'; +import { Subject } from 'rxjs'; export class LocalizationPipe { /** * @param {?} store */ constructor(store) { this.store = store; - this.initialized = false; + this.initialValue = ''; + this.destroy$ = new Subject(); } /** - * @param {?} value + * @param {?=} value * @param {...?} interpolateParams * @return {?} */ - transform(value, ...interpolateParams) { - if (!this.initialized) { - this.initialized = true; + transform(value = '', ...interpolateParams) { + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); this.store .select(ConfigState.getCopy(value, ...interpolateParams.reduce((/** * @param {?} acc @@ -30,7 +33,7 @@ export class LocalizationPipe { * @return {?} */ (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val])), []))) - .pipe(takeUntilDestroy(this), distinctUntilChanged()) + .pipe(takeUntil(this.destroy$), takeUntilDestroy(this), distinctUntilChanged()) .subscribe((/** * @param {?} copy * @return {?} @@ -56,13 +59,15 @@ LocalizationPipe.ctorParameters = () => [ ]; if (false) { /** @type {?} */ - LocalizationPipe.prototype.initialized; + LocalizationPipe.prototype.initialValue; /** @type {?} */ LocalizationPipe.prototype.value; + /** @type {?} */ + LocalizationPipe.prototype.destroy$; /** * @type {?} * @private */ LocalizationPipe.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNdEQsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUszQixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQUpoQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUlNLENBQUM7Ozs7OztJQUVwQyxTQUFTLENBQUMsS0FBYSxFQUFFLEdBQUcsaUJBQTJCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBRXhCLElBQUksQ0FBQyxLQUFLO2lCQUNQLE1BQU0sQ0FDTCxXQUFXLENBQUMsT0FBTyxDQUNqQixLQUFLLEVBQ0wsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNOzs7OztZQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FDdkcsQ0FDRjtpQkFDQSxJQUFJLENBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQ3RCLG9CQUFvQixFQUFFLENBQ3ZCO2lCQUNBLFNBQVM7Ozs7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7O1lBaENqQixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsSUFBSSxFQUFFLEtBQUs7YUFDWjs7OztZQVJRLEtBQUs7Ozs7SUFVWix1Q0FBNkI7O0lBRTdCLGlDQUFjOzs7OztJQUVGLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FicExvY2FsaXphdGlvbicsXG4gIHB1cmU6IGZhbHNlLCAvLyByZXF1aXJlZCB0byB1cGRhdGUgdGhlIHZhbHVlXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBpbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KFxuICAgICAgICAgIENvbmZpZ1N0YXRlLmdldENvcHkoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIC4uLmludGVycG9sYXRlUGFyYW1zLnJlZHVjZSgoYWNjLCB2YWwpID0+IChBcnJheS5pc0FycmF5KHZhbCkgPyBbLi4uYWNjLCAuLi52YWxdIDogWy4uLmFjYywgdmFsXSksIFtdKSxcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGNvcHkgPT4gKHRoaXMudmFsdWUgPSBjb3B5KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNL0IsTUFBTSxPQUFPLGdCQUFnQjs7OztJQU8zQixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQU5oQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUkxQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVVLENBQUM7Ozs7OztJQUVwQyxTQUFTLENBQUMsUUFBZ0IsRUFBRSxFQUFFLEdBQUcsaUJBQTJCO1FBQzFELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVyQixJQUFJLENBQUMsS0FBSztpQkFDUCxNQUFNLENBQ0wsV0FBVyxDQUFDLE9BQU8sQ0FDakIsS0FBSyxFQUNMLEdBQUcsaUJBQWlCLENBQUMsTUFBTTs7Ozs7WUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUUsRUFBRSxDQUFDLENBQ3ZHLENBQ0Y7aUJBQ0EsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUN0QixvQkFBb0IsRUFBRSxDQUN2QjtpQkFDQSxTQUFTOzs7O1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUMsQ0FBQztTQUMzQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7O0lBRUQsV0FBVyxLQUFJLENBQUM7OztZQXBDakIsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxLQUFLO2FBQ1o7Ozs7WUFUUSxLQUFLOzs7O0lBV1osd0NBQTBCOztJQUUxQixpQ0FBYzs7SUFFZCxvQ0FBeUI7Ozs7O0lBRWIsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhYnBMb2NhbGl6YXRpb24nLFxuICBwdXJlOiBmYWxzZSwgLy8gcmVxdWlyZWQgdG8gdXBkYXRlIHRoZSB2YWx1ZVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgaW5pdGlhbFZhbHVlOiBzdHJpbmcgPSAnJztcblxuICB2YWx1ZTogc3RyaW5nO1xuXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyA9ICcnLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmluaXRpYWxWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblxuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KFxuICAgICAgICAgIENvbmZpZ1N0YXRlLmdldENvcHkoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIC4uLmludGVycG9sYXRlUGFyYW1zLnJlZHVjZSgoYWNjLCB2YWwpID0+IChBcnJheS5pc0FycmF5KHZhbCkgPyBbLi4uYWNjLCAuLi52YWxdIDogWy4uLmFjYywgdmFsXSksIFtdKSxcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShjb3B5ID0+ICh0aGlzLnZhbHVlID0gY29weSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js index 268f6e12d5..317262fc8f 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/config.plugin.js @@ -125,14 +125,10 @@ function transformRoutes(routes = [], wrappers = []) { transformed.push(abpPackage); } if (transformed.length === length) { - transformed.push((/** @type {?} */ ({ - path: route.path, - name: snq((/** + transformed.push((/** @type {?} */ (Object.assign({}, route.data.routes, { path: route.path, name: snq((/** * @return {?} */ - () => route.data.routes.name), route.path), - children: route.data.routes.children || [], - }))); + () => route.data.routes.name), route.path), children: route.data.routes.children || [] })))); } })); return { routes: setUrls(transformed), wrappers }; @@ -163,4 +159,4 @@ function setUrls(routes, parentUrl) { children: setUrls(route.children, `/${route.path}`), }))))); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQWdDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUcsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFdEQsTUFBTSxPQUFPLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFDLDRCQUE0QixDQUFDO0FBRzFGLE1BQU0sT0FBTyxZQUFZOzs7OztJQUd2QixZQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyxNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjs7Y0FDN0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7O2NBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUUvRCw2R0FBNkc7UUFDN0csSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxN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QUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUM5QixDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsQ0FBQyxFQUNKLEVBQUMsQ0FBQztLQUNMO0lBRUQsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztJQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQ2xCLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7UUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMuZmluZChyID0+IHIucGF0aCA9PT0gcm91dGUucGF0aCksIGZhbHNlKTtcbiAgICB9KVxuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwuZGF0YS5yb3V0ZXNdLCBbXSk7XG5cbiAgd3JhcHBlcnMgPSBhYnBSb3V0ZXMuZmlsdGVyKGFyID0+IGFyLndyYXBwZXIpO1xuICBjb25zdCB0cmFuc2Zvcm1lZCA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXTtcbiAgcm91dGVzXG4gICAgLmZpbHRlcihyb3V0ZSA9PiAocm91dGUuZGF0YSB8fCB7fSkucm91dGVzICYmIChyb3V0ZS5jb21wb25lbnQgfHwgcm91dGUubG9hZENoaWxkcmVuKSlcbiAgICAuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBhYnBQYWNrYWdlID0gYWJwUm91dGVzLmZpbmQoXG4gICAgICAgIGFicCA9PiBhYnAucGF0aC50b0xvd2VyQ2FzZSgpID09PSByb3V0ZS5wYXRoLnRvTG93ZXJDYXNlKCkgJiYgc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQWdDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUcsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFdEQsTUFBTSxPQUFPLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFDLDRCQUE0QixDQUFDO0FBRzFGLE1BQU0sT0FBTyxZQUFZOzs7OztJQUd2QixZQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyxNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjs7Y0FDN0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7O2NBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUUvRCw2R0FBNkc7UUFDN0csSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxN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O0FBRUQsU0FBUyxPQUFPLENBQUMsTUFBdUIsRUFBRSxTQUFrQjtJQUMxRCxJQUFJLFNBQVMsRUFBRTtRQUNiLDhDQUE4QztRQUU5QyxPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFDdEIsS0FBSyxJQUNSLEdBQUcsRUFBRSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQzlCLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7WUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoRSxDQUFDLEVBQ0osRUFBQyxDQUFDO0tBQ0w7SUFFRCxPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFDdEIsS0FBSyxJQUNSLEdBQUcsRUFBRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFDbEIsQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtRQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEQsQ0FBQyxFQUNKLEVBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhY3Rpb25NYXRjaGVyLCBJbml0U3RhdGUsIE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIHNldFZhbHVlLCBVcGRhdGVTdGF0ZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUycpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnUGx1Z2luIGltcGxlbWVudHMgTmd4c1BsdWdpbiB7XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IEFCUC5Sb290LCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGFjdGlvbk1hdGNoZXIoZXZlbnQpO1xuICAgIGNvbnN0IGlzSW5pdEFjdGlvbiA9IG1hdGNoZXMoSW5pdFN0YXRlKSB8fCBtYXRjaGVzKFVwZGF0ZVN0YXRlKTtcblxuICAgIC8vIGNvbnN0IGxheW91dHMgPSBzbnEoKCkgPT4gdGhpcy5vcHRpb25zLnJlcXVpcmVtZW50cy5sYXlvdXRzLmZpbHRlcihsYXlvdXQgPT4gbGF5b3V0IGluc3RhbmNlb2YgVHlwZSksIFtdKTtcbiAgICBpZiAoaXNJbml0QWN0aW9uICYmICF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICBsZXQgeyByb3V0ZXMsIHdyYXBwZXJzIH0gPSB0cmFuc2Zvcm1Sb3V0ZXModGhpcy5yb3V0ZXIuY29uZmlnKTtcbiAgICAgIHJvdXRlcyA9IG9yZ2FuaXplUm91dGVzKHJvdXRlcywgd3JhcHBlcnMpO1xuXG4gICAgICBzdGF0ZSA9IHNldFZhbHVlKHN0YXRlLCAnQ29uZmlnU3RhdGUnLCB7XG4gICAgICAgIC4uLihzdGF0ZS5Db25maWdTdGF0ZSAmJiB7IC4uLnN0YXRlLkNvbmZpZ1N0YXRlIH0pLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgIHJvdXRlcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvdXRlcyhyb3V0ZXM6IFJvdXRlcyA9IFtdLCB3cmFwcGVyczogQUJQLkZ1bGxSb3V0ZVtdID0gW10pOiBhbnkge1xuICBjb25zdCBhYnBSb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IHJvdXRlc1xuICAgIC5maWx0ZXIocm91dGUgPT4ge1xuICAgICAgcmV0dXJuIHNucSgoKSA9PiByb3V0ZS5kYXRhLnJvdXRlcy5maW5kKHIgPT4gci5wYXRoID09PSByb3V0ZS5wYXRoKSwgZmFsc2UpO1xuICAgIH0pXG4gICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5kYXRhLnJvdXRlc10sIFtdKTtcblxuICB3cmFwcGVycyA9IGFicFJvdXRlcy5maWx0ZXIoYXIgPT4gYXIud3JhcHBlcik7XG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuICByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IChyb3V0ZS5kYXRhIHx8IHt9KS5yb3V0ZXMgJiYgKHJvdXRlLmNvbXBvbmVudCB8fCByb3V0ZS5sb2FkQ2hpbGRyZW4pKVxuICAgIC5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIGNvbnN0IGFicFBhY2thZ2UgPSBhYnBSb3V0ZXMuZmluZChcbiAgICAgICAgYWJwID0+IGFicC5wYXRoLnRvTG93ZXJDYXNlKCkgPT09IHJvdXRlLnBhdGgudG9Mb3dlckNhc2UoKSAmJiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMubGVuZ3RoLCBmYWxzZSksXG4gICAgICApO1xuICAgICAgY29uc3QgeyBsZW5ndGggfSA9IHRyYW5zZm9ybWVkO1xuXG4gICAgICBpZiAoYWJwUGFja2FnZSkge1xuICAgICAgICB0cmFuc2Zvcm1lZC5wdXNoKGFicFBhY2thZ2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHJhbnNmb3JtZWQubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaCh7XG4gICAgICAgICAgLi4ucm91dGUuZGF0YS5yb3V0ZXMsXG4gICAgICAgICAgcGF0aDogcm91dGUucGF0aCxcbiAgICAgICAgICBuYW1lOiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMubmFtZSwgcm91dGUucGF0aCksXG4gICAgICAgICAgY2hpbGRyZW46IHJvdXRlLmRhdGEucm91dGVzLmNoaWxkcmVuIHx8IFtdLFxuICAgICAgICB9IGFzIEFCUC5GdWxsUm91dGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiB7IHJvdXRlczogc2V0VXJscyh0cmFuc2Zvcm1lZCksIHdyYXBwZXJzIH07XG59XG5cbmZ1bmN0aW9uIHNldFVybHMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhcmVudFVybD86IHN0cmluZyk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGlmIChwYXJlbnRVcmwpIHtcbiAgICAvLyB0aGlzIGlmIGJsb2NrIHVzaW5nIGZvciBvbmx5IHJlY3Vyc2l2ZSBjYWxsXG5cbiAgICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgICAgLi4ucm91dGUsXG4gICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWAsXG4gICAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgICBjaGlsZHJlbjogc2V0VXJscyhyb3V0ZS5jaGlsZHJlbiwgYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9YCksXG4gICAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXMubWFwKHJvdXRlID0+ICh7XG4gICAgLi4ucm91dGUsXG4gICAgdXJsOiBgLyR7cm91dGUucGF0aH1gLFxuICAgIC4uLihyb3V0ZS5jaGlsZHJlbiAmJlxuICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAvJHtyb3V0ZS5wYXRofWApLFxuICAgICAgfSksXG4gIH0pKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/config/config.plugin.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/config/config.plugin.js new file mode 100644 index 0000000000..c108438ed6 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/config/config.plugin.js @@ -0,0 +1,162 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Inject, Injectable, InjectionToken } from '@angular/core'; +import { Router } from '@angular/router'; +import { actionMatcher, InitState, setValue, UpdateState } from '@ngxs/store'; +import snq from 'snq'; +import { organizeRoutes } from '../../utils/route-utils'; +/** @type {?} */ +export const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS'); +export class ConfigPlugin { + /** + * @param {?} options + * @param {?} router + */ + constructor(options, router) { + this.options = options; + this.router = router; + this.initialized = false; + } + /** + * @param {?} state + * @param {?} event + * @param {?} next + * @return {?} + */ + handle(state, event, next) { + /** @type {?} */ + const matches = actionMatcher(event); + /** @type {?} */ + const isInitAction = matches(InitState) || matches(UpdateState); + // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []); + if (isInitAction && !this.initialized) { + let { routes, wrappers } = transformRoutes(this.router.config); + routes = organizeRoutes(routes, wrappers); + state = setValue(state, 'ConfigState', Object.assign({}, (state.ConfigState && Object.assign({}, state.ConfigState)), this.options, { routes })); + this.initialized = true; + } + return next(state, event); + } +} +ConfigPlugin.decorators = [ + { type: Injectable } +]; +/** @nocollapse */ +ConfigPlugin.ctorParameters = () => [ + { type: undefined, decorators: [{ type: Inject, args: [NGXS_CONFIG_PLUGIN_OPTIONS,] }] }, + { type: Router } +]; +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} +/** + * @param {?=} routes + * @param {?=} wrappers + * @return {?} + */ +function transformRoutes(routes = [], wrappers = []) { + /** @type {?} */ + const abpRoutes = routes + .filter((/** + * @param {?} route + * @return {?} + */ + route => { + return snq((/** + * @return {?} + */ + () => route.data.routes.routes.find((/** + * @param {?} r + * @return {?} + */ + r => r.path === route.path))), false); + })) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + (acc, val) => [...acc, ...val.data.routes.routes]), []); + wrappers = abpRoutes.filter((/** + * @param {?} ar + * @return {?} + */ + ar => ar.wrapper)); + /** @type {?} */ + const transformed = (/** @type {?} */ ([])); + routes + .filter((/** + * @param {?} route + * @return {?} + */ + route => (route.data || {}).routes && (route.component || route.loadChildren))) + .forEach((/** + * @param {?} route + * @return {?} + */ + route => { + /** @type {?} */ + const abpPackage = abpRoutes.find((/** + * @param {?} abp + * @return {?} + */ + abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + () => route.data.routes.routes.length), false))); + const { length } = transformed; + if (abpPackage) { + transformed.push(abpPackage); + } + if (transformed.length === length) { + transformed.push((/** @type {?} */ (Object.assign({}, route.data.routes, { path: route.path, name: snq((/** + * @return {?} + */ + () => route.data.routes.name), route.path), children: route.data.routes.children || [] })))); + } + })); + return { routes: setUrls(transformed), wrappers }; +} +/** + * @param {?} routes + * @param {?=} parentUrl + * @return {?} + */ +function setUrls(routes, parentUrl) { + if (parentUrl) { + // this if block using for only recursive call + return routes.map((/** + * @param {?} route + * @return {?} + */ + route => (Object.assign({}, route, { url: `${parentUrl}/${route.path}` }, (route.children && + route.children.length && { + children: setUrls(route.children, `${parentUrl}/${route.path}`), + }))))); + } + return routes.map((/** + * @param {?} route + * @return {?} + */ + route => (Object.assign({}, route, { url: `/${route.path}` }, (route.children && + route.children.length && { + children: setUrls(route.children, `/${route.path}`), + }))))); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy9jb25maWcucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFnQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVHLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXpELE1BQU0sT0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQztBQUcxRixNQUFNLE9BQU8sWUFBWTs7Ozs7SUFHdkIsWUFBd0QsT0FBaUIsRUFBVSxNQUFjO1FBQXpDLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnpGLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRStELENBQUM7Ozs7Ozs7SUFFckcsTUFBTSxDQUFDLEtBQVUsRUFBRSxLQUFVLEVBQUUsSUFBc0I7O2NBQzdDLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDOztjQUM5QixZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFL0QsNkdBQTZHO1FBQzdHLElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDakMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlELE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsb0JBQ2hDLENBQUMsS0FBSyxDQUFDLFdBQVcsc0JBQVMsS0FBSyxDQUFDLFdBQVcsQ0FBRSxDQUFDLEVBQy9DLElBQUksQ0FBQyxPQUFPLElBQ2YsTUFBTSxJQUNOLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUF6QkYsVUFBVTs7Ozs0Q0FJSSxNQUFNLFNBQUMsMEJBQTBCO1lBWnZDLE1BQU07Ozs7Ozs7SUFVYixtQ0FBcUM7Ozs7O0lBRXpCLCtCQUE2RDs7Ozs7SUFBRSw4QkFBc0I7Ozs7Ozs7QUF3Qm5HLFNBQVMsZUFBZSxDQUFDLFNBQWlCLEVBQUUsRUFBRSxXQUE0QixFQUFFOztVQUNwRSxTQUFTLEdBQW9CLE1BQU07U0FDdEMsTUFBTTs7OztJQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2QsT0FBTyxHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFDLEdBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQyxFQUFDO1NBQ0QsTUFBTTs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRSxFQUFFLENBQUM7SUFFaEUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNOzs7O0lBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDLENBQUM7O1VBQ3hDLFdBQVcsR0FBRyxtQkFBQSxFQUFFLEVBQW1CO0lBQ3pDLE1BQU07U0FDSCxNQUFNOzs7O0lBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUM7U0FDckYsT0FBTzs7OztJQUFDLEtBQUssQ0FBQyxFQUFFOztjQUNULFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSTs7OztRQUMvQixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFFLEtBQUssQ0FBQyxFQUNoSDtjQUNLLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVztRQUU5QixJQUFJLFVBQVUsRUFBRTtZQUNkLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUI7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUMscUNBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUNoQixJQUFJLEVBQUUsR0FBRzs7O2dCQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ25ELFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxLQUMxQixDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDLEVBQUMsQ0FBQztJQUVMLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3BELENBQUM7Ozs7OztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUM5QixDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsQ0FBQyxFQUNKLEVBQUMsQ0FBQztLQUNMO0lBRUQsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztJQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQ2xCLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7UUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMucm91dGVzLmZpbmQociA9PiByLnBhdGggPT09IHJvdXRlLnBhdGgpLCBmYWxzZSk7XG4gICAgfSlcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLmRhdGEucm91dGVzLnJvdXRlc10sIFtdKTtcblxuICB3cmFwcGVycyA9IGFicFJvdXRlcy5maWx0ZXIoYXIgPT4gYXIud3JhcHBlcik7XG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuICByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IChyb3V0ZS5kYXRhIHx8IHt9KS5yb3V0ZXMgJiYgKHJvdXRlLmNvbXBvbmVudCB8fCByb3V0ZS5sb2FkQ2hpbGRyZW4pKVxuICAgIC5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIGNvbnN0IGFicFBhY2thZ2UgPSBhYnBSb3V0ZXMuZmluZChcbiAgICAgICAgYWJwID0+IGFicC5wYXRoLnRvTG93ZXJDYXNlKCkgPT09IHJvdXRlLnBhdGgudG9Mb3dlckNhc2UoKSAmJiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIC4uLnJvdXRlLmRhdGEucm91dGVzLFxuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/index.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/index.js index 451fc91aad..f82c22bb69 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/plugins/index.js +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './config.plugin'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseURBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5wbHVnaW4nO1xuIl19 \ No newline at end of file +export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './config/config.plugin'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseURBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy9jb25maWcucGx1Z2luJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/internals.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/internals.js new file mode 100644 index 0000000000..a2cd8b0d31 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/internals.js @@ -0,0 +1,84 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +const DOLLAR_CHAR_CODE = 36; +/** + * @param {?} name + * @return {?} + */ +export function removeDollarAtTheEnd(name) { + /** @type {?} */ + const lastCharIndex = name.length - 1; + /** @type {?} */ + const dollarAtTheEnd = name.charCodeAt(lastCharIndex) === DOLLAR_CHAR_CODE; + return dollarAtTheEnd ? name.slice(0, lastCharIndex) : name; +} +/** + * @param {?} selectorOrFeature + * @param {?} paths + * @return {?} + */ +export function getPropsArray(selectorOrFeature, paths) { + if (paths.length) { + return [selectorOrFeature, ...paths]; + } + return selectorOrFeature.split('.'); +} +/** + * @param {?} paths + * @return {?} + */ +function compliantPropGetter(paths) { + /** @type {?} */ + const copyOfPaths = [...paths]; + return (/** + * @param {?} obj + * @return {?} + */ + obj => copyOfPaths.reduce((/** + * @param {?} acc + * @param {?} part + * @return {?} + */ + (acc, part) => acc && acc[part]), obj)); +} +/** + * @param {?} paths + * @return {?} + */ +function fastPropGetter(paths) { + /** @type {?} */ + const segments = paths; + /** @type {?} */ + let seg = 'store.' + segments[0]; + /** @type {?} */ + let i = 0; + /** @type {?} */ + const l = segments.length; + /** @type {?} */ + let expr = seg; + while (++i < l) { + expr = expr + ' && ' + (seg = seg + '.' + segments[i]); + } + /** @type {?} */ + const fn = new Function('store', 'return ' + expr + ';'); + return (/** @type {?} */ (fn)); +} +/** + * @param {?} paths + * @param {?} config + * @return {?} + */ +export function propGetter(paths, config) { + if (config && config.compatibility && config.compatibility.strictContentSecurityPolicy) { + return compliantPropGetter(paths); + } + else { + return fastPropGetter(paths); + } +} +/** @type {?} */ +export const META_KEY = 'NGXS_META'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L2ludGVybmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztNQUVNLGdCQUFnQixHQUFHLEVBQUU7Ozs7O0FBRTNCLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFZOztVQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDOztVQUMvQixjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxnQkFBZ0I7SUFDMUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDOUQsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxpQkFBeUIsRUFBRSxLQUFlO0lBQ3RFLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNoQixPQUFPLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7Ozs7O0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFlOztVQUNwQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM5Qjs7OztJQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU07Ozs7O0lBQUMsQ0FBQyxHQUFRLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFFLEdBQUcsQ0FBQyxFQUFDO0FBQ3RGLENBQUM7Ozs7O0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBZTs7VUFDL0IsUUFBUSxHQUFHLEtBQUs7O1FBQ2xCLEdBQUcsR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQzs7UUFDNUIsQ0FBQyxHQUFHLENBQUM7O1VBQ0gsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNOztRQUVyQixJQUFJLEdBQUcsR0FBRztJQUNkLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2QsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN4RDs7VUFFSyxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBRXhELE9BQU8sbUJBQWlCLEVBQUUsRUFBQSxDQUFDO0FBQzdCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBZSxFQUFFLE1BQWtCO0lBQzVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsRUFBRTtRQUN0RixPQUFPLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ25DO1NBQU07UUFDTCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM5QjtBQUNILENBQUM7O0FBRUQsTUFBTSxPQUFPLFFBQVEsR0FBRyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJ0BuZ3hzL3N0b3JlL3NyYy9zeW1ib2xzJztcblxuY29uc3QgRE9MTEFSX0NIQVJfQ09ERSA9IDM2O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRG9sbGFyQXRUaGVFbmQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGFzdENoYXJJbmRleCA9IG5hbWUubGVuZ3RoIC0gMTtcbiAgY29uc3QgZG9sbGFyQXRUaGVFbmQgPSBuYW1lLmNoYXJDb2RlQXQobGFzdENoYXJJbmRleCkgPT09IERPTExBUl9DSEFSX0NPREU7XG4gIHJldHVybiBkb2xsYXJBdFRoZUVuZCA/IG5hbWUuc2xpY2UoMCwgbGFzdENoYXJJbmRleCkgOiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcHNBcnJheShzZWxlY3Rvck9yRmVhdHVyZTogc3RyaW5nLCBwYXRoczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGlmIChwYXRocy5sZW5ndGgpIHtcbiAgICByZXR1cm4gW3NlbGVjdG9yT3JGZWF0dXJlLCAuLi5wYXRoc107XG4gIH1cbiAgcmV0dXJuIHNlbGVjdG9yT3JGZWF0dXJlLnNwbGl0KCcuJyk7XG59XG5cbmZ1bmN0aW9uIGNvbXBsaWFudFByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdKTogKHg6IGFueSkgPT4gYW55IHtcbiAgY29uc3QgY29weU9mUGF0aHMgPSBbLi4ucGF0aHNdO1xuICByZXR1cm4gb2JqID0+IGNvcHlPZlBhdGhzLnJlZHVjZSgoYWNjOiBhbnksIHBhcnQ6IHN0cmluZykgPT4gYWNjICYmIGFjY1twYXJ0XSwgb2JqKTtcbn1cblxuZnVuY3Rpb24gZmFzdFByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdKTogKHg6IGFueSkgPT4gYW55IHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRocztcbiAgbGV0IHNlZyA9ICdzdG9yZS4nICsgc2VnbWVudHNbMF07XG4gIGxldCBpID0gMDtcbiAgY29uc3QgbCA9IHNlZ21lbnRzLmxlbmd0aDtcblxuICBsZXQgZXhwciA9IHNlZztcbiAgd2hpbGUgKCsraSA8IGwpIHtcbiAgICBleHByID0gZXhwciArICcgJiYgJyArIChzZWcgPSBzZWcgKyAnLicgKyBzZWdtZW50c1tpXSk7XG4gIH1cblxuICBjb25zdCBmbiA9IG5ldyBGdW5jdGlvbignc3RvcmUnLCAncmV0dXJuICcgKyBleHByICsgJzsnKTtcblxuICByZXR1cm4gPCh4OiBhbnkpID0+IGFueT5mbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdLCBjb25maWc6IE5neHNDb25maWcpIHtcbiAgaWYgKGNvbmZpZyAmJiBjb25maWcuY29tcGF0aWJpbGl0eSAmJiBjb25maWcuY29tcGF0aWJpbGl0eS5zdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3kpIHtcbiAgICByZXR1cm4gY29tcGxpYW50UHJvcEdldHRlcihwYXRocyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhc3RQcm9wR2V0dGVyKHBhdGhzKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/select-snapshot.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/select-snapshot.js new file mode 100644 index 0000000000..eccb46e520 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/select-snapshot.js @@ -0,0 +1,82 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { StaticInjector } from './static-injector'; +import { META_KEY, getPropsArray, propGetter, removeDollarAtTheEnd } from './internals'; +import { Store } from '@ngxs/store'; +import { NgxsConfig } from '@ngxs/store/src/symbols'; +/** + * @param {?=} selectorOrFeature + * @param {...?} paths + * @return {?} + */ +export function SelectSnapshot(selectorOrFeature, ...paths) { + return (/** + * @param {?} target + * @param {?} name + * @return {?} + */ + (target, name) => { + /** @type {?} */ + const selectorFnName = `__${name}__selector`; + if (!selectorOrFeature) { + selectorOrFeature = removeDollarAtTheEnd(name); + } + /** @type {?} */ + const createSelector = (/** + * @param {?} selectorOrFeature + * @return {?} + */ + (selectorOrFeature) => { + /** @type {?} */ + const config = getConfig(); + if (typeof selectorOrFeature === 'string') { + /** @type {?} */ + const propsArray = getPropsArray(selectorOrFeature, paths); + return propGetter(propsArray, config); + } + else if (selectorOrFeature[META_KEY] && selectorOrFeature[META_KEY].path) { + return propGetter(selectorOrFeature[META_KEY].path.split('.'), config); + } + else { + return selectorOrFeature; + } + }); + if (delete target[name]) { + Object.defineProperty(target, selectorFnName, { + writable: true, + enumerable: false, + configurable: true, + }); + Object.defineProperty(target, name, { + get: (/** + * @return {?} + */ + function () { + // Create anonymous function that will map to the needed state only once + /** @type {?} */ + const selector = this[selectorFnName] || (this[selectorFnName] = createSelector(selectorOrFeature)); + /** @type {?} */ + const store = getStore(); + return store.selectSnapshot(selector); + }), + enumerable: true, + configurable: true, + }); + } + }); +} +/** + * @return {?} + */ +function getStore() { + return StaticInjector.injector.get(Store); +} +/** + * @return {?} + */ +function getConfig() { + return StaticInjector.injector.get(NgxsConfig); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L3NlbGVjdC1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBRXJELE1BQU0sVUFBVSxjQUFjLENBQUMsaUJBQXVCLEVBQUUsR0FBRyxLQUFlO0lBQ3hFOzs7OztJQUFPLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxFQUFFOztjQUM3QixjQUFjLEdBQUcsS0FBSyxJQUFJLFlBQVk7UUFFNUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RCLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hEOztjQUVLLGNBQWM7Ozs7UUFBRyxDQUFDLGlCQUFzQixFQUFFLEVBQUU7O2tCQUMxQyxNQUFNLEdBQUcsU0FBUyxFQUFFO1lBRTFCLElBQUksT0FBTyxpQkFBaUIsS0FBSyxRQUFRLEVBQUU7O3NCQUNuQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztnQkFDMUQsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUMxRSxPQUFPLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3hFO2lCQUFNO2dCQUNMLE9BQU8saUJBQWlCLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUE7UUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRTtnQkFDNUMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDbEMsR0FBRzs7O2dCQUFFOzs7MEJBRUcsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs7MEJBQzdGLEtBQUssR0FBRyxRQUFRLEVBQUU7b0JBQ3hCLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFBO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsRUFBQztBQUNKLENBQUM7Ozs7QUFFRCxTQUFTLFFBQVE7SUFDZixPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFRLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7Ozs7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBYSxVQUFVLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGljSW5qZWN0b3IgfSBmcm9tICcuL3N0YXRpYy1pbmplY3Rvcic7XG5pbXBvcnQgeyBNRVRBX0tFWSwgZ2V0UHJvcHNBcnJheSwgcHJvcEdldHRlciwgcmVtb3ZlRG9sbGFyQXRUaGVFbmQgfSBmcm9tICcuL2ludGVybmFscyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICdAbmd4cy9zdG9yZS9zcmMvc3ltYm9scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RTbmFwc2hvdChzZWxlY3Rvck9yRmVhdHVyZT86IGFueSwgLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm5OYW1lID0gYF9fJHtuYW1lfV9fc2VsZWN0b3JgO1xuXG4gICAgaWYgKCFzZWxlY3Rvck9yRmVhdHVyZSkge1xuICAgICAgc2VsZWN0b3JPckZlYXR1cmUgPSByZW1vdmVEb2xsYXJBdFRoZUVuZChuYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVTZWxlY3RvciA9IChzZWxlY3Rvck9yRmVhdHVyZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcblxuICAgICAgaWYgKHR5cGVvZiBzZWxlY3Rvck9yRmVhdHVyZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgcHJvcHNBcnJheSA9IGdldFByb3BzQXJyYXkoc2VsZWN0b3JPckZlYXR1cmUsIHBhdGhzKTtcbiAgICAgICAgcmV0dXJuIHByb3BHZXR0ZXIocHJvcHNBcnJheSwgY29uZmlnKTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3JPckZlYXR1cmVbTUVUQV9LRVldICYmIHNlbGVjdG9yT3JGZWF0dXJlW01FVEFfS0VZXS5wYXRoKSB7XG4gICAgICAgIHJldHVybiBwcm9wR2V0dGVyKHNlbGVjdG9yT3JGZWF0dXJlW01FVEFfS0VZXS5wYXRoLnNwbGl0KCcuJyksIGNvbmZpZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3JPckZlYXR1cmU7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChkZWxldGUgdGFyZ2V0W25hbWVdKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBzZWxlY3RvckZuTmFtZSwge1xuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgLy8gQ3JlYXRlIGFub255bW91cyBmdW5jdGlvbiB0aGF0IHdpbGwgbWFwIHRvIHRoZSBuZWVkZWQgc3RhdGUgb25seSBvbmNlXG4gICAgICAgICAgY29uc3Qgc2VsZWN0b3IgPSB0aGlzW3NlbGVjdG9yRm5OYW1lXSB8fCAodGhpc1tzZWxlY3RvckZuTmFtZV0gPSBjcmVhdGVTZWxlY3RvcihzZWxlY3Rvck9yRmVhdHVyZSkpO1xuICAgICAgICAgIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoKTtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuc2VsZWN0U25hcHNob3Qoc2VsZWN0b3IpO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlKCk6IFN0b3JlIHtcbiAgcmV0dXJuIFN0YXRpY0luamVjdG9yLmluamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xufVxuXG5mdW5jdGlvbiBnZXRDb25maWcoKTogTmd4c0NvbmZpZyB7XG4gIHJldHVybiBTdGF0aWNJbmplY3Rvci5pbmplY3Rvci5nZXQ8Tmd4c0NvbmZpZz4oTmd4c0NvbmZpZyk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/static-injector.js b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/static-injector.js new file mode 100644 index 0000000000..2a53963287 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/plugins/select-snapshot/static-injector.js @@ -0,0 +1,26 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injector, Injectable } from '@angular/core'; +export class StaticInjector { + /** + * @param {?} injector + */ + constructor(injector) { + StaticInjector.injector = injector; + } +} +StaticInjector.injector = null; +StaticInjector.decorators = [ + { type: Injectable } +]; +/** @nocollapse */ +StaticInjector.ctorParameters = () => [ + { type: Injector } +]; +if (false) { + /** @type {?} */ + StaticInjector.injector; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L3N0YXRpYy1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQsTUFBTSxPQUFPLGNBQWM7Ozs7SUFHekIsWUFBWSxRQUFrQjtRQUM1QixjQUFjLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNyQyxDQUFDOztBQUphLHVCQUFRLEdBQW9CLElBQUksQ0FBQzs7WUFGaEQsVUFBVTs7OztZQUZGLFFBQVE7Ozs7SUFJZix3QkFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RhdGljSW5qZWN0b3Ige1xuICBwdWJsaWMgc3RhdGljIGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIFN0YXRpY0luamVjdG9yLmluamVjdG9yID0gaW5qZWN0b3I7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/providers/locale.provider.js b/npm/ng-packs/dist/core/esm2015/lib/providers/locale.provider.js new file mode 100644 index 0000000000..784119276c --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/providers/locale.provider.js @@ -0,0 +1,43 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { LOCALE_ID } from '@angular/core'; +import localesMapping from '../constants/different-locales'; +import { LocalizationService } from '../services/localization.service'; +export class LocaleId extends String { + /** + * @param {?} localizationService + */ + constructor(localizationService) { + super(); + this.localizationService = localizationService; + } + /** + * @return {?} + */ + toString() { + const { currentLang } = this.localizationService; + return localesMapping[currentLang] || currentLang; + } + /** + * @return {?} + */ + valueOf() { + return this.toString(); + } +} +if (false) { + /** + * @type {?} + * @private + */ + LocaleId.prototype.localizationService; +} +/** @type {?} */ +export const LocaleProvider = { + provide: LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9sb2NhbGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxjQUFjLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsTUFBTSxPQUFPLFFBQVMsU0FBUSxNQUFNOzs7O0lBQ2xDLFlBQW9CLG1CQUF3QztRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQURVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFFNUQsQ0FBQzs7OztJQUVELFFBQVE7Y0FDQSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUI7UUFDaEQsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDO0lBQ3BELENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNGOzs7Ozs7SUFaYSx1Q0FBZ0Q7OztBQWM5RCxNQUFNLE9BQU8sY0FBYyxHQUFhO0lBQ3RDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDO0NBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTE9DQUxFX0lELCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGxvY2FsZXNNYXBwaW5nIGZyb20gJy4uL2NvbnN0YW50cy9kaWZmZXJlbnQtbG9jYWxlcyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxlSWQgZXh0ZW5kcyBTdHJpbmcge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IGN1cnJlbnRMYW5nIH0gPSB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2U7XG4gICAgcmV0dXJuIGxvY2FsZXNNYXBwaW5nW2N1cnJlbnRMYW5nXSB8fCBjdXJyZW50TGFuZztcbiAgfVxuXG4gIHZhbHVlT2YoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBMb2NhbGVQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IExPQ0FMRV9JRCxcbiAgdXNlQ2xhc3M6IExvY2FsZUlkLFxuICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXG59O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/providers/reuse-strategy.provider.js b/npm/ng-packs/dist/core/esm2015/lib/providers/reuse-strategy.provider.js new file mode 100644 index 0000000000..a569143492 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/providers/reuse-strategy.provider.js @@ -0,0 +1,58 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { RouteReuseStrategy } from '@angular/router'; +export class CustomRouteReuseStategy { + constructor() { + this.handlers = {}; + } + /** + * @param {?} route + * @return {?} + */ + shouldDetach(route) { + return route.data.shouldReuse || false; + } + /** + * @param {?} route + * @param {?} handle + * @return {?} + */ + store(route, handle) { + // if (route.data.shouldReuse) { + this.handlers[route.routeConfig.path] = handle; + // } + } + /** + * @param {?} route + * @return {?} + */ + shouldAttach(route) { + return !!route.routeConfig && !!this.handlers[route.routeConfig.path]; + } + /** + * @param {?} route + * @return {?} + */ + retrieve(route) { + if (!route.routeConfig) + return null; + return this.handlers[route.routeConfig.path]; + } + /** + * @param {?} future + * @param {?} curr + * @return {?} + */ + shouldReuseRoute(future, curr) { + return future.data.shouldReuse || true; + } +} +if (false) { + /** @type {?} */ + CustomRouteReuseStategy.prototype.handlers; +} +/** @type {?} */ +export const RouteReuseProvider = { provide: RouteReuseStrategy, useClass: CustomRouteReuseStategy }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2Utc3RyYXRlZ3kucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcHJvdmlkZXJzL3JldXNlLXN0cmF0ZWd5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQStDLE1BQU0saUJBQWlCLENBQUM7QUFFbEcsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLGFBQVEsR0FBMkMsRUFBRSxDQUFDO0lBd0J4RCxDQUFDOzs7OztJQXRCQyxZQUFZLENBQUMsS0FBNkI7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBRUQsS0FBSyxDQUFDLEtBQTZCLEVBQUUsTUFBVTtRQUM3QyxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMvQyxJQUFJO0lBQ04sQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBNkI7UUFDeEMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLEtBQTZCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7Ozs7OztJQUVELGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDM0UsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztDQUNGOzs7SUF4QkMsMkNBQXNEOzs7QUEwQnhELE1BQU0sT0FBTyxrQkFBa0IsR0FBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3ksIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIERldGFjaGVkUm91dGVIYW5kbGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tUm91dGVSZXVzZVN0YXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICBoYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiBEZXRhY2hlZFJvdXRlSGFuZGxlIH0gPSB7fTtcblxuICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcm91dGUuZGF0YS5zaG91bGRSZXVzZSB8fCBmYWxzZTtcbiAgfVxuXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IHt9KTogdm9pZCB7XG4gICAgLy8gaWYgKHJvdXRlLmRhdGEuc2hvdWxkUmV1c2UpIHtcbiAgICB0aGlzLmhhbmRsZXJzW3JvdXRlLnJvdXRlQ29uZmlnLnBhdGhdID0gaGFuZGxlO1xuICAgIC8vIH1cbiAgfVxuXG4gIHNob3VsZEF0dGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXJvdXRlLnJvdXRlQ29uZmlnICYmICEhdGhpcy5oYW5kbGVyc1tyb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoXTtcbiAgfVxuXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KToge30ge1xuICAgIGlmICghcm91dGUucm91dGVDb25maWcpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZXJzW3JvdXRlLnJvdXRlQ29uZmlnLnBhdGhdO1xuICB9XG5cbiAgc2hvdWxkUmV1c2VSb3V0ZShmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZnV0dXJlLmRhdGEuc2hvdWxkUmV1c2UgfHwgdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgUm91dGVSZXVzZVByb3ZpZGVyOiBQcm92aWRlciA9IHsgcHJvdmlkZTogUm91dGVSZXVzZVN0cmF0ZWd5LCB1c2VDbGFzczogQ3VzdG9tUm91dGVSZXVzZVN0YXRlZ3kgfTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/services/localization.service.js b/npm/ng-packs/dist/core/esm2015/lib/services/localization.service.js index ec0c7969f2..8b2eb27d28 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/services/localization.service.js +++ b/npm/ng-packs/dist/core/esm2015/lib/services/localization.service.js @@ -2,17 +2,63 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Injectable } from '@angular/core'; -import { Store } from '@ngxs/store'; -import { ConfigState } from '../states'; +import * as tslib_1 from "tslib"; +import { Injectable, Optional, SkipSelf } from '@angular/core'; +import { Router } from '@angular/router'; +import { Actions, Store } from '@ngxs/store'; +import { noop } from 'rxjs'; +import { ConfigState } from '../states/config.state'; +import { SessionState } from '../states/session.state'; +import { registerLocale } from '../utils/initial-utils'; import * as i0 from "@angular/core"; import * as i1 from "@ngxs/store"; +import * as i2 from "@angular/router"; export class LocalizationService { /** * @param {?} store + * @param {?} router + * @param {?} actions + * @param {?} otherInstance */ - constructor(store) { + constructor(store, router, actions, otherInstance) { this.store = store; + this.router = router; + this.actions = actions; + if (otherInstance) + throw new Error('LocaleService should have only one instance.'); + } + /** + * @return {?} + */ + get currentLang() { + return this.store.selectSnapshot(SessionState.getLanguage); + } + /** + * @private + * @param {?} reuse + * @return {?} + */ + setRouteReuse(reuse) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + } + /** + * @param {?} locale + * @return {?} + */ + registerLocale(locale) { + const { shouldReuseRoute } = this.router.routeReuseStrategy; + this.setRouteReuse((/** + * @return {?} + */ + () => false)); + this.router.navigated = false; + return registerLocale(locale).then((/** + * @return {?} + */ + () => tslib_1.__awaiter(this, void 0, void 0, function* () { + yield this.router.navigateByUrl(this.router.url).catch(noop); + this.setRouteReuse(shouldReuseRoute); + }))); } /** * @param {?} keys @@ -36,14 +82,27 @@ LocalizationService.decorators = [ ]; /** @nocollapse */ LocalizationService.ctorParameters = () => [ - { type: Store } + { type: Store }, + { type: Router }, + { type: Actions }, + { type: LocalizationService, decorators: [{ type: Optional }, { type: SkipSelf }] } ]; -/** @nocollapse */ LocalizationService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.Store)); }, token: LocalizationService, providedIn: "root" }); +/** @nocollapse */ LocalizationService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.Store), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i1.Actions), i0.ɵɵinject(LocalizationService, 12)); }, token: LocalizationService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ LocalizationService.prototype.store; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.router; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFJeEMsTUFBTSxPQUFPLG1CQUFtQjs7OztJQUM5QixZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7OztJQUVwQyxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsaUJBQTJCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7Ozs7O0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxHQUFHLGlCQUEyQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OztZQVZGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7WUFKekIsS0FBSzs7Ozs7Ozs7SUFNQSxvQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgZ2V0KGtleXM6IHN0cmluZywgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU3RhdGUuZ2V0Q29weShrZXlzLCAuLi5pbnRlcnBvbGF0ZVBhcmFtcykpO1xuICB9XG5cbiAgaW5zdGFudChrZXlzOiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0Q29weShrZXlzLCAuLi5pbnRlcnBvbGF0ZVBhcmFtcykpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBS3hELE1BQU0sT0FBTyxtQkFBbUI7Ozs7Ozs7SUFLOUIsWUFDVSxLQUFZLEVBQ1osTUFBYyxFQUNkLE9BQWdCLEVBR3hCLGFBQWtDO1FBTDFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUt4QixJQUFJLGFBQWE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDckYsQ0FBQzs7OztJQWJELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7Ozs7OztJQWFPLGFBQWEsQ0FBQyxLQUF1QjtRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxNQUFjO2NBQ3JCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtRQUUzRCxJQUFJLENBQUMsYUFBYTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTlCLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUk7OztRQUFDLEdBQVMsRUFBRTtZQUM1QyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUEsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRUQsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFHLGlCQUEyQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Ozs7OztJQUVELE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBRyxpQkFBMkI7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOzs7WUF2Q0YsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztZQVJoQixLQUFLO1lBRFUsTUFBTTtZQUM5QixPQUFPO1lBb0JHLG1CQUFtQix1QkFGakMsUUFBUSxZQUNSLFFBQVE7Ozs7Ozs7O0lBSlQsb0NBQW9COzs7OztJQUNwQixxQ0FBc0I7Ozs7O0lBQ3RCLHNDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbnMsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgbm9vcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvY29uZmlnLnN0YXRlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlIH0gZnJvbSAnLi4vdXRpbHMvaW5pdGlhbC11dGlscyc7XG5cbnR5cGUgU2hvdWxkUmV1c2VSb3V0ZSA9IChmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IGJvb2xlYW47XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uU2VydmljZSB7XG4gIGdldCBjdXJyZW50TGFuZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aW9uczogQWN0aW9ucyxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBTa2lwU2VsZigpXG4gICAgb3RoZXJJbnN0YW5jZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgaWYgKG90aGVySW5zdGFuY2UpIHRocm93IG5ldyBFcnJvcignTG9jYWxlU2VydmljZSBzaG91bGQgaGF2ZSBvbmx5IG9uZSBpbnN0YW5jZS4nKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Um91dGVSZXVzZShyZXVzZTogU2hvdWxkUmV1c2VSb3V0ZSkge1xuICAgIHRoaXMucm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlID0gcmV1c2U7XG4gIH1cblxuICByZWdpc3RlckxvY2FsZShsb2NhbGU6IHN0cmluZykge1xuICAgIGNvbnN0IHsgc2hvdWxkUmV1c2VSb3V0ZSB9ID0gdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5O1xuXG4gICAgdGhpcy5zZXRSb3V0ZVJldXNlKCgpID0+IGZhbHNlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiByZWdpc3RlckxvY2FsZShsb2NhbGUpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJvdXRlci51cmwpLmNhdGNoKG5vb3ApO1xuICAgICAgdGhpcy5zZXRSb3V0ZVJldXNlKHNob3VsZFJldXNlUm91dGUpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0KGtleXM6IHN0cmluZywgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU3RhdGUuZ2V0Q29weShrZXlzLCAuLi5pbnRlcnBvbGF0ZVBhcmFtcykpO1xuICB9XG5cbiAgaW5zdGFudChrZXlzOiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0Q29weShrZXlzLCAuLi5pbnRlcnBvbGF0ZVBhcmFtcykpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js b/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js index 8465c71244..7001818476 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js +++ b/npm/ng-packs/dist/core/esm2015/lib/services/profile.service.js @@ -39,17 +39,17 @@ export class ProfileService { } /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ - changePassword(body, throwErr = false) { + changePassword(body, skipHandleError = false) { /** @type {?} */ const request = { method: 'POST', url: '/api/identity/my-profile/change-password', body, }; - return this.rest.request(request, { throwErr }); + return this.rest.request(request, { skipHandleError }); } } ProfileService.decorators = [ @@ -69,4 +69,4 @@ if (false) { */ ProfileService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sY0FBYzs7OztJQUN6QixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6QyxHQUFHOztjQUNLLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsSUFBc0I7O2NBQ3JCLE9BQU8sR0FBbUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1lBQy9CLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Ozs7OztJQUVELGNBQWMsQ0FBQyxJQUFtQyxFQUFFLFdBQW9CLEtBQUs7O2NBQ3JFLE9BQU8sR0FBZ0Q7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsMENBQTBDO1lBQy9DLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXNDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7O1lBakNGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUxRLFdBQVc7Ozs7Ozs7O0lBT04sOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlLCBSZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBQcm9maWxlLlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZShib2R5OiBQcm9maWxlLlJlc3BvbnNlKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2U+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5SZXNwb25zZSwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChib2R5OiBQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdCwgdGhyb3dFcnI6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZS9jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0LCBudWxsPihyZXF1ZXN0LCB7IHRocm93RXJyIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sY0FBYzs7OztJQUN6QixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6QyxHQUFHOztjQUNLLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsSUFBc0I7O2NBQ3JCLE9BQU8sR0FBbUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsMEJBQTBCO1lBQy9CLElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Ozs7OztJQUVELGNBQWMsQ0FBQyxJQUFtQyxFQUFFLGtCQUEyQixLQUFLOztjQUM1RSxPQUFPLEdBQWdEO1lBQzNELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDBDQUEwQztZQUMvQyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQyxPQUFPLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7OztZQWpDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMUSxXQUFXOzs7Ozs7OztJQU9OLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZSwgUmVzdCB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGUoYm9keTogUHJvZmlsZS5SZXNwb25zZSk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLlJlc3BvbnNlPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2UsIFByb2ZpbGUuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgY2hhbmdlUGFzc3dvcmQoYm9keTogUHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QsIHNraXBIYW5kbGVFcnJvcjogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9teS1wcm9maWxlL2NoYW5nZS1wYXNzd29yZCcsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QsIG51bGw+KHJlcXVlc3QsIHsgc2tpcEhhbmRsZUVycm9yIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/services/rest.service.js b/npm/ng-packs/dist/core/esm2015/lib/services/rest.service.js index bce18259b2..2e51f5f44b 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/services/rest.service.js +++ b/npm/ng-packs/dist/core/esm2015/lib/services/rest.service.js @@ -6,7 +6,7 @@ import * as tslib_1 from "tslib"; import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { NEVER, throwError } from 'rxjs'; +import { throwError } from 'rxjs'; import { catchError, take } from 'rxjs/operators'; import { ConfigState } from '../states'; import { RestOccurError } from '../actions'; @@ -29,7 +29,7 @@ export class RestService { handleError(err) { this.store.dispatch(new RestOccurError(err)); console.error(err); - return NEVER; + return throwError(err); } /** * @template T, R @@ -39,7 +39,7 @@ export class RestService { * @return {?} */ request(request, config = {}, api) { - const { observe = "body" /* Body */, throwErr } = config; + const { observe = "body" /* Body */, skipHandleError } = config; /** @type {?} */ const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; const { method } = request, options = tslib_1.__rest(request, ["method"]); @@ -48,7 +48,7 @@ export class RestService { * @return {?} */ err => { - if (throwErr) { + if (skipHandleError) { return throwError(err); } return this.handleError(err); @@ -78,4 +78,4 @@ if (false) { */ RestService.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFLNUMsTUFBTSxPQUFPLFdBQVc7Ozs7O0lBQ3RCLFlBQW9CLElBQWdCLEVBQVUsS0FBWTtRQUF0QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRTlELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7Ozs7O0lBRUQsT0FBTyxDQUFPLE9BQXlDLEVBQUUsU0FBc0IsRUFBRSxFQUFFLEdBQVk7Y0FDdkYsRUFBRSxPQUFPLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU07O2NBQ2xELEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUc7Y0FDN0UsRUFBRSxNQUFNLEtBQWlCLE9BQU8sRUFBdEIsNkNBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsR0FBRyxFQUFFLG1DQUFFLE9BQU8sSUFBSyxPQUFPLEdBQVMsQ0FBQyxDQUFDLElBQUksQ0FDM0UsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzlDLFVBQVU7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1lBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUExQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBWFEsVUFBVTtZQUVWLEtBQUs7Ozs7Ozs7O0lBV0EsMkJBQXdCOzs7OztJQUFFLDRCQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBORVZFUiwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuLi9tb2RlbHMvcmVzdCc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBSZXN0T2NjdXJFcnJvciB9IGZyb20gJy4uL2FjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZXN0T2NjdXJFcnJvcihlcnIpKTtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgcmV0dXJuIE5FVkVSO1xuICB9XG5cbiAgcmVxdWVzdDxULCBSPihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxUPiB8IFJlc3QuUmVxdWVzdDxUPiwgY29uZmlnOiBSZXN0LkNvbmZpZyA9IHt9LCBhcGk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICBjb25zdCB7IG9ic2VydmUgPSBSZXN0Lk9ic2VydmUuQm9keSwgdGhyb3dFcnIgfSA9IGNvbmZpZztcbiAgICBjb25zdCB1cmwgPSBhcGkgfHwgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRBcGlVcmwoKSkgKyByZXF1ZXN0LnVybDtcbiAgICBjb25zdCB7IG1ldGhvZCwgLi4ub3B0aW9ucyB9ID0gcmVxdWVzdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8VD4obWV0aG9kLCB1cmwsIHsgb2JzZXJ2ZSwgLi4ub3B0aW9ucyB9IGFzIGFueSkucGlwZShcbiAgICAgIG9ic2VydmUgPT09IFJlc3QuT2JzZXJ2ZS5Cb2R5ID8gdGFrZSgxKSA6IG51bGwsXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIGlmICh0aHJvd0Vycikge1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcihlcnIpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFxQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFLNUMsTUFBTSxPQUFPLFdBQVc7Ozs7O0lBQ3RCLFlBQW9CLElBQWdCLEVBQVUsS0FBWTtRQUF0QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRTlELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7Ozs7OztJQUVELE9BQU8sQ0FBTyxPQUF5QyxFQUFFLFNBQXNCLEVBQUUsRUFBRSxHQUFZO2NBQ3ZGLEVBQUUsT0FBTyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxNQUFNOztjQUN6RCxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHO2NBQzdFLEVBQUUsTUFBTSxLQUFpQixPQUFPLEVBQXRCLDZDQUFVO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUksTUFBTSxFQUFFLEdBQUcsRUFBRSxtQ0FBRSxPQUFPLElBQUssT0FBTyxHQUFTLENBQUMsQ0FBQyxJQUFJLENBQzNFLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUM5QyxVQUFVOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEI7WUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OztZQTFCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFYUSxVQUFVO1lBRVYsS0FBSzs7Ozs7Ozs7SUFXQSwyQkFBd0I7Ozs7O0lBQUUsNEJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5FVkVSLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdCB9IGZyb20gJy4uL21vZGVscy9yZXN0JztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgaGFuZGxlRXJyb3IoZXJyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKGVycikpO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICB9XG5cbiAgcmVxdWVzdDxULCBSPihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxUPiB8IFJlc3QuUmVxdWVzdDxUPiwgY29uZmlnOiBSZXN0LkNvbmZpZyA9IHt9LCBhcGk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICBjb25zdCB7IG9ic2VydmUgPSBSZXN0Lk9ic2VydmUuQm9keSwgc2tpcEhhbmRsZUVycm9yIH0gPSBjb25maWc7XG4gICAgY29uc3QgdXJsID0gYXBpIHx8IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBpVXJsKCkpICsgcmVxdWVzdC51cmw7XG4gICAgY29uc3QgeyBtZXRob2QsIC4uLm9wdGlvbnMgfSA9IHJlcXVlc3Q7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0PFQ+KG1ldGhvZCwgdXJsLCB7IG9ic2VydmUsIC4uLm9wdGlvbnMgfSBhcyBhbnkpLnBpcGUoXG4gICAgICBvYnNlcnZlID09PSBSZXN0Lk9ic2VydmUuQm9keSA/IHRha2UoMSkgOiBudWxsLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICBpZiAoc2tpcEhhbmRsZUVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKGVycik7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js index 36ad767d9b..240690d429 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/config.state.js @@ -82,6 +82,22 @@ let ConfigState = ConfigState_1 = class ConfigState { })); return selector; } + /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + static getRoute(path, name) { + /** @type {?} */ + const selector = createSelector([ConfigState_1], (/** + * @param {?} state + * @return {?} + */ + function (state) { + return findRoute(state.routes, path, name); + })); + return selector; + } /** * @param {?=} key * @return {?} @@ -240,12 +256,14 @@ let ConfigState = ConfigState_1 = class ConfigState { * @param {?} configuration * @return {?} */ - configuration => this.store.selectSnapshot(SessionState.getLanguage) - ? of(null) - : dispatch(new SetLanguage(snq((/** - * @return {?} - */ - () => configuration.setting.values['Abp.Localization.DefaultLanguage']))))))); + configuration => { + /** @type {?} */ + let defaultLang = configuration.setting.values['Abp.Localization.DefaultLanguage']; + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang)); + }))); } /** * @param {?} __0 @@ -348,4 +366,34 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { } return organizeRoutes(routes); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUE2QixjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztJQU1wRSxXQUFXLHlCQUFYLFdBQVc7Ozs7O0lBa0p0QixZQUFvQix1QkFBd0QsRUFBVSxLQUFZO1FBQTlFLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBaUM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFoSnRHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FB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Rzs7OztnQkFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUM5QyxLQUFLLElBQ1IsR0FBRyxFQUFFLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUMvQyxFQUFDLENBQUM7YUFDTDtZQUVELHlCQUFZLEtBQUssRUFBSyxRQUFRLEVBQUc7U0FDbEM7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsS0FBSyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsRUFBRTtRQUNiLGtCQUFrQjtRQUNsQixPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZywgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIFBhdGNoUm91dGVCeU5hbWUgfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBTZXRMYW5ndWFnZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZXRDaGlsZFJvdXRlLCBzb3J0Um91dGVzLCBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuQFN0YXRlPENvbmZpZy5TdGF0ZT4oe1xuICBuYW1lOiAnQ29uZmlnU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgQ29uZmlnLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBbGwoc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBcHBsaWNhdGlvbkluZm8oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbiB8fCB7fTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlW2tleV07XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVlcChrZXlzOiBzdHJpbmdbXSB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGtleXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhcmd1bWVudCBtdXN0IGJlIGEgZG90IHN0cmluZyBvciBhbiBzdHJpbmcgYXJyYXkuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXBpVXJsKGtleT86IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcGlzW2tleSB8fCAnZGVmYXVsdCddLnVybDtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXR0aW5nKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzbnEoKCkgPT4gc3RhdGUuc2V0dGluZy52YWx1ZXNba2V5XSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0R3JhbnRlZFBvbGljeShjb25kaXRpb246IHN0cmluZyA9ICcnKSB7XG4gICAgY29uc3Qga2V5cyA9IGNvbmRpdGlvblxuICAgICAgLnJlcGxhY2UoL1xcKHxcXCl8XFwhfFxccy9nLCAnJylcbiAgICAgIC5zcGxpdCgvXFx8XFx8fCYmLylcbiAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSk7XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFrZXlzLmxlbmd0aCkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgY29uc3QgZ2V0UG9saWN5ID0ga2V5ID0+IHNucSgoKSA9PiBzdGF0ZS5hdXRoLmdyYW50ZWRQb2xpY2llc1trZXldLCBmYWxzZSk7XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0UG9saWN5KGtleSk7XG4gICAgICAgICAgICBjb25kaXRpb24gPSBjb25kaXRpb24ucmVwbGFjZShrZXksIHZhbHVlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZXZhbFxuICAgICAgICAgIHJldHVybiBldmFsKGAhISR7Y29uZGl0aW9ufWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldFBvbGljeShjb25kaXRpb24pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldENvcHkoa2V5OiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIGlmICgha2V5KSBrZXkgPSAnJztcblxuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJzo6JykgYXMgc3RyaW5nW107XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIGlmICghc3RhdGUubG9jYWxpemF0aW9uKSByZXR1cm4ga2V5O1xuXG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdFJlc291cmNlTmFtZSB9ID0gc3RhdGUuZW52aXJvbm1lbnQubG9jYWxpemF0aW9uO1xuICAgICAgICBpZiAoa2V5c1swXSA9PT0gJycpIHtcbiAgICAgICAgICBpZiAoIWRlZmF1bHRSZXNvdXJjZU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFBsZWFzZSBjaGVjayB5b3VyIGVudmlyb25tZW50LiBNYXkgeW91IGZvcmdldCBzZXQgZGVmYXVsdFJlc291cmNlTmFtZT8gXG4gICAgICAgICAgICAgIEhlcmUgaXMgdGhlIGV4YW1wbGU6XG4gICAgICAgICAgICAgICB7IHByb2R1Y3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb246IHtcbiAgICAgICAgICAgICAgICAgICBkZWZhdWx0UmVzb3VyY2VOYW1lOiAnTXlQcm9qZWN0TmFtZSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBrZXlzWzBdID0gc25xKCgpID0+IGRlZmF1bHRSZXNvdXJjZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNvcHkgPSBrZXlzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlcyk7XG5cbiAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgICAgICAgaWYgKGNvcHkgJiYgaW50ZXJwb2xhdGVQYXJhbXMgJiYgaW50ZXJwb2xhdGVQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb3B5ID0gY29weS5yZXBsYWNlKC9bXFwnXFxcIl0/XFx7W1xcZF0rXFx9W1xcJ1xcXCJdPy8sIHBhcmFtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3B5IHx8IGtleTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlndXJhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIEBBY3Rpb24oR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSlcbiAgICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgICAgOiBkaXNwYXRjaChuZXcgU2V0TGFuZ3VhZ2Uoc25xKCgpID0+IGNvbmZpZ3VyYXRpb24uc2V0dGluZy52YWx1ZXNbJ0FicC5Mb2NhbGl6YXRpb24uRGVmYXVsdExhbmd1YWdlJ10pKSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFBhdGNoUm91dGVCeU5hbWUpXG4gIHBhdGNoUm91dGUoeyBwYXRjaFN0YXRlLCBnZXRTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPiwgeyBuYW1lLCBuZXdWYWx1ZSB9OiBQYXRjaFJvdXRlQnlOYW1lKSB7XG4gICAgbGV0IHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdID0gZ2V0U3RhdGUoKS5yb3V0ZXM7XG5cbiAgICBjb25zdCBpbmRleCA9IHJvdXRlcy5maW5kSW5kZXgocm91dGUgPT4gcm91dGUubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByb3V0ZXMgPSBwYXRjaFJvdXRlRGVlcChyb3V0ZXMsIG5hbWUsIG5ld1ZhbHVlKTtcblxuICAgIHJldHVybiBwYXRjaFN0YXRlKHtcbiAgICAgIHJvdXRlcyxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXRjaFJvdXRlRGVlcChcbiAgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10sXG4gIG5hbWU6IHN0cmluZyxcbiAgbmV3VmFsdWU6IFBhcnRpYWw8QUJQLkZ1bGxSb3V0ZT4sXG4gIHBhcmVudFVybDogc3RyaW5nID0gbnVsbCxcbik6IEFCUC5GdWxsUm91dGVbXSB7XG4gIHJvdXRlcyA9IHJvdXRlcy5tYXAocm91dGUgPT4ge1xuICAgIGlmIChyb3V0ZS5uYW1lID09PSBuYW1lKSB7XG4gICAgICBpZiAobmV3VmFsdWUucGF0aCkge1xuICAgICAgICBuZXdWYWx1ZS51cmwgPSBgJHtwYXJlbnRVcmx9LyR7bmV3VmFsdWUucGF0aH1gO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUuY2hpbGRyZW4gJiYgbmV3VmFsdWUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIG5ld1ZhbHVlLmNoaWxkcmVuID0gbmV3VmFsdWUuY2hpbGRyZW4ubWFwKGNoaWxkID0+ICh7XG4gICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH0vJHtjaGlsZC5wYXRofWAsXG4gICAgICAgIH0pKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4ucm91dGUsIC4uLm5ld1ZhbHVlIH07XG4gICAgfSBlbHNlIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHJvdXRlLmNoaWxkcmVuID0gcGF0Y2hSb3V0ZURlZXAocm91dGUuY2hpbGRyZW4sIG5hbWUsIG5ld1ZhbHVlLCAocGFyZW50VXJsIHx8ICcvJykgKyByb3V0ZS5wYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGU7XG4gIH0pO1xuXG4gIGlmIChwYXJlbnRVcmwpIHtcbiAgICAvLyByZWN1cnNpdmUgYmxvY2tcbiAgICByZXR1cm4gcm91dGVzO1xuICB9XG5cbiAgcmV0dXJuIG9yZ2FuaXplUm91dGVzKHJvdXRlcyk7XG59XG4iXX0= \ No newline at end of file +/** + * @param {?} routes + * @param {?=} path + * @param {?=} name + * @return {?} + */ +function findRoute(routes, path, name) { + /** @type {?} */ + let foundRoute; + routes.forEach((/** + * @param {?} route + * @return {?} + */ + route => { + if (foundRoute) + return; + if (path && route.path === path) { + foundRoute = route; + } + else if (name && route.name === name) { + foundRoute = route; + return; + } + else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + })); + return foundRoute; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUE2QixjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztJQU1wRSxXQUFXLHlCQUFYLFdBQVc7Ozs7O0lBNkp0QixZQUFvQix1QkFBd0QsRUFBVSxLQUFZO1FBQTlFLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBaUM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUEzSnRHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FB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QWEsRUFBRSxJQUFhOztRQUNsRSxVQUFVO0lBQ2QsTUFBTSxDQUFDLE9BQU87Ozs7SUFBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFJLFVBQVU7WUFBRSxPQUFPO1FBRXZCLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQy9CLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDcEI7YUFBTSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUN0QyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE9BQU87U0FDUjthQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNsRCxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25ELE9BQU87U0FDUjtJQUNILENBQUMsRUFBQyxDQUFDO0lBRUgsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlLCBTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IsIEFjdGlvbiwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IENvbmZpZywgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24sIFBhdGNoUm91dGVCeU5hbWUgfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBTZXRMYW5ndWFnZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZXRDaGlsZFJvdXRlLCBzb3J0Um91dGVzLCBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuQFN0YXRlPENvbmZpZy5TdGF0ZT4oe1xuICBuYW1lOiAnQ29uZmlnU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgQ29uZmlnLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBbGwoc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBcHBsaWNhdGlvbkluZm8oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbiB8fCB7fTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlW2tleV07XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVlcChrZXlzOiBzdHJpbmdbXSB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGtleXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhcmd1bWVudCBtdXN0IGJlIGEgZG90IHN0cmluZyBvciBhbiBzdHJpbmcgYXJyYXkuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0Um91dGUocGF0aD86IHN0cmluZywgbmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gZmluZFJvdXRlKHN0YXRlLnJvdXRlcywgcGF0aCwgbmFtZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXBpVXJsKGtleT86IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudC5hcGlzW2tleSB8fCAnZGVmYXVsdCddLnVybDtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXR0aW5nKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzbnEoKCkgPT4gc3RhdGUuc2V0dGluZy52YWx1ZXNba2V5XSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0R3JhbnRlZFBvbGljeShjb25kaXRpb246IHN0cmluZyA9ICcnKSB7XG4gICAgY29uc3Qga2V5cyA9IGNvbmRpdGlvblxuICAgICAgLnJlcGxhY2UoL1xcKHxcXCl8XFwhfFxccy9nLCAnJylcbiAgICAgIC5zcGxpdCgvXFx8XFx8fCYmLylcbiAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSk7XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFrZXlzLmxlbmd0aCkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgY29uc3QgZ2V0UG9saWN5ID0ga2V5ID0+IHNucSgoKSA9PiBzdGF0ZS5hdXRoLmdyYW50ZWRQb2xpY2llc1trZXldLCBmYWxzZSk7XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0UG9saWN5KGtleSk7XG4gICAgICAgICAgICBjb25kaXRpb24gPSBjb25kaXRpb24ucmVwbGFjZShrZXksIHZhbHVlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZXZhbFxuICAgICAgICAgIHJldHVybiBldmFsKGAhISR7Y29uZGl0aW9ufWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldFBvbGljeShjb25kaXRpb24pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldENvcHkoa2V5OiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIGlmICgha2V5KSBrZXkgPSAnJztcblxuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJzo6JykgYXMgc3RyaW5nW107XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIGlmICghc3RhdGUubG9jYWxpemF0aW9uKSByZXR1cm4ga2V5O1xuXG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdFJlc291cmNlTmFtZSB9ID0gc3RhdGUuZW52aXJvbm1lbnQubG9jYWxpemF0aW9uO1xuICAgICAgICBpZiAoa2V5c1swXSA9PT0gJycpIHtcbiAgICAgICAgICBpZiAoIWRlZmF1bHRSZXNvdXJjZU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFBsZWFzZSBjaGVjayB5b3VyIGVudmlyb25tZW50LiBNYXkgeW91IGZvcmdldCBzZXQgZGVmYXVsdFJlc291cmNlTmFtZT8gXG4gICAgICAgICAgICAgIEhlcmUgaXMgdGhlIGV4YW1wbGU6XG4gICAgICAgICAgICAgICB7IHByb2R1Y3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb246IHtcbiAgICAgICAgICAgICAgICAgICBkZWZhdWx0UmVzb3VyY2VOYW1lOiAnTXlQcm9qZWN0TmFtZSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBrZXlzWzBdID0gc25xKCgpID0+IGRlZmF1bHRSZXNvdXJjZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNvcHkgPSBrZXlzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlcyk7XG5cbiAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgICAgICAgaWYgKGNvcHkgJiYgaW50ZXJwb2xhdGVQYXJhbXMgJiYgaW50ZXJwb2xhdGVQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXMuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb3B5ID0gY29weS5yZXBsYWNlKC9bXFwnXFxcIl0/XFx7W1xcZF0rXFx9W1xcJ1xcXCJdPy8sIHBhcmFtKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb3B5IHx8IGtleTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlndXJhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIEBBY3Rpb24oR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICBwYXRjaFN0YXRlKHtcbiAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvbiA9PiB7XG4gICAgICAgIGxldCBkZWZhdWx0TGFuZzogc3RyaW5nID0gY29uZmlndXJhdGlvbi5zZXR0aW5nLnZhbHVlc1snQWJwLkxvY2FsaXphdGlvbi5EZWZhdWx0TGFuZ3VhZ2UnXTtcblxuICAgICAgICBpZiAoZGVmYXVsdExhbmcuaW5jbHVkZXMoJzsnKSkge1xuICAgICAgICAgIGRlZmF1bHRMYW5nID0gZGVmYXVsdExhbmcuc3BsaXQoJzsnKVswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSkgPyBvZihudWxsKSA6IGRpc3BhdGNoKG5ldyBTZXRMYW5ndWFnZShkZWZhdWx0TGFuZykpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oUGF0Y2hSb3V0ZUJ5TmFtZSlcbiAgcGF0Y2hSb3V0ZSh7IHBhdGNoU3RhdGUsIGdldFN0YXRlIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+LCB7IG5hbWUsIG5ld1ZhbHVlIH06IFBhdGNoUm91dGVCeU5hbWUpIHtcbiAgICBsZXQgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSBnZXRTdGF0ZSgpLnJvdXRlcztcblxuICAgIGNvbnN0IGluZGV4ID0gcm91dGVzLmZpbmRJbmRleChyb3V0ZSA9PiByb3V0ZS5uYW1lID09PSBuYW1lKTtcblxuICAgIHJvdXRlcyA9IHBhdGNoUm91dGVEZWVwKHJvdXRlcywgbmFtZSwgbmV3VmFsdWUpO1xuXG4gICAgcmV0dXJuIHBhdGNoU3RhdGUoe1xuICAgICAgcm91dGVzLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUm91dGVEZWVwKFxuICByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSxcbiAgbmFtZTogc3RyaW5nLFxuICBuZXdWYWx1ZTogUGFydGlhbDxBQlAuRnVsbFJvdXRlPixcbiAgcGFyZW50VXJsOiBzdHJpbmcgPSBudWxsLFxuKTogQUJQLkZ1bGxSb3V0ZVtdIHtcbiAgcm91dGVzID0gcm91dGVzLm1hcChyb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZS5wYXRoKSB7XG4gICAgICAgIG5ld1ZhbHVlLnVybCA9IGAke3BhcmVudFVybH0vJHtuZXdWYWx1ZS5wYXRofWA7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdWYWx1ZS5jaGlsZHJlbiAmJiBuZXdWYWx1ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgbmV3VmFsdWUuY2hpbGRyZW4gPSBuZXdWYWx1ZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gKHtcbiAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofS8ke2NoaWxkLnBhdGh9YCxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyAuLi5yb3V0ZSwgLi4ubmV3VmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcm91dGUuY2hpbGRyZW4gPSBwYXRjaFJvdXRlRGVlcChyb3V0ZS5jaGlsZHJlbiwgbmFtZSwgbmV3VmFsdWUsIChwYXJlbnRVcmwgfHwgJy8nKSArIHJvdXRlLnBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZTtcbiAgfSk7XG5cbiAgaWYgKHBhcmVudFVybCkge1xuICAgIC8vIHJlY3Vyc2l2ZSBibG9ja1xuICAgIHJldHVybiByb3V0ZXM7XG4gIH1cblxuICByZXR1cm4gb3JnYW5pemVSb3V0ZXMocm91dGVzKTtcbn1cblxuZnVuY3Rpb24gZmluZFJvdXRlKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXRoPzogc3RyaW5nLCBuYW1lPzogc3RyaW5nKSB7XG4gIGxldCBmb3VuZFJvdXRlO1xuICByb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgaWYgKGZvdW5kUm91dGUpIHJldHVybjtcblxuICAgIGlmIChwYXRoICYmIHJvdXRlLnBhdGggPT09IHBhdGgpIHtcbiAgICAgIGZvdW5kUm91dGUgPSByb3V0ZTtcbiAgICB9IGVsc2UgaWYgKG5hbWUgJiYgcm91dGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgZm91bmRSb3V0ZSA9IHJvdXRlO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBmb3VuZFJvdXRlID0gZmluZFJvdXRlKHJvdXRlLmNoaWxkcmVuLCBwYXRoLCBuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmb3VuZFJvdXRlO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js b/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js index 7fa7359f8d..97ac94939f 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js +++ b/npm/ng-packs/dist/core/esm2015/lib/states/session.state.js @@ -5,8 +5,16 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { SetLanguage, SetTenant } from '../actions/session.actions'; +import { GetAppConfiguration } from '../actions/config.actions'; +import { LocalizationService } from '../services/localization.service'; +import { from, combineLatest } from 'rxjs'; let SessionState = class SessionState { - constructor() { } + /** + * @param {?} localizationService + */ + constructor(localizationService) { + this.localizationService = localizationService; + } /** * @param {?} __0 * @return {?} @@ -26,10 +34,11 @@ let SessionState = class SessionState { * @param {?} __1 * @return {?} */ - setLanguage({ patchState }, { payload }) { + setLanguage({ patchState, dispatch }, { payload }) { patchState({ language: payload, }); + return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]); } /** * @param {?} __0 @@ -71,7 +80,14 @@ SessionState = tslib_1.__decorate([ name: 'SessionState', defaults: (/** @type {?} */ ({})), }), - tslib_1.__metadata("design:paramtypes", []) + tslib_1.__metadata("design:paramtypes", [LocalizationService]) ], SessionState); export { SessionState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztJQU92RCxZQUFZLFNBQVosWUFBWTtJQVd2QixnQkFBZSxDQUFDOzs7OztJQVRoQixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFpQjtRQUM1QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQWlCO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUtELFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBK0IsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUMvRSxVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFHRCxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQStCLEVBQUUsRUFBRSxPQUFPLEVBQWE7UUFDN0UsVUFBVSxDQUFDO1lBQ1QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUFaQztJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUNrRCxXQUFXOzsrQ0FJaEY7QUFHRDtJQURDLE1BQU0sQ0FBQyxTQUFTLENBQUM7O3FEQUNvRCxTQUFTOzsrQ0FJOUU7QUF2QkQ7SUFEQyxRQUFRLEVBQUU7Ozs7cUNBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7OzttQ0FHVjtBQVRVLFlBQVk7SUFKeEIsS0FBSyxDQUFnQjtRQUNwQixJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtLQUM5QixDQUFDOztHQUNXLFlBQVksQ0EwQnhCO1NBMUJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0IH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgU2V0TGFuZ3VhZ2UsIFNldFRlbmFudCB9IGZyb20gJy4uL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zJztcbmltcG9ydCB7IEFCUCwgU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBTdGF0ZTxTZXNzaW9uLlN0YXRlPih7XG4gIG5hbWU6ICdTZXNzaW9uU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgU2Vzc2lvbi5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldExhbmd1YWdlKHsgbGFuZ3VhZ2UgfTogU2Vzc2lvbi5TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxhbmd1YWdlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldFRlbmFudCh7IHRlbmFudCB9OiBTZXNzaW9uLlN0YXRlKTogQUJQLkJhc2ljSXRlbSB7XG4gICAgcmV0dXJuIHRlbmFudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAQWN0aW9uKFNldExhbmd1YWdlKVxuICBzZXRMYW5ndWFnZSh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0TGFuZ3VhZ2UpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIGxhbmd1YWdlOiBwYXlsb2FkLFxuICAgIH0pO1xuICB9XG5cbiAgQEFjdGlvbihTZXRUZW5hbnQpXG4gIHNldFRlbmFudElkKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvbi5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBTZXRUZW5hbnQpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIHRlbmFudDogcGF5bG9hZCxcbiAgICB9KTtcbiAgfVxufVxuIl19 \ No newline at end of file +if (false) { + /** + * @type {?} + * @private + */ + SessionState.prototype.localizationService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztJQU05QixZQUFZLFNBQVosWUFBWTs7OztJQVd2QixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7Ozs7O0lBVGhFLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQWlCO1FBQzVDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBR0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7UUFDeEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Ozs7O0lBS0QsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBK0IsRUFBRSxFQUFFLE9BQU8sRUFBZTtRQUN6RixVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDOzs7Ozs7SUFHRCxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQStCLEVBQUUsRUFBRSxPQUFPLEVBQWE7UUFDN0UsVUFBVSxDQUFDO1lBQ1QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUFkQztJQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3FEQUM0RCxXQUFXOzsrQ0FNMUY7QUFHRDtJQURDLE1BQU0sQ0FBQyxTQUFTLENBQUM7O3FEQUNvRCxTQUFTOzsrQ0FJOUU7QUF6QkQ7SUFEQyxRQUFRLEVBQUU7Ozs7cUNBR1Y7QUFHRDtJQURDLFFBQVEsRUFBRTs7OzttQ0FHVjtBQVRVLFlBQVk7SUFKeEIsS0FBSyxDQUFnQjtRQUNwQixJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtLQUM5QixDQUFDOzZDQVl5QyxtQkFBbUI7R0FYakQsWUFBWSxDQTRCeEI7U0E1QlksWUFBWTs7Ozs7O0lBV1gsMkNBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFNldExhbmd1YWdlLCBTZXRUZW5hbnQgfSBmcm9tICcuLi9hY3Rpb25zL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBQlAsIFNlc3Npb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb20sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuQFN0YXRlPFNlc3Npb24uU3RhdGU+KHtcbiAgbmFtZTogJ1Nlc3Npb25TdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBTZXNzaW9uLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TGFuZ3VhZ2UoeyBsYW5ndWFnZSB9OiBTZXNzaW9uLlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VGVuYW50KHsgdGVuYW50IH06IFNlc3Npb24uU3RhdGUpOiBBQlAuQmFzaWNJdGVtIHtcbiAgICByZXR1cm4gdGVuYW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oU2V0TGFuZ3VhZ2UpXG4gIHNldExhbmd1YWdlKHsgcGF0Y2hTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0TGFuZ3VhZ2UpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIGxhbmd1YWdlOiBwYXlsb2FkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2Rpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpLCBmcm9tKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5yZWdpc3RlckxvY2FsZShwYXlsb2FkKSldKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0VGVuYW50KVxuICBzZXRUZW5hbnRJZCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0VGVuYW50KSB7XG4gICAgcGF0Y2hTdGF0ZSh7XG4gICAgICB0ZW5hbnQ6IHBheWxvYWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/utils/common-utils.js b/npm/ng-packs/dist/core/esm2015/lib/utils/common-utils.js new file mode 100644 index 0000000000..54b71a0481 --- /dev/null +++ b/npm/ng-packs/dist/core/esm2015/lib/utils/common-utils.js @@ -0,0 +1,16 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @return {?} + */ +export function noop() { + /** @type {?} */ + const fn = (/** + * @return {?} + */ + function () { }); + return fn; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2NvbW1vbi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTSxVQUFVLElBQUk7O1VBQ1osRUFBRTs7O0lBQUcsY0FBWSxDQUFDLENBQUE7SUFDeEIsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKSB7XG4gIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7fTtcbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/utils/index.js b/npm/ng-packs/dist/core/esm2015/lib/utils/index.js index f75166e0ed..572661d113 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/utils/index.js +++ b/npm/ng-packs/dist/core/esm2015/lib/utils/index.js @@ -2,8 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { noop } from './common-utils'; export { uuid } from './generator-utils'; -export { getInitialData } from './initial-utils'; +export { getInitialData, localeInitializer, registerLocale } from './initial-utils'; export { organizeRoutes, setChildRoute, sortRoutes } from './route-utils'; export { takeUntilDestroy } from './rxjs-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLCtCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDBEQUFjLGVBQWUsQ0FBQztBQUM5QixpQ0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3J4anMtdXRpbHMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHFCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGtFQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDBEQUFjLGVBQWUsQ0FBQztBQUM5QixpQ0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3J4anMtdXRpbHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js b/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js index 157483e2bc..d6587896dd 100644 --- a/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js +++ b/npm/ng-packs/dist/core/esm2015/lib/utils/initial-utils.js @@ -2,8 +2,11 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { registerLocaleData } from '@angular/common'; import { Store } from '@ngxs/store'; import { GetAppConfiguration } from '../actions/config.actions'; +import differentLocales from '../constants/different-locales'; +import { SessionState } from '../states/session.state'; /** * @param {?} injector * @return {?} @@ -20,4 +23,47 @@ export function getInitialData(injector) { }); return fn; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVoRSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztVQUN6QyxFQUFFOzs7SUFBRzs7Y0FDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file +/** + * @param {?} injector + * @return {?} + */ +export function localeInitializer(injector) { + /** @type {?} */ + const fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + const store = injector.get(Store); + /** @type {?} */ + const lang = store.selectSnapshot(SessionState.getLanguage) || 'en'; + return new Promise((/** + * @param {?} resolve + * @param {?} reject + * @return {?} + */ + (resolve, reject) => { + registerLocale(lang).then((/** + * @return {?} + */ + () => resolve()), reject); + })); + }); + return fn; +} +/** + * @param {?} locale + * @return {?} + */ +export function registerLocale(locale) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + `@angular/common/locales/${differentLocales[locale] || locale}.js`).then((/** + * @param {?} module + * @return {?} + */ + module => { + registerLocaleData(module.default); + })); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sZ0JBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUV2RCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztVQUN6QyxFQUFFOzs7SUFBRzs7Y0FDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7O1VBQzVDLEVBQUU7OztJQUFHOztjQUNILEtBQUssR0FBVSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzs7Y0FFbEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUk7UUFFbkUsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7OztZQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLE1BQU07SUFDWCw0Y0FBNGM7SUFDNWMsMkJBQTJCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sS0FBSyxDQUNuRSxDQUFDLElBQUk7Ozs7SUFBQyxNQUFNLENBQUMsRUFBRTtRQUNkLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDLEVBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IGRpZmZlcmVudExvY2FsZXMgZnJvbSAnLi4vY29uc3RhbnRzL2RpZmZlcmVudC1sb2NhbGVzJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxlSW5pdGlhbGl6ZXIoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7XG4gICAgY29uc3Qgc3RvcmU6IFN0b3JlID0gaW5qZWN0b3IuZ2V0KFN0b3JlKTtcblxuICAgIGNvbnN0IGxhbmcgPSBzdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpIHx8ICdlbic7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVnaXN0ZXJMb2NhbGUobGFuZykudGhlbigoKSA9PiByZXNvbHZlKCksIHJlamVjdCk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJMb2NhbGUobG9jYWxlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGltcG9ydChcbiAgICAvKiB3ZWJwYWNrSW5jbHVkZTogLyhhZnxhbXxhci1TQXxhc3xhei1MYXRufGJlfGJnfGJuLUJEfGJuLUlOfGJzfGNhfGNhLUVTLVZBTEVOQ0lBfGNzfGN5fGRhfGRlfGRlfGVsfGVuLUdCfGVufGVzfGVufGVzLVVTfGVzLU1YfGV0fGV1fGZhfGZpfGVufGZyfGZyfGZyLUNBfGdhfGdkfGdsfGd1fGhhfGhlfGhpfGhyfGh1fGh5fGlkfGlnfGlzfGl0fGl0fGphfGthfGtrfGttfGtufGtvfGtva3xlbnxlbnxsYnxsdHxsdnxlbnxta3xtbHxtbnxtcnxtc3xtdHxuYnxuZXxubHxubC1CRXxubnxlbnxvcnxwYXxwYS1BcmFifHBsfGVufHB0fHB0LVBUfGVufGVufHJvfHJ1fHJ3fHBhLUFyYWJ8c2l8c2t8c2x8c3F8c3ItQ3lybC1CQXxzci1DeXJsfHNyLUxhdG58c3Z8c3d8dGF8dGV8dGd8dGh8dGl8dGt8dG58dHJ8dHR8dWd8dWt8dXJ8dXotTGF0bnx2aXx3b3x4aHx5b3x6aC1IYW5zfHpoLUhhbnR8enUpXFwuanMkLyAqL1xuICAgIGBAYW5ndWxhci9jb21tb24vbG9jYWxlcy8ke2RpZmZlcmVudExvY2FsZXNbbG9jYWxlXSB8fCBsb2NhbGV9LmpzYFxuICApLnRoZW4obW9kdWxlID0+IHtcbiAgICByZWdpc3RlckxvY2FsZURhdGEobW9kdWxlLmRlZmF1bHQpO1xuICB9KTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm2015/public-api.js b/npm/ng-packs/dist/core/esm2015/public-api.js index f5d49e97b3..c6a48c31c5 100644 --- a/npm/ng-packs/dist/core/esm2015/public-api.js +++ b/npm/ng-packs/dist/core/esm2015/public-api.js @@ -8,8 +8,8 @@ // export * from './lib/handlers'; export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant } from './lib/actions'; export { DynamicLayoutComponent, RouterOutletComponent } from './lib/components'; -// export * from './lib/constants'; -export { AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; +export {} from './lib/constants'; +export { AutofocusDirective, EllipsisDirective, FormSubmitDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; export {} from './lib/enums'; export { AuthGuard, PermissionGuard } from './lib/guards'; export { ApiInterceptor } from './lib/interceptors'; @@ -18,6 +18,6 @@ export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './lib/plugins'; export { ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService } from './lib/services'; export { ProfileState, ConfigState, SessionState } from './lib/states'; export { environmentFactory, configFactory, ENVIRONMENT, CONFIG } from './lib/tokens'; -export { uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; +export { noop, uuid, getInitialData, localeInitializer, registerLocale, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; export { CoreModule } from './lib/core.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLGdHQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxpQkFBaUIsQ0FBQztBQUNoQyxxSEFBYyxrQkFBa0IsQ0FBQztBQUNqQyxlQUFjLGFBQWEsQ0FBQztBQUM1QiwyQ0FBYyxjQUFjLENBQUM7QUFDN0IsK0JBQWMsb0JBQW9CLENBQUM7QUFDbkMscUJBQWMsY0FBYyxDQUFDO0FBQzdCLHlEQUFjLGVBQWUsQ0FBQztBQUM5QixrSUFBYyxnQkFBZ0IsQ0FBQztBQUMvQix3REFBYyxjQUFjLENBQUM7QUFDN0IsdUVBQWMsY0FBYyxDQUFDO0FBQzdCLDJJQUFjLGFBQWEsQ0FBQztBQUU1QiwyQkFBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxuICovXG5cbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2hhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/abp-ng.core.js b/npm/ng-packs/dist/core/esm5/abp-ng.core.js index a89512db8a..bb50ae9be4 100644 --- a/npm/ng-packs/dist/core/esm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/esm5/abp-ng.core.js @@ -5,27 +5,30 @@ /** * Generated bundle index. Do not edit. */ -export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; -export { GetAppConfiguration as ɵo, PatchRouteByName as ɵn } from './lib/actions/config.actions'; +export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant, DynamicLayoutComponent, RouterOutletComponent, AutofocusDirective, EllipsisDirective, FormSubmitDirective, PermissionDirective, VisibilityDirective, AuthGuard, PermissionGuard, ApiInterceptor, Rest, NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin, ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService, ProfileState, ConfigState, SessionState, environmentFactory, configFactory, ENVIRONMENT, CONFIG, noop, uuid, getInitialData, localeInitializer, registerLocale, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, CoreModule } from './public-api'; +export { GetAppConfiguration as ɵp, PatchRouteByName as ɵo } from './lib/actions/config.actions'; export { ChangePassword as ɵf, GetProfile as ɵd, UpdateProfile as ɵe } from './lib/actions/profile.actions'; -export { SetLanguage as ɵi, SetTenant as ɵj } from './lib/actions/session.actions'; -export { DynamicLayoutComponent as ɵq } from './lib/components/dynamic-layout.component'; -export { RouterOutletComponent as ɵp } from './lib/components/router-outlet.component'; -export { AutofocusDirective as ɵs } from './lib/directives/autofocus.directive'; -export { InputEventDebounceDirective as ɵx } from './lib/directives/debounce.directive'; -export { EllipsisDirective as ɵt } from './lib/directives/ellipsis.directive'; -export { PermissionDirective as ɵv } from './lib/directives/permission.directive'; -export { ClickEventStopPropagationDirective as ɵy } from './lib/directives/stop-propagation.directive'; -export { VisibilityDirective as ɵw } from './lib/directives/visibility.directive'; -export { ApiInterceptor as ɵbb } from './lib/interceptors/api.interceptor'; -export { LocalizationPipe as ɵu } from './lib/pipes/localization.pipe'; -export { ConfigPlugin as ɵba, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz } from './lib/plugins/config.plugin'; -export { ApplicationConfigurationService as ɵm } from './lib/services/application-configuration.service'; +export { SetLanguage as ɵj, SetTenant as ɵk } from './lib/actions/session.actions'; +export { DynamicLayoutComponent as ɵr } from './lib/components/dynamic-layout.component'; +export { RouterOutletComponent as ɵq } from './lib/components/router-outlet.component'; +export { AutofocusDirective as ɵt } from './lib/directives/autofocus.directive'; +export { InputEventDebounceDirective as ɵz } from './lib/directives/debounce.directive'; +export { EllipsisDirective as ɵu } from './lib/directives/ellipsis.directive'; +export { FormSubmitDirective as ɵv } from './lib/directives/form-submit.directive'; +export { PermissionDirective as ɵx } from './lib/directives/permission.directive'; +export { ClickEventStopPropagationDirective as ɵba } from './lib/directives/stop-propagation.directive'; +export { VisibilityDirective as ɵy } from './lib/directives/visibility.directive'; +export { ApiInterceptor as ɵbf } from './lib/interceptors/api.interceptor'; +export { LocalizationPipe as ɵw } from './lib/pipes/localization.pipe'; +export { ConfigPlugin as ɵbe, NGXS_CONFIG_PLUGIN_OPTIONS as ɵbd } from './lib/plugins/config/config.plugin'; +export { LocaleId as ɵbb, LocaleProvider as ɵbc } from './lib/providers/locale.provider'; +export { ApplicationConfigurationService as ɵn } from './lib/services/application-configuration.service'; +export { LocalizationService as ɵi } from './lib/services/localization.service'; export { ProfileService as ɵb } from './lib/services/profile.service'; export { RestService as ɵc } from './lib/services/rest.service'; -export { ConfigState as ɵr } from './lib/states'; -export { ConfigState as ɵl } from './lib/states/config.state'; +export { ConfigState as ɵs } from './lib/states'; +export { ConfigState as ɵm } from './lib/states/config.state'; export { ProfileState as ɵa } from './lib/states/profile.state'; export { SessionState as ɵh } from './lib/states/session.state'; -export { getInitialData as ɵbc } from './lib/utils/initial-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaXJCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtHZXRBcHBDb25maWd1cmF0aW9uIGFzIMm1byxQYXRjaFJvdXRlQnlOYW1lIGFzIMm1bn0gZnJvbSAnLi9saWIvYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkIGFzIMm1ZixHZXRQcm9maWxlIGFzIMm1ZCxVcGRhdGVQcm9maWxlIGFzIMm1ZX0gZnJvbSAnLi9saWIvYWN0aW9ucy9wcm9maWxlLmFjdGlvbnMnO1xuZXhwb3J0IHtTZXRMYW5ndWFnZSBhcyDJtWksU2V0VGVuYW50IGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuZXhwb3J0IHtEeW5hbWljTGF5b3V0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtSb3V0ZXJPdXRsZXRDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b2ZvY3VzRGlyZWN0aXZlIGFzIMm1c30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIGFzIMm1eH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7UGVybWlzc2lvbkRpcmVjdGl2ZSBhcyDJtXZ9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIGFzIMm1eX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Zpc2liaWxpdHlEaXJlY3RpdmUgYXMgybV3fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7QXBpSW50ZXJjZXB0b3IgYXMgybViYn0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0FCUCBhcyDJtWssUHJvZmlsZSBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0xvY2FsaXphdGlvblBpcGUgYXMgybV1fSBmcm9tICcuL2xpYi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5leHBvcnQge0NvbmZpZ1BsdWdpbiBhcyDJtWJhLE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIGFzIMm1en0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcucGx1Z2luJztcbmV4cG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1Byb2ZpbGVTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc2VydmljZXMvcHJvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCB7UmVzdFNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtXJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0NvbmZpZ1N0YXRlIGFzIMm1bH0gZnJvbSAnLi9saWIvc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5leHBvcnQge1Byb2ZpbGVTdGF0ZSBhcyDJtWF9IGZyb20gJy4vbGliL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmV4cG9ydCB7U2Vzc2lvblN0YXRlIGFzIMm1aH0gZnJvbSAnLi9saWIvc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuZXhwb3J0IHtnZXRJbml0aWFsRGF0YSBhcyDJtWJjfSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file +export { getInitialData as ɵbg, localeInitializer as ɵbh } from './lib/utils/initial-utils'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJhYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK3VCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEdBQUcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxJQUFJLEdBQUcsRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RyxPQUFPLEVBQUMsUUFBUSxJQUFJLEdBQUcsRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7R2V0QXBwQ29uZmlndXJhdGlvbiBhcyDJtXAsUGF0Y2hSb3V0ZUJ5TmFtZSBhcyDJtW99IGZyb20gJy4vbGliL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuZXhwb3J0IHtDaGFuZ2VQYXNzd29yZCBhcyDJtWYsR2V0UHJvZmlsZSBhcyDJtWQsVXBkYXRlUHJvZmlsZSBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcHJvZmlsZS5hY3Rpb25zJztcbmV4cG9ydCB7U2V0TGFuZ3VhZ2UgYXMgybVqLFNldFRlbmFudCBhcyDJtWt9IGZyb20gJy4vbGliL2FjdGlvbnMvc2Vzc2lvbi5hY3Rpb25zJztcbmV4cG9ydCB7RHluYW1pY0xheW91dENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCB7Um91dGVyT3V0bGV0Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge0F1dG9mb2N1c0RpcmVjdGl2ZSBhcyDJtXR9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0lucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSBhcyDJtXp9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxsaXBzaXNEaXJlY3RpdmUgYXMgybV1fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0Zvcm1TdWJtaXREaXJlY3RpdmUgYXMgybV2fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5leHBvcnQge1Blcm1pc3Npb25EaXJlY3RpdmUgYXMgybV4fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7Q2xpY2tFdmVudFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSBhcyDJtWJhfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7VmlzaWJpbGl0eURpcmVjdGl2ZSBhcyDJtXl9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdmlzaWJpbGl0eS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBcGlJbnRlcmNlcHRvciBhcyDJtWJmfSBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmV4cG9ydCB7QUJQIGFzIMm1bCxQcm9maWxlIGFzIMm1Z30gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7TG9jYWxpemF0aW9uUGlwZSBhcyDJtXd9IGZyb20gJy4vbGliL3BpcGVzL2xvY2FsaXphdGlvbi5waXBlJztcbmV4cG9ydCB7Q29uZmlnUGx1Z2luIGFzIMm1YmUsTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgYXMgybViZH0gZnJvbSAnLi9saWIvcGx1Z2lucy9jb25maWcvY29uZmlnLnBsdWdpbic7XG5leHBvcnQge0xvY2FsZUlkIGFzIMm1YmIsTG9jYWxlUHJvdmlkZXIgYXMgybViY30gZnJvbSAnLi9saWIvcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XG5leHBvcnQge0FwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgYXMgybVufSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2NhbGl6YXRpb25TZXJ2aWNlIGFzIMm1aX0gZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtQcm9maWxlU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZSc7XG5leHBvcnQge1Jlc3RTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29uZmlnU3RhdGUgYXMgybVzfSBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuZXhwb3J0IHtDb25maWdTdGF0ZSBhcyDJtW19IGZyb20gJy4vbGliL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuZXhwb3J0IHtQcm9maWxlU3RhdGUgYXMgybVhfSBmcm9tICcuL2xpYi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5leHBvcnQge1Nlc3Npb25TdGF0ZSBhcyDJtWh9IGZyb20gJy4vbGliL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmV4cG9ydCB7Z2V0SW5pdGlhbERhdGEgYXMgybViZyxsb2NhbGVJbml0aWFsaXplciBhcyDJtWJofSBmcm9tICcuL2xpYi91dGlscy9pbml0aWFsLXV0aWxzJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js b/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js index ba600f99a2..473eeaf8a5 100644 --- a/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js +++ b/npm/ng-packs/dist/core/esm5/lib/components/dynamic-layout.component.js @@ -113,11 +113,11 @@ function findLayout(segments, routes) { * @return {?} */ function (c) { return c.path === segments[1].path; })); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } } return layout; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QjtJQWVFLGdDQUFvQixNQUFjLEVBQVUsS0FBWTtRQUF4RCxpQkFjQztRQWRtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQzdELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDMUIsSUFBQSwwRUFBUTtnQkFDVixJQUFBLG1EQUcyQyxFQUYvQixpQ0FBTyxFQUN2QixrQkFDK0M7O29CQUUzQyxRQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLEtBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsRUFBQyxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQU0sQ0FBQyxFQUFwQyxDQUFvQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQXhELENBQXdELEVBQUMsQ0FBQzthQUM1RztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDRDQUFXOzs7SUFBWCxjQUFlLENBQUM7O2dCQS9CakIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxvU0FLVDtpQkFDRjs7OztnQkFqQnVCLE1BQU07Z0JBQ2IsS0FBSzs7SUFtQnBCO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7MENBQzVCLFVBQVU7aUVBQXNCO0lBcUJqRCw2QkFBQztDQUFBLEFBaENELElBZ0NDO1NBdkJZLHNCQUFzQjs7O0lBQ2pDLCtDQUMrQzs7SUFFL0Msd0NBQWtCOzs7OztJQUVOLHdDQUFzQjs7Ozs7SUFBRSx1Q0FBb0I7Ozs7Ozs7QUFtQjFELFNBQVMsVUFBVSxDQUFDLFFBQXNCLEVBQUUsTUFBdUI7O1FBQzdELE1BQU0sc0JBQW9COztRQUV4QixLQUFLLEdBQUcsTUFBTTtTQUNqQixNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFLLEdBQUcsRUFBSyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQUssR0FBRyxHQUFFLEdBQUcsRUFBQyxDQUFDLEVBQXpELENBQXlELEdBQUUsRUFBRSxDQUFDO1NBQ25GLElBQUk7Ozs7SUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztJQUV6QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUN2QjtRQUVELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7Z0JBQzVELEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztZQUVuRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3ZCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IEFCUCwgQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1keW5hbWljLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxheW91dCA/IGNvbXBvbmVudE91dGxldCA6IHJvdXRlck91dGxldFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyb3V0ZXJPdXRsZXQ+PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPdXRsZXQ+PG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJsYXlvdXRcIj48L25nLWNvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JlcXVpcmVtZW50cycpKVxuICByZXF1aXJlbWVudHMkOiBPYnNlcnZhYmxlPENvbmZpZy5SZXF1aXJlbWVudHM+O1xuXG4gIGxheW91dDogVHlwZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveSh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgY29uc3QgeyBzZWdtZW50cyB9ID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwoZXZlbnQudXJsKS5yb290LmNoaWxkcmVuLnByaW1hcnk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICByZXF1aXJlbWVudHM6IHsgbGF5b3V0cyB9LFxuICAgICAgICAgIHJvdXRlcyxcbiAgICAgICAgfSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QWxsKTtcblxuICAgICAgICBjb25zdCBsYXlvdXQgPSBmaW5kTGF5b3V0KHNlZ21lbnRzLCByb3V0ZXMpO1xuXG4gICAgICAgIHRoaXMubGF5b3V0ID0gbGF5b3V0cy5maWx0ZXIobCA9PiAhIWwpLmZpbmQobCA9PiBzbnEoKCkgPT4gbC50eXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihsYXlvdXQpLCAtMSkgPiAtMSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmRMYXlvdXQoc2VnbWVudHM6IFVybFNlZ21lbnRbXSwgcm91dGVzOiBBQlAuRnVsbFJvdXRlW10pOiBlTGF5b3V0VHlwZSB7XG4gIGxldCBsYXlvdXQgPSBlTGF5b3V0VHlwZS5lbXB0eTtcblxuICBjb25zdCByb3V0ZSA9IHJvdXRlc1xuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiAodmFsLndyYXBwZXIgPyBbLi4uYWNjLCAuLi52YWwuY2hpbGRyZW5dIDogWy4uLmFjYywgdmFsXSksIFtdKVxuICAgIC5maW5kKHIgPT4gci5wYXRoID09PSBzZWdtZW50c1swXS5wYXRoKTtcblxuICBpZiAocm91dGUpIHtcbiAgICBpZiAocm91dGUubGF5b3V0KSB7XG4gICAgICBsYXlvdXQgPSByb3V0ZS5sYXlvdXQ7XG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuICYmIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiBzZWdtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IHJvdXRlLmNoaWxkcmVuLmZpbmQoYyA9PiBjLnBhdGggPT09IHNlZ21lbnRzWzFdLnBhdGgpO1xuXG4gICAgICBpZiAoY2hpbGQubGF5b3V0KSB7XG4gICAgICAgIGxheW91dCA9IGNoaWxkLmxheW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbGF5b3V0O1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QjtJQWVFLGdDQUFvQixNQUFjLEVBQVUsS0FBWTtRQUF4RCxpQkFjQztRQWRtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQzdELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDMUIsSUFBQSwwRUFBUTtnQkFDVixJQUFBLG1EQUcyQyxFQUYvQixpQ0FBTyxFQUN2QixrQkFDK0M7O29CQUUzQyxRQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBRTNDLEtBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsRUFBQyxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxHQUFHOzs7Z0JBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQU0sQ0FBQyxFQUFwQyxDQUFvQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQXhELENBQXdELEVBQUMsQ0FBQzthQUM1RztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDRDQUFXOzs7SUFBWCxjQUFlLENBQUM7O2dCQS9CakIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxvU0FLVDtpQkFDRjs7OztnQkFqQnVCLE1BQU07Z0JBQ2IsS0FBSzs7SUFtQnBCO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7MENBQzVCLFVBQVU7aUVBQXNCO0lBcUJqRCw2QkFBQztDQUFBLEFBaENELElBZ0NDO1NBdkJZLHNCQUFzQjs7O0lBQ2pDLCtDQUMrQzs7SUFFL0Msd0NBQWtCOzs7OztJQUVOLHdDQUFzQjs7Ozs7SUFBRSx1Q0FBb0I7Ozs7Ozs7QUFtQjFELFNBQVMsVUFBVSxDQUFDLFFBQXNCLEVBQUUsTUFBdUI7O1FBQzdELE1BQU0sc0JBQW9COztRQUV4QixLQUFLLEdBQUcsTUFBTTtTQUNqQixNQUFNOzs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFLLEdBQUcsRUFBSyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQUssR0FBRyxHQUFFLEdBQUcsRUFBQyxDQUFDLEVBQXpELENBQXlELEdBQUUsRUFBRSxDQUFDO1NBQ25GLElBQUk7Ozs7SUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztJQUV6QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUN2QjtRQUVELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7Z0JBQzVELEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBM0IsQ0FBMkIsRUFBQztZQUVuRSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN6QixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUN2QjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBBQlAsIENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXQgPyBjb21wb25lbnRPdXRsZXQgOiByb3V0ZXJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcm91dGVyT3V0bGV0Pjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3V0bGV0PjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyZXF1aXJlbWVudHMnKSlcbiAgcmVxdWlyZW1lbnRzJDogT2JzZXJ2YWJsZTxDb25maWcuUmVxdWlyZW1lbnRzPjtcblxuICBsYXlvdXQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IHsgc2VnbWVudHMgfSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGV2ZW50LnVybCkucm9vdC5jaGlsZHJlbi5wcmltYXJ5O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgcmVxdWlyZW1lbnRzOiB7IGxheW91dHMgfSxcbiAgICAgICAgICByb3V0ZXMsXG4gICAgICAgIH0gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFsbCk7XG5cbiAgICAgICAgY29uc3QgbGF5b3V0ID0gZmluZExheW91dChzZWdtZW50cywgcm91dGVzKTtcblxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dHMuZmlsdGVyKGwgPT4gISFsKS5maW5kKGwgPT4gc25xKCgpID0+IGwudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobGF5b3V0KSwgLTEpID4gLTEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuXG5mdW5jdGlvbiBmaW5kTGF5b3V0KHNlZ21lbnRzOiBVcmxTZWdtZW50W10sIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKTogZUxheW91dFR5cGUge1xuICBsZXQgbGF5b3V0ID0gZUxheW91dFR5cGUuZW1wdHk7XG5cbiAgY29uc3Qgcm91dGUgPSByb3V0ZXNcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gKHZhbC53cmFwcGVyID8gWy4uLmFjYywgLi4udmFsLmNoaWxkcmVuXSA6IFsuLi5hY2MsIHZhbF0pLCBbXSlcbiAgICAuZmluZChyID0+IHIucGF0aCA9PT0gc2VnbWVudHNbMF0ucGF0aCk7XG5cbiAgaWYgKHJvdXRlKSB7XG4gICAgaWYgKHJvdXRlLmxheW91dCkge1xuICAgICAgbGF5b3V0ID0gcm91dGUubGF5b3V0O1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGggJiYgc2VnbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgY2hpbGQgPSByb3V0ZS5jaGlsZHJlbi5maW5kKGMgPT4gYy5wYXRoID09PSBzZWdtZW50c1sxXS5wYXRoKTtcblxuICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLmxheW91dCkge1xuICAgICAgICBsYXlvdXQgPSBjaGlsZC5sYXlvdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxheW91dDtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/constants/different-locales.js b/npm/ng-packs/dist/core/esm5/lib/constants/different-locales.js new file mode 100644 index 0000000000..6d324d10d7 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/constants/different-locales.js @@ -0,0 +1,37 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +export default { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW50LWxvY2FsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL2RpZmZlcmVudC1sb2NhbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLGVBQWU7SUFDYixPQUFPLEVBQUUsT0FBTztJQUNoQixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGlmZmVyZW50IGxvY2FsZXMgZnJvbSAuTkVUXG4vLyBLZXkgaXMgLk5FVCBsb2NhbGUsIHZhbHVlIGlzIEFuZ3VsYXIgbG9jYWxlXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgJ2FyLXNhJzogJ2FyLVNBJyxcbiAgJ2NhLUVTLXZhbGVuY2lhJzogJ2NhLUVTLVZBTEVOQ0lBJyxcbiAgJ2RlLWRlJzogJ2RlJyxcbiAgJ2VzLUVTJzogJ2VzJyxcbiAgJ2VuLVVTJzogJ2VuJyxcbiAgJ2ZpbC1MYXRuJzogJ2VuJyxcbiAgJ2t1LUFyYWInOiAnZW4nLFxuICAna3ktQ3lybCc6ICdlbicsXG4gICdtaS1MYXRuJzogJ2VuJyxcbiAgJ3Bycy1BcmFiJzogJ2VuJyxcbiAgJ3F1dC1MYXRuJzogJ2VuJyxcbiAgbnNvOiAnZW4nLFxuICBxdXo6ICdlbicsXG4gICdmci1GUic6ICdmcicsXG4gICdnZC1MYXRuJzogJ2dkJyxcbiAgJ2hhLUxhdG4nOiAnaGEnLFxuICAnaWctTGF0bic6ICdpZycsXG4gICdpdC1pdCc6ICdpdCcsXG4gICdtbi1DeXJsJzogJ21uJyxcbiAgJ3B0LUJSJzogJ3B0JyxcbiAgJ3NkLUFyYWInOiAncGEtQXJhYicsXG4gICdzci1DeXJsLVJTJzogJ3NyLUN5cmwnLFxuICAnc3ItTGF0bi1SUyc6ICdzci1MYXRuJyxcbiAgJ3RnLUN5cmwnOiAndGcnLFxuICAndGstTGF0bic6ICd0aycsXG4gICd0dC1DeXJsJzogJ3R0JyxcbiAgJ3VnLUFyYWInOiAndWcnLFxuICAneW8tTGF0bic6ICd5bycsXG59O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/constants/index.js b/npm/ng-packs/dist/core/esm5/lib/constants/index.js new file mode 100644 index 0000000000..ec584bb715 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/constants/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { default } from './different-locales'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3QkFBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlmZmVyZW50LWxvY2FsZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/constants/locales-mapping.js b/npm/ng-packs/dist/core/esm5/lib/constants/locales-mapping.js new file mode 100644 index 0000000000..5fc259373f --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/constants/locales-mapping.js @@ -0,0 +1,37 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +export default { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'en-US': 'en', + 'es-ES': 'es', + 'fil-Latn': 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'mn-Cyrl': 'mn', + nso: 'en', + 'prs-Arab': 'en', + 'pt-BR': 'pt', + 'qut-Latn': 'en', + quz: 'en', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlcy1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy9sb2NhbGVzLW1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsZUFBZTtJQUNiLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsU0FBUztJQUN2QixZQUFZLEVBQUUsU0FBUztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBEaWZmZXJlbnQgbG9jYWxlcyBmcm9tIC5ORVRcbi8vIEtleSBpcyAuTkVUIGxvY2FsZSwgdmFsdWUgaXMgQW5ndWxhciBsb2NhbGVcblxuZXhwb3J0IGRlZmF1bHQge1xuICAnYXItc2EnOiAnYXItU0EnLFxuICAnY2EtRVMtdmFsZW5jaWEnOiAnY2EtRVMtVkFMRU5DSUEnLFxuICAnZGUtZGUnOiAnZGUnLFxuICAnZW4tVVMnOiAnZW4nLFxuICAnZXMtRVMnOiAnZXMnLFxuICAnZmlsLUxhdG4nOiAnZW4nLFxuICAnZnItRlInOiAnZnInLFxuICAnZ2QtTGF0bic6ICdnZCcsXG4gICdoYS1MYXRuJzogJ2hhJyxcbiAgJ2lnLUxhdG4nOiAnaWcnLFxuICAnaXQtaXQnOiAnaXQnLFxuICAna3UtQXJhYic6ICdlbicsXG4gICdreS1DeXJsJzogJ2VuJyxcbiAgJ21pLUxhdG4nOiAnZW4nLFxuICAnbW4tQ3lybCc6ICdtbicsXG4gIG5zbzogJ2VuJyxcbiAgJ3Bycy1BcmFiJzogJ2VuJyxcbiAgJ3B0LUJSJzogJ3B0JyxcbiAgJ3F1dC1MYXRuJzogJ2VuJyxcbiAgcXV6OiAnZW4nLFxuICAnc2QtQXJhYic6ICdwYS1BcmFiJyxcbiAgJ3NyLUN5cmwtUlMnOiAnc3ItQ3lybCcsXG4gICdzci1MYXRuLVJTJzogJ3NyLUxhdG4nLFxuICAndGctQ3lybCc6ICd0ZycsXG4gICd0ay1MYXRuJzogJ3RrJyxcbiAgJ3R0LUN5cmwnOiAndHQnLFxuICAndWctQXJhYic6ICd1ZycsXG4gICd5by1MYXRuJzogJ3lvJyxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/core.module.js b/npm/ng-packs/dist/core/esm5/lib/core.module.js index ae9ce47082..6dbc7ab22d 100644 --- a/npm/ng-packs/dist/core/esm5/lib/core.module.js +++ b/npm/ng-packs/dist/core/esm5/lib/core.module.js @@ -12,19 +12,21 @@ import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { NgxsModule, NGXS_PLUGINS } from '@ngxs/store'; import { DynamicLayoutComponent } from './components/dynamic-layout.component'; import { RouterOutletComponent } from './components/router-outlet.component'; +import { AutofocusDirective } from './directives/autofocus.directive'; +import { InputEventDebounceDirective } from './directives/debounce.directive'; +import { EllipsisDirective } from './directives/ellipsis.directive'; +import { FormSubmitDirective } from './directives/form-submit.directive'; import { PermissionDirective } from './directives/permission.directive'; +import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; import { VisibilityDirective } from './directives/visibility.directive'; import { ApiInterceptor } from './interceptors/api.interceptor'; import { LocalizationPipe } from './pipes/localization.pipe'; -import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin'; +import { LocaleProvider } from './providers/locale.provider'; import { ConfigState } from './states/config.state'; import { ProfileState } from './states/profile.state'; import { SessionState } from './states/session.state'; -import { getInitialData } from './utils/initial-utils'; -import { EllipsisDirective } from './directives/ellipsis.directive'; -import { AutofocusDirective } from './directives/autofocus.directive'; -import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive'; +import { getInitialData, localeInitializer } from './utils/initial-utils'; +import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin'; var CoreModule = /** @class */ (function () { function CoreModule() { } @@ -41,6 +43,7 @@ var CoreModule = /** @class */ (function () { return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: NGXS_PLUGINS, useClass: ConfigPlugin, @@ -61,6 +64,12 @@ var CoreModule = /** @class */ (function () { deps: [Injector], useFactory: getInitialData, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: localeInitializer, + }, ], }; }; @@ -81,6 +90,7 @@ var CoreModule = /** @class */ (function () { DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -97,6 +107,7 @@ var CoreModule = /** @class */ (function () { DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -111,4 +122,4 @@ var CoreModule = /** @class */ (function () { return CoreModule; }()); export { CoreModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFN0Y7SUFBQTtJQXNFQSxDQUFDOzs7OztJQTNCUSxrQkFBTzs7OztJQUFkLFVBQWUsT0FBd0I7UUFBeEIsd0JBQUEsRUFBQSw2QkFBVSxFQUFFLEVBQVk7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBckVGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7d0JBQ2hFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQzt3QkFDeEQsc0JBQXNCLENBQUMsT0FBTyxFQUFFO3dCQUNoQyxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLGdCQUFnQjt3QkFDaEIsa0NBQWtDO3FCQUNuQztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDN0IsZUFBZSxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ2pFOztJQTZCRCxpQkFBQztDQUFBLEFBdEVELElBc0VDO1NBNUJZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c1N0b3JhZ2VQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yYWdlLXBsdWdpbic7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBOR1hTX1BMVUdJTlMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBDb25maWdQbHVnaW4sIE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4nO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9jb25maWcuc3RhdGUnO1xuaW1wb3J0IHsgUHJvZmlsZVN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvcHJvZmlsZS5zdGF0ZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IEVsbGlwc2lzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIExvY2FsaXphdGlvblBpcGUsXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBWaXNpYmlsaXR5RGlyZWN0aXZlLFxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtSb3V0ZXJPdXRsZXRDb21wb25lbnQsIER5bmFtaWNMYXlvdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IENvbmZpZ1BsdWdpbixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEFwaUludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0YsT0FB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IE5neHNTdG9yYWdlUGx1Z2luTW9kdWxlIH0gZnJvbSAnQG5neHMvc3RvcmFnZS1wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c01vZHVsZSwgTkdYU19QTFVHSU5TIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWxsaXBzaXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1TdWJtaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpY2tFdmVudFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaXNpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXBpLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5pbXBvcnQgeyBQcm9maWxlU3RhdGUgfSBmcm9tICcuL3N0YXRlcy9wcm9maWxlLnN0YXRlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4vc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgZ2V0SW5pdGlhbERhdGEsIGxvY2FsZUluaXRpYWxpemVyIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcbmltcG9ydCB7IENvbmZpZ1BsdWdpbiwgTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMgfSBmcm9tICcuL3BsdWdpbnMvY29uZmlnL2NvbmZpZy5wbHVnaW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtQcm9maWxlU3RhdGUsIFNlc3Npb25TdGF0ZSwgQ29uZmlnU3RhdGVdKSxcbiAgICBOZ3hzU3RvcmFnZVBsdWdpbk1vZHVsZS5mb3JSb290KHsga2V5OiAnU2Vzc2lvblN0YXRlJyB9KSxcbiAgICBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxuICAgIFZpc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlLFxuICAgIENsaWNrRXZlbnRTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgRWxsaXBzaXNEaXJlY3RpdmUsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcbiAgICBMb2NhbGl6YXRpb25QaXBlLFxuICAgIFBlcm1pc3Npb25EaXJlY3RpdmUsXG4gICAgVmlzaWJpbGl0eURpcmVjdGl2ZSxcbiAgICBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUsXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcbiAgICBDbGlja0V2ZW50U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtMb2NhbGl6YXRpb25QaXBlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbUm91dGVyT3V0bGV0Q29tcG9uZW50LCBEeW5hbWljTGF5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnMgPSB7fSBhcyBBQlAuUm9vdCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBMb2NhbGVQcm92aWRlcixcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfUExVR0lOUyxcbiAgICAgICAgICB1c2VDbGFzczogQ29uZmlnUGx1Z2luLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXBpSW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRJbml0aWFsRGF0YSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsZUluaXRpYWxpemVyLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js index baf8f33d3a..27a998abdb 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/ellipsis.directive.js @@ -9,12 +9,22 @@ var EllipsisDirective = /** @class */ (function () { this.elRef = elRef; this.enabled = true; } + Object.defineProperty(EllipsisDirective.prototype, "inlineClass", { + get: /** + * @return {?} + */ + function () { + return this.enabled && this.width; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(EllipsisDirective.prototype, "class", { get: /** * @return {?} */ function () { - return this.enabled; + return this.enabled && !this.width; }, enumerable: true, configurable: true @@ -24,7 +34,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -63,6 +73,7 @@ var EllipsisDirective = /** @class */ (function () { width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], + inlineClass: [{ type: HostBinding, args: ['class.abp-ellipsis-inline',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; @@ -87,4 +98,4 @@ if (false) { */ EllipsisDirective.prototype.elRef; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQXdCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQVkyRCxDQUFDO0lBVjNFLHNCQUNJLG9DQUFLOzs7O1FBRFQ7WUFFRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFELENBQUM7OztPQUFBOzs7O0lBSUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFTQztRQVJDLFVBQVU7OztRQUFDOztnQkFDSCxLQUFLLEdBQUcsS0FBSSxDQUFDLEtBQUs7WUFDeEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBQSxLQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTFFLElBQUksS0FBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztnQkFuQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7OztnQkFKMEIsaUJBQWlCO2dCQUFhLFVBQVU7Ozt3QkFNaEUsS0FBSyxTQUFDLGFBQWE7d0JBR25CLFdBQVcsU0FBQyxPQUFPLGNBQ25CLEtBQUs7MEJBR0wsS0FBSyxTQUFDLG9CQUFvQjt3QkFHMUIsV0FBVyxTQUFDLG9CQUFvQjsyQkFLaEMsV0FBVyxTQUFDLGlCQUFpQjs7SUFpQmhDLHdCQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FqQ1ksaUJBQWlCOzs7SUFDNUIsa0NBQ2M7O0lBRWQsa0NBRWM7O0lBRWQsb0NBQ2U7Ozs7O0lBWUgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpZHRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcycpXG4gIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCA/IHRoaXMud2lkdGggfHwgJzE3MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRztJQTZCRSwyQkFBb0IsS0FBd0IsRUFBVSxLQUFpQjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFqQnZFLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFpQjJELENBQUM7SUFmM0Usc0JBQ0ksMENBQVc7Ozs7UUFEZjtZQUVFLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUM7OztPQUFBO0lBRUQsc0JBQ0ksb0NBQUs7Ozs7UUFEVDtZQUVFLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBUTs7OztRQURaO1lBRUUsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEUsQ0FBQzs7O09BQUE7Ozs7SUFJRCw4Q0FBa0I7OztJQUFsQjtRQUFBLGlCQVNDO1FBUkMsVUFBVTs7O1FBQUM7O2dCQUNILEtBQUssR0FBRyxLQUFJLENBQUMsS0FBSztZQUN4QixLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLG1CQUFBLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFlLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFMUUsSUFBSSxLQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtnQkFDeEIsS0FBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUM1QjtRQUNILENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7O2dCQXhDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzs7O2dCQUowQixpQkFBaUI7Z0JBQWEsVUFBVTs7O3dCQU1oRSxLQUFLLFNBQUMsYUFBYTt3QkFHbkIsV0FBVyxTQUFDLE9BQU8sY0FDbkIsS0FBSzswQkFHTCxLQUFLLFNBQUMsb0JBQW9COzhCQUcxQixXQUFXLFNBQUMsMkJBQTJCO3dCQUt2QyxXQUFXLFNBQUMsb0JBQW9COzJCQUtoQyxXQUFXLFNBQUMsaUJBQWlCOztJQWlCaEMsd0JBQUM7Q0FBQSxBQXpDRCxJQXlDQztTQXRDWSxpQkFBaUI7OztJQUM1QixrQ0FDYzs7SUFFZCxrQ0FFYzs7SUFFZCxvQ0FDZTs7Ozs7SUFpQkgsa0NBQWdDOzs7OztJQUFFLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWJwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCdhYnBFbGxpcHNpcycpXG4gIHdpZHRoOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhYnBFbGxpcHNpc0VuYWJsZWQnKVxuICBlbmFibGVkID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFicC1lbGxpcHNpcy1pbmxpbmUnKVxuICBnZXQgaW5saW5lQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiB0aGlzLndpZHRoO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hYnAtZWxsaXBzaXMnKVxuICBnZXQgY2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiAhdGhpcy53aWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgZ2V0IG1heFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQgJiYgdGhpcy53aWR0aCA/IHRoaXMud2lkdGggfHwgJzE3MHB4JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgIHRoaXMudGl0bGUgPSB0aXRsZSB8fCAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG5cbiAgICAgIGlmICh0aGlzLnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/form-submit.directive.js b/npm/ng-packs/dist/core/esm5/lib/directives/form-submit.directive.js new file mode 100644 index 0000000000..054605ee68 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/directives/form-submit.directive.js @@ -0,0 +1,146 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, Output, Self, } from '@angular/core'; +import { FormGroupDirective } from '@angular/forms'; +import { fromEvent } from 'rxjs'; +import { debounceTime, filter } from 'rxjs/operators'; +import { takeUntilDestroy } from '../utils'; +var FormSubmitDirective = /** @class */ (function () { + function FormSubmitDirective(formGroupDirective, host, cdRef) { + this.formGroupDirective = formGroupDirective; + this.host = host; + this.cdRef = cdRef; + this.ngSubmit = new EventEmitter(); + this.executedNgSubmit = false; + } + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe((/** + * @return {?} + */ + function () { + _this.markAsDirty(); + _this.executedNgSubmit = true; + })); + fromEvent((/** @type {?} */ (this.host.nativeElement)), 'keyup') + .pipe(debounceTime(200), filter((/** + * @param {?} key + * @return {?} + */ + function (key) { return key && key.key === 'Enter'; })), takeUntilDestroy(this)) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + _this.executedNgSubmit = false; + })); + fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this), filter((/** + * @return {?} + */ + function () { return !_this.notValidateOnSubmit && typeof _this.notValidateOnSubmit !== 'string'; }))) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.markAsDirty(); + } + })); + }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.markAsDirty = /** + * @return {?} + */ + function () { + var form = this.formGroupDirective.form; + setDirty((/** @type {?} */ (form.controls))); + form.markAsDirty(); + this.cdRef.detectChanges(); + }; + FormSubmitDirective.decorators = [ + { type: Directive, args: [{ + selector: 'form[ngSubmit][formGroup]', + },] } + ]; + /** @nocollapse */ + FormSubmitDirective.ctorParameters = function () { return [ + { type: FormGroupDirective, decorators: [{ type: Self }] }, + { type: ElementRef }, + { type: ChangeDetectorRef } + ]; }; + FormSubmitDirective.propDecorators = { + notValidateOnSubmit: [{ type: Input }], + ngSubmit: [{ type: Output }] + }; + return FormSubmitDirective; +}()); +export { FormSubmitDirective }; +if (false) { + /** @type {?} */ + FormSubmitDirective.prototype.notValidateOnSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.ngSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.executedNgSubmit; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.formGroupDirective; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.host; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.cdRef; +} +/** + * @param {?} controls + * @return {?} + */ +function setDirty(controls) { + if (Array.isArray(controls)) { + controls.forEach((/** + * @param {?} group + * @return {?} + */ + function (group) { + setDirty((/** @type {?} */ (group.controls))); + })); + return; + } + Object.keys(controls).forEach((/** + * @param {?} key + * @return {?} + */ + function (key) { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + })); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMEIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTVDO0lBWUUsNkJBQ2tCLGtCQUFzQyxFQUM5QyxJQUFpQyxFQUNqQyxLQUF3QjtRQUZoQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQzlDLFNBQUksR0FBSixJQUFJLENBQTZCO1FBQ2pDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBUGxDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztJQU0vQixDQUFDOzs7O0lBRUosc0NBQVE7OztJQUFSO1FBQUEsaUJBOEJDO1FBN0JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUzs7O1FBQUM7WUFDdEUsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQyxFQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsbUJBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQWUsRUFBRSxPQUFPLENBQUM7YUFDdkQsSUFBSSxDQUNILFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTTs7OztRQUFDLFVBQUMsR0FBa0IsSUFBSyxPQUFBLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBMUIsQ0FBMEIsRUFBQyxFQUMxRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FDdkI7YUFDQSxTQUFTOzs7UUFBQztZQUNULElBQUksQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzFCLEtBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakc7WUFFRCxLQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUMsRUFBQyxDQUFDO1FBRUwsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQzthQUN6QyxJQUFJLENBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQ3RCLE1BQU07OztRQUFDLGNBQU0sT0FBQSxDQUFDLEtBQUksQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLEtBQUksQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLEVBQXpFLENBQXlFLEVBQUMsQ0FDeEY7YUFDQSxTQUFTOzs7UUFBQztZQUNULElBQUksQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzFCLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNwQjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELHlDQUFXOzs7SUFBWCxjQUFxQixDQUFDOzs7O0lBRXRCLHlDQUFXOzs7SUFBWDtRQUNVLElBQUEsbUNBQUk7UUFFWixRQUFRLENBQUMsbUJBQUEsSUFBSSxDQUFDLFFBQVEsRUFBa0MsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7O2dCQTNERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7Ozs7Z0JBVGdDLGtCQUFrQix1QkFvQjlDLElBQUk7Z0JBNUJQLFVBQVU7Z0JBRlYsaUJBQWlCOzs7c0NBcUJoQixLQUFLOzJCQUdMLE1BQU07O0lBcURULDBCQUFDO0NBQUEsQUE1REQsSUE0REM7U0F6RFksbUJBQW1COzs7SUFDOUIsa0RBQ3NDOztJQUV0Qyx1Q0FDOEI7O0lBRTlCLCtDQUFrQzs7Ozs7SUFHaEMsaURBQXNEOzs7OztJQUN0RCxtQ0FBeUM7Ozs7O0lBQ3pDLG9DQUFnQzs7Ozs7O0FBK0NwQyxTQUFTLFFBQVEsQ0FBQyxRQUFrQjtJQUNsQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDM0IsUUFBUSxDQUFDLE9BQU87Ozs7UUFBQyxVQUFBLEtBQUs7WUFDcEIsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxRQUFRLEVBQWtDLENBQUMsQ0FBQztRQUM3RCxDQUFDLEVBQUMsQ0FBQztRQUNILE9BQU87S0FDUjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTzs7OztJQUFDLFVBQUEsR0FBRztRQUMvQixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJy4uL3V0aWxzJztcblxudHlwZSBDb250cm9scyA9IHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSB8IEZvcm1Hcm91cFtdO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdmb3JtW25nU3VibWl0XVtmb3JtR3JvdXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVN1Ym1pdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbm90VmFsaWRhdGVPblN1Ym1pdDogc3RyaW5nIHwgYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgbmdTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZXhlY3V0ZWROZ1N1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgcHJpdmF0ZSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEZvcm1FbGVtZW50PixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLm5nU3VibWl0LnBpcGUodGFrZVVudGlsRGVzdHJveSh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuZXhlY3V0ZWROZ1N1Ym1pdCA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmtleSA9PT0gJ0VudGVyJyksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmV4ZWN1dGVkTmdTdWJtaXQpIHtcbiAgICAgICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3VibWl0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhlY3V0ZWROZ1N1Ym1pdCA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsICdzdWJtaXQnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5ub3RWYWxpZGF0ZU9uU3VibWl0ICYmIHR5cGVvZiB0aGlzLm5vdFZhbGlkYXRlT25TdWJtaXQgIT09ICdzdHJpbmcnKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXhlY3V0ZWROZ1N1Ym1pdCkge1xuICAgICAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgbWFya0FzRGlydHkoKSB7XG4gICAgY29uc3QgeyBmb3JtIH0gPSB0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZTtcblxuICAgIHNldERpcnR5KGZvcm0uY29udHJvbHMgYXMgeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9KTtcbiAgICBmb3JtLm1hcmtBc0RpcnR5KCk7XG5cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXREaXJ0eShjb250cm9sczogQ29udHJvbHMpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY29udHJvbHMpKSB7XG4gICAgY29udHJvbHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICBzZXREaXJ0eShncm91cC5jb250cm9scyBhcyB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH0pO1xuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKGNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgY29udHJvbHNba2V5XS5tYXJrQXNEaXJ0eSgpO1xuICAgIGNvbnRyb2xzW2tleV0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9KTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/directives/index.js b/npm/ng-packs/dist/core/esm5/lib/directives/index.js index 58ddf9b1e1..a90d5a4597 100644 --- a/npm/ng-packs/dist/core/esm5/lib/directives/index.js +++ b/npm/ng-packs/dist/core/esm5/lib/directives/index.js @@ -4,6 +4,7 @@ */ export { AutofocusDirective } from './autofocus.directive'; export { EllipsisDirective } from './ellipsis.directive'; +export { FormSubmitDirective } from './form-submit.directive'; export { PermissionDirective } from './permission.directive'; export { VisibilityDirective } from './visibility.directive'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWMsdUJBQXVCLENBQUM7QUFDdEMsa0NBQWMsc0JBQXNCLENBQUM7QUFDckMsb0NBQWMseUJBQXlCLENBQUM7QUFDeEMsb0NBQWMsd0JBQXdCLENBQUM7QUFDdkMsb0NBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2liaWxpdHkuZGlyZWN0aXZlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/guards/permission.guard.js b/npm/ng-packs/dist/core/esm5/lib/guards/permission.guard.js index a868ab62d7..af495e161c 100644 --- a/npm/ng-packs/dist/core/esm5/lib/guards/permission.guard.js +++ b/npm/ng-packs/dist/core/esm5/lib/guards/permission.guard.js @@ -5,6 +5,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; +import { tap } from 'rxjs/operators'; +import { RestOccurError } from '../actions'; import * as i0 from "@angular/core"; import * as i1 from "@ngxs/store"; var PermissionGuard = /** @class */ (function () { @@ -20,10 +22,19 @@ var PermissionGuard = /** @class */ (function () { * @return {?} */ function (_a) { + var _this = this; var data = _a.data; /** @type {?} */ var resource = (/** @type {?} */ (data.requiredPolicy)); - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(tap((/** + * @param {?} access + * @return {?} + */ + function (access) { + if (!access) { + _this.store.dispatch(new RestOccurError({ status: 403 })); + } + }))); }; PermissionGuard.decorators = [ { type: Injectable, args: [{ @@ -45,4 +56,4 @@ if (false) { */ PermissionGuard.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUV4QztJQUlFLHlCQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRXBDLHFDQUFXOzs7O0lBQVgsVUFBWSxFQUFnQztZQUE5QixjQUFJOztZQUNWLFFBQVEsR0FBRyxtQkFBQSxJQUFJLENBQUMsY0FBYyxFQUFVO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Z0JBVEYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFOUSxLQUFLOzs7MEJBRmQ7Q0FnQkMsQUFWRCxJQVVDO1NBUFksZUFBZTs7Ozs7O0lBQ2QsZ0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHsgZGF0YSB9OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBkYXRhLnJlcXVpcmVkUG9saWN5IGFzIHN0cmluZztcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU3RhdGUuZ2V0R3JhbnRlZFBvbGljeShyZXNvdXJjZSkpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQUU1QztJQUlFLHlCQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFHLENBQUM7Ozs7O0lBRXBDLHFDQUFXOzs7O0lBQVgsVUFBWSxFQUFnQztRQUE1QyxpQkFTQztZQVRhLGNBQUk7O1lBQ1YsUUFBUSxHQUFHLG1CQUFBLElBQUksQ0FBQyxjQUFjLEVBQVU7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUc7Ozs7UUFBQyxVQUFBLE1BQU07WUFDUixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLEtBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRDtRQUNILENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOztnQkFmRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVJRLEtBQUs7OzswQkFGZDtDQXdCQyxBQWhCRCxJQWdCQztTQWJZLGVBQWU7Ozs7OztJQUNkLGdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgY2FuQWN0aXZhdGUoeyBkYXRhIH06IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXNvdXJjZSA9IGRhdGEucmVxdWlyZWRQb2xpY3kgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTdGF0ZS5nZXRHcmFudGVkUG9saWN5KHJlc291cmNlKSkucGlwZShcbiAgICAgIHRhcChhY2Nlc3MgPT4ge1xuICAgICAgICBpZiAoIWFjY2Vzcykge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKHsgc3RhdHVzOiA0MDMgfSkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/models/rest.js b/npm/ng-packs/dist/core/esm5/lib/models/rest.js index 5ae10ff110..22f647ce82 100644 --- a/npm/ng-packs/dist/core/esm5/lib/models/rest.js +++ b/npm/ng-packs/dist/core/esm5/lib/models/rest.js @@ -11,7 +11,7 @@ export var Rest; Rest.Config = Config; if (false) { /** @type {?|undefined} */ - Config.prototype.throwErr; + Config.prototype.skipHandleError; /** @type {?|undefined} */ Config.prototype.observe; } @@ -40,4 +40,4 @@ export var Rest; Request.prototype.withCredentials; } })(Rest || (Rest = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLElBQUksQ0FxQ3BCO0FBckNELFdBQWlCLElBQUk7Ozs7SUFDbkIscUJBR0M7Ozs7UUFGQywwQkFBbUI7O1FBQ25CLHlCQUFrQjs7Ozs7O0lBZ0JwQixzQkFpQkM7Ozs7UUFoQkMsdUJBQVM7O1FBQ1QsMEJBSU07O1FBQ04seUJBQWU7O1FBQ2YseUJBSU07O1FBQ04saUNBQXlCOztRQUN6QiwrQkFBNEI7O1FBQzVCLHNCQUFZOztRQUNaLGtDQUEwQjs7QUFFOUIsQ0FBQyxFQXJDZ0IsSUFBSSxLQUFKLElBQUksUUFxQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICB0aHJvd0Vycj86IGJvb2xlYW47XG4gICAgb2JzZXJ2ZT86IE9ic2VydmU7XG4gIH1cblxuICBleHBvcnQgY29uc3QgZW51bSBPYnNlcnZlIHtcbiAgICBCb2R5ID0gJ2JvZHknLFxuICAgIEV2ZW50cyA9ICdldmVudHMnLFxuICAgIFJlc3BvbnNlID0gJ3Jlc3BvbnNlJyxcbiAgfVxuXG4gIGV4cG9ydCBjb25zdCBlbnVtIFJlc3BvbnNlVHlwZSB7XG4gICAgQXJyYXlCdWZmZXIgPSAnYXJyYXlidWZmZXInLFxuICAgIEJsb2IgPSAnYmxvYicsXG4gICAgSlNPTiA9ICdqc29uJyxcbiAgICBUZXh0ID0gJ3RleHQnLFxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0PFQ+IHtcbiAgICBib2R5PzogVDtcbiAgICBoZWFkZXJzPzpcbiAgICAgIHwgSHR0cEhlYWRlcnNcbiAgICAgIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIHBhcmFtcz86XG4gICAgICB8IEh0dHBQYXJhbXNcbiAgICAgIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogYW55O1xuICAgICAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiBSZXNwb25zZVR5cGU7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTSxLQUFXLElBQUksQ0FxQ3BCO0FBckNELFdBQWlCLElBQUk7Ozs7SUFDbkIscUJBR0M7Ozs7UUFGQyxpQ0FBMEI7O1FBQzFCLHlCQUFrQjs7Ozs7O0lBZ0JwQixzQkFpQkM7Ozs7UUFoQkMsdUJBQVM7O1FBQ1QsMEJBSU07O1FBQ04seUJBQWU7O1FBQ2YseUJBSU07O1FBQ04saUNBQXlCOztRQUN6QiwrQkFBNEI7O1FBQzVCLHNCQUFZOztRQUNaLGtDQUEwQjs7QUFFOUIsQ0FBQyxFQXJDZ0IsSUFBSSxLQUFKLElBQUksUUFxQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICBza2lwSGFuZGxlRXJyb3I/OiBib29sZWFuO1xuICAgIG9ic2VydmU/OiBPYnNlcnZlO1xuICB9XG5cbiAgZXhwb3J0IGNvbnN0IGVudW0gT2JzZXJ2ZSB7XG4gICAgQm9keSA9ICdib2R5JyxcbiAgICBFdmVudHMgPSAnZXZlbnRzJyxcbiAgICBSZXNwb25zZSA9ICdyZXNwb25zZScsXG4gIH1cblxuICBleHBvcnQgY29uc3QgZW51bSBSZXNwb25zZVR5cGUge1xuICAgIEFycmF5QnVmZmVyID0gJ2FycmF5YnVmZmVyJyxcbiAgICBCbG9iID0gJ2Jsb2InLFxuICAgIEpTT04gPSAnanNvbicsXG4gICAgVGV4dCA9ICd0ZXh0JyxcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdDxUPiB7XG4gICAgYm9keT86IFQ7XG4gICAgaGVhZGVycz86XG4gICAgICB8IEh0dHBIZWFkZXJzXG4gICAgICB8IHtcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICBwYXJhbXM/OlxuICAgICAgfCBIdHRwUGFyYW1zXG4gICAgICB8IHtcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IGFueTtcbiAgICAgICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgcmVzcG9uc2VUeXBlPzogUmVzcG9uc2VUeXBlO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/pipes/localization.pipe.js b/npm/ng-packs/dist/core/esm5/lib/pipes/localization.pipe.js index dc98b4716d..3cc5772471 100644 --- a/npm/ng-packs/dist/core/esm5/lib/pipes/localization.pipe.js +++ b/npm/ng-packs/dist/core/esm5/lib/pipes/localization.pipe.js @@ -7,30 +7,34 @@ import { Pipe } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; import { takeUntilDestroy } from '../utils'; -import { distinctUntilChanged } from 'rxjs/operators'; +import { distinctUntilChanged, takeUntil } from 'rxjs/operators'; +import { Subject } from 'rxjs'; var LocalizationPipe = /** @class */ (function () { function LocalizationPipe(store) { this.store = store; - this.initialized = false; + this.initialValue = ''; + this.destroy$ = new Subject(); } /** - * @param {?} value + * @param {?=} value * @param {...?} interpolateParams * @return {?} */ LocalizationPipe.prototype.transform = /** - * @param {?} value + * @param {?=} value * @param {...?} interpolateParams * @return {?} */ function (value) { var _this = this; + if (value === void 0) { value = ''; } var interpolateParams = []; for (var _i = 1; _i < arguments.length; _i++) { interpolateParams[_i - 1] = arguments[_i]; } - if (!this.initialized) { - this.initialized = true; + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); this.store .select(ConfigState.getCopy.apply(ConfigState, tslib_1.__spread([value], interpolateParams.reduce((/** * @param {?} acc @@ -38,7 +42,7 @@ var LocalizationPipe = /** @class */ (function () { * @return {?} */ function (acc, val) { return (Array.isArray(val) ? tslib_1.__spread(acc, val) : tslib_1.__spread(acc, [val])); }), [])))) - .pipe(takeUntilDestroy(this), distinctUntilChanged()) + .pipe(takeUntil(this.destroy$), takeUntilDestroy(this), distinctUntilChanged()) .subscribe((/** * @param {?} copy * @return {?} @@ -69,13 +73,15 @@ var LocalizationPipe = /** @class */ (function () { export { LocalizationPipe }; if (false) { /** @type {?} */ - LocalizationPipe.prototype.initialized; + LocalizationPipe.prototype.initialValue; /** @type {?} */ LocalizationPipe.prototype.value; + /** @type {?} */ + LocalizationPipe.prototype.destroy$; /** * @type {?} * @private */ LocalizationPipe.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXREO0lBU0UsMEJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBSmhDLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBSU0sQ0FBQzs7Ozs7O0lBRXBDLG9DQUFTOzs7OztJQUFULFVBQVUsS0FBYTtRQUF2QixpQkFtQkM7UUFuQndCLDJCQUE4QjthQUE5QixVQUE4QixFQUE5QixxQkFBOEIsRUFBOUIsSUFBOEI7WUFBOUIsMENBQThCOztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsS0FBSztpQkFDUCxNQUFNLENBQ0wsV0FBVyxDQUFDLE9BQU8sT0FBbkIsV0FBVyxvQkFDVCxLQUFLLEdBQ0YsaUJBQWlCLENBQUMsTUFBTTs7Ozs7WUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssT0FBQSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBSyxHQUFHLEVBQUssR0FBRyxFQUFFLENBQUMsa0JBQUssR0FBRyxHQUFFLEdBQUcsRUFBQyxDQUFDLEVBQXZELENBQXVELEdBQUUsRUFBRSxDQUFDLEdBRXpHO2lCQUNBLElBQUksQ0FDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFDdEIsb0JBQW9CLEVBQUUsQ0FDdkI7aUJBQ0EsU0FBUzs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsQ0FBQyxLQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFuQixDQUFtQixFQUFDLENBQUM7U0FDM0M7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7OztJQUVELHNDQUFXOzs7SUFBWCxjQUFlLENBQUM7O2dCQWhDakIsSUFBSSxTQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxLQUFLO2lCQUNaOzs7O2dCQVJRLEtBQUs7O0lBc0NkLHVCQUFDO0NBQUEsQUFqQ0QsSUFpQ0M7U0E3QlksZ0JBQWdCOzs7SUFDM0IsdUNBQTZCOztJQUU3QixpQ0FBYzs7Ozs7SUFFRixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhYnBMb2NhbGl6YXRpb24nLFxuICBwdXJlOiBmYWxzZSwgLy8gcmVxdWlyZWQgdG8gdXBkYXRlIHRoZSB2YWx1ZVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB2YWx1ZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLnNlbGVjdChcbiAgICAgICAgICBDb25maWdTdGF0ZS5nZXRDb3B5KFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAuLi5pbnRlcnBvbGF0ZVBhcmFtcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiAoQXJyYXkuaXNBcnJheSh2YWwpID8gWy4uLmFjYywgLi4udmFsXSA6IFsuLi5hY2MsIHZhbF0pLCBbXSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShjb3B5ID0+ICh0aGlzLnZhbHVlID0gY29weSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CO0lBV0UsMEJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTmhDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBSTFCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRVUsQ0FBQzs7Ozs7O0lBRXBDLG9DQUFTOzs7OztJQUFULFVBQVUsS0FBa0I7UUFBNUIsaUJBcUJDO1FBckJTLHNCQUFBLEVBQUEsVUFBa0I7UUFBRSwyQkFBOEI7YUFBOUIsVUFBOEIsRUFBOUIscUJBQThCLEVBQTlCLElBQThCO1lBQTlCLDBDQUE4Qjs7UUFDMUQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXJCLElBQUksQ0FBQyxLQUFLO2lCQUNQLE1BQU0sQ0FDTCxXQUFXLENBQUMsT0FBTyxPQUFuQixXQUFXLG9CQUNULEtBQUssR0FDRixpQkFBaUIsQ0FBQyxNQUFNOzs7OztZQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFLLEdBQUcsRUFBSyxHQUFHLEVBQUUsQ0FBQyxrQkFBSyxHQUFHLEdBQUUsR0FBRyxFQUFDLENBQUMsRUFBdkQsQ0FBdUQsR0FBRSxFQUFFLENBQUMsR0FFekc7aUJBQ0EsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUN0QixvQkFBb0IsRUFBRSxDQUN2QjtpQkFDQSxTQUFTOzs7O1lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQW5CLENBQW1CLEVBQUMsQ0FBQztTQUMzQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7O0lBRUQsc0NBQVc7OztJQUFYLGNBQWUsQ0FBQzs7Z0JBcENqQixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7Ozs7Z0JBVFEsS0FBSzs7SUEyQ2QsdUJBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQWpDWSxnQkFBZ0I7OztJQUMzQix3Q0FBMEI7O0lBRTFCLGlDQUFjOztJQUVkLG9DQUF5Qjs7Ozs7SUFFYixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FicExvY2FsaXphdGlvbicsXG4gIHB1cmU6IGZhbHNlLCAvLyByZXF1aXJlZCB0byB1cGRhdGUgdGhlIHZhbHVlXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBpbml0aWFsVmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nID0gJycsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbml0aWFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoXG4gICAgICAgICAgQ29uZmlnU3RhdGUuZ2V0Q29weShcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgLi4uaW50ZXJwb2xhdGVQYXJhbXMucmVkdWNlKChhY2MsIHZhbCkgPT4gKEFycmF5LmlzQXJyYXkodmFsKSA/IFsuLi5hY2MsIC4uLnZhbF0gOiBbLi4uYWNjLCB2YWxdKSwgW10pLFxuICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGNvcHkgPT4gKHRoaXMudmFsdWUgPSBjb3B5KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js b/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js index fe6b15c68b..b28eea6bbf 100644 --- a/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/config.plugin.js @@ -132,14 +132,10 @@ function transformRoutes(routes, wrappers) { transformed.push(abpPackage); } if (transformed.length === length) { - transformed.push((/** @type {?} */ ({ - path: route.path, - name: snq((/** + transformed.push((/** @type {?} */ (tslib_1.__assign({}, route.data.routes, { path: route.path, name: snq((/** * @return {?} */ - function () { return route.data.routes.name; }), route.path), - children: route.data.routes.children || [], - }))); + function () { return route.data.routes.name; }), route.path), children: route.data.routes.children || [] })))); } })); return { routes: setUrls(transformed), wrappers: wrappers }; @@ -170,4 +166,4 @@ function setUrls(routes, parentUrl) { children: setUrls(route.children, "/" + route.path), }))); })); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFnQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVHLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXRELE1BQU0sS0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQztBQUUxRjtJQUlFLHNCQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyw2QkFBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCOztZQUM3QyxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQzs7WUFDOUIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRS9ELDZHQUE2RztRQUM3RyxJQUFJLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsSUFBQSx3Q0FBMEQsRUFBeEQsa0JBQU0sRUFBRSxzQkFBZ0Q7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFMUMsS0FBSyxHQUFHLFFB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QU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFDO0FBQ3BELENBQUM7Ozs7OztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFNLElBQzlCLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7WUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFLLFNBQVMsU0FBSSxLQUFLLENBQUMsSUFBTSxDQUFDO1NBQ2hFLENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7S0FDTDtJQUVELE9BQU8sTUFBTSxDQUFDLEdBQUc7Ozs7SUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLHNCQUN0QixLQUFLLElBQ1IsR0FBRyxFQUFFLE1BQUksS0FBSyxDQUFDLElBQU0sSUFDbEIsQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtRQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBSSxLQUFLLENBQUMsSUFBTSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMuZmluZChyID0+IHIucGF0aCA9PT0gcm91dGUucGF0aCksIGZhbHNlKTtcbiAgICB9KVxuICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwuZGF0YS5yb3V0ZXNdLCBbXSk7XG5cbiAgd3JhcHBlcnMgPSBhYnBSb3V0ZXMuZmlsdGVyKGFyID0+IGFyLndyYXBwZXIpO1xuICBjb25zdCB0cmFuc2Zvcm1lZCA9IFtdIGFzIEFCUC5GdWxsUm91dGVbXTtcbiAgcm91dGVzXG4gICAgLmZpbHRlcihyb3V0ZSA9PiAocm91dGUuZGF0YSB8fCB7fSkucm91dGVzICYmIChyb3V0ZS5jb21wb25lbnQgfHwgcm91dGUubG9hZENoaWxkcmVuKSlcbiAgICAuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBhYnBQYWNrYWdlID0gYWJwUm91dGVzLmZpbmQoXG4gICAgICAgIGFicCA9PiBhYnAucGF0aC50b0xvd2VyQ2FzZSgpID09PSByb3V0ZS5wYXRoLnRvTG93ZXJDYXNlKCkgJiYgc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFnQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVHLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUV0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXRELE1BQU0sS0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQztBQUUxRjtJQUlFLHNCQUF3RCxPQUFpQixFQUFVLE1BQWM7UUFBekMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGekYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFK0QsQ0FBQzs7Ozs7OztJQUVyRyw2QkFBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCOztZQUM3QyxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQzs7WUFDOUIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRS9ELDZHQUE2RztRQUM3RyxJQUFJLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsSUFBQSx3Q0FBMEQsRUFBeEQsa0JBQU0sRUFBRSxzQkFBZ0Q7WUFDOUQsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFMUMsS0FBSyxHQUFHLFFB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RUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsVUFBQSxFQUFFLENBQUM7QUFDcEQsQ0FBQzs7Ozs7O0FBRUQsU0FBUyxPQUFPLENBQUMsTUFBdUIsRUFBRSxTQUFrQjtJQUMxRCxJQUFJLFNBQVMsRUFBRTtRQUNiLDhDQUE4QztRQUU5QyxPQUFPLE1BQU0sQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxzQkFDdEIsS0FBSyxJQUNSLEdBQUcsRUFBSyxTQUFTLFNBQUksS0FBSyxDQUFDLElBQU0sSUFDOUIsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtZQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFNLENBQUM7U0FDaEUsQ0FBQyxFQUNKLEVBUHlCLENBT3pCLEVBQUMsQ0FBQztLQUNMO0lBRUQsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztJQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUUsTUFBSSxLQUFLLENBQUMsSUFBTSxJQUNsQixDQUFDLEtBQUssQ0FBQyxRQUFRO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJO1FBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFJLEtBQUssQ0FBQyxJQUFNLENBQUM7S0FDcEQsQ0FBQyxFQUNKLEVBUHlCLENBT3pCLEVBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhY3Rpb25NYXRjaGVyLCBJbml0U3RhdGUsIE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIHNldFZhbHVlLCBVcGRhdGVTdGF0ZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBvcmdhbml6ZVJvdXRlcyB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUycpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnUGx1Z2luIGltcGxlbWVudHMgTmd4c1BsdWdpbiB7XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWFNfQ09ORklHX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IEFCUC5Sb290LCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGFjdGlvbk1hdGNoZXIoZXZlbnQpO1xuICAgIGNvbnN0IGlzSW5pdEFjdGlvbiA9IG1hdGNoZXMoSW5pdFN0YXRlKSB8fCBtYXRjaGVzKFVwZGF0ZVN0YXRlKTtcblxuICAgIC8vIGNvbnN0IGxheW91dHMgPSBzbnEoKCkgPT4gdGhpcy5vcHRpb25zLnJlcXVpcmVtZW50cy5sYXlvdXRzLmZpbHRlcihsYXlvdXQgPT4gbGF5b3V0IGluc3RhbmNlb2YgVHlwZSksIFtdKTtcbiAgICBpZiAoaXNJbml0QWN0aW9uICYmICF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICBsZXQgeyByb3V0ZXMsIHdyYXBwZXJzIH0gPSB0cmFuc2Zvcm1Sb3V0ZXModGhpcy5yb3V0ZXIuY29uZmlnKTtcbiAgICAgIHJvdXRlcyA9IG9yZ2FuaXplUm91dGVzKHJvdXRlcywgd3JhcHBlcnMpO1xuXG4gICAgICBzdGF0ZSA9IHNldFZhbHVlKHN0YXRlLCAnQ29uZmlnU3RhdGUnLCB7XG4gICAgICAgIC4uLihzdGF0ZS5Db25maWdTdGF0ZSAmJiB7IC4uLnN0YXRlLkNvbmZpZ1N0YXRlIH0pLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgIHJvdXRlcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvdXRlcyhyb3V0ZXM6IFJvdXRlcyA9IFtdLCB3cmFwcGVyczogQUJQLkZ1bGxSb3V0ZVtdID0gW10pOiBhbnkge1xuICBjb25zdCBhYnBSb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IHJvdXRlc1xuICAgIC5maWx0ZXIocm91dGUgPT4ge1xuICAgICAgcmV0dXJuIHNucSgoKSA9PiByb3V0ZS5kYXRhLnJvdXRlcy5maW5kKHIgPT4gci5wYXRoID09PSByb3V0ZS5wYXRoKSwgZmFsc2UpO1xuICAgIH0pXG4gICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5kYXRhLnJvdXRlc10sIFtdKTtcblxuICB3cmFwcGVycyA9IGFicFJvdXRlcy5maWx0ZXIoYXIgPT4gYXIud3JhcHBlcik7XG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuICByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IChyb3V0ZS5kYXRhIHx8IHt9KS5yb3V0ZXMgJiYgKHJvdXRlLmNvbXBvbmVudCB8fCByb3V0ZS5sb2FkQ2hpbGRyZW4pKVxuICAgIC5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIGNvbnN0IGFicFBhY2thZ2UgPSBhYnBSb3V0ZXMuZmluZChcbiAgICAgICAgYWJwID0+IGFicC5wYXRoLnRvTG93ZXJDYXNlKCkgPT09IHJvdXRlLnBhdGgudG9Mb3dlckNhc2UoKSAmJiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMubGVuZ3RoLCBmYWxzZSksXG4gICAgICApO1xuICAgICAgY29uc3QgeyBsZW5ndGggfSA9IHRyYW5zZm9ybWVkO1xuXG4gICAgICBpZiAoYWJwUGFja2FnZSkge1xuICAgICAgICB0cmFuc2Zvcm1lZC5wdXNoKGFicFBhY2thZ2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHJhbnNmb3JtZWQubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaCh7XG4gICAgICAgICAgLi4ucm91dGUuZGF0YS5yb3V0ZXMsXG4gICAgICAgICAgcGF0aDogcm91dGUucGF0aCxcbiAgICAgICAgICBuYW1lOiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMubmFtZSwgcm91dGUucGF0aCksXG4gICAgICAgICAgY2hpbGRyZW46IHJvdXRlLmRhdGEucm91dGVzLmNoaWxkcmVuIHx8IFtdLFxuICAgICAgICB9IGFzIEFCUC5GdWxsUm91dGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiB7IHJvdXRlczogc2V0VXJscyh0cmFuc2Zvcm1lZCksIHdyYXBwZXJzIH07XG59XG5cbmZ1bmN0aW9uIHNldFVybHMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhcmVudFVybD86IHN0cmluZyk6IEFCUC5GdWxsUm91dGVbXSB7XG4gIGlmIChwYXJlbnRVcmwpIHtcbiAgICAvLyB0aGlzIGlmIGJsb2NrIHVzaW5nIGZvciBvbmx5IHJlY3Vyc2l2ZSBjYWxsXG5cbiAgICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgICAgLi4ucm91dGUsXG4gICAgICB1cmw6IGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWAsXG4gICAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgICBjaGlsZHJlbjogc2V0VXJscyhyb3V0ZS5jaGlsZHJlbiwgYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9YCksXG4gICAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXMubWFwKHJvdXRlID0+ICh7XG4gICAgLi4ucm91dGUsXG4gICAgdXJsOiBgLyR7cm91dGUucGF0aH1gLFxuICAgIC4uLihyb3V0ZS5jaGlsZHJlbiAmJlxuICAgICAgcm91dGUuY2hpbGRyZW4ubGVuZ3RoICYmIHtcbiAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAvJHtyb3V0ZS5wYXRofWApLFxuICAgICAgfSksXG4gIH0pKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/config/config.plugin.js b/npm/ng-packs/dist/core/esm5/lib/plugins/config/config.plugin.js new file mode 100644 index 0000000000..fc8daea656 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/config/config.plugin.js @@ -0,0 +1,169 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Inject, Injectable, InjectionToken } from '@angular/core'; +import { Router } from '@angular/router'; +import { actionMatcher, InitState, setValue, UpdateState } from '@ngxs/store'; +import snq from 'snq'; +import { organizeRoutes } from '../../utils/route-utils'; +/** @type {?} */ +export var NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS'); +var ConfigPlugin = /** @class */ (function () { + function ConfigPlugin(options, router) { + this.options = options; + this.router = router; + this.initialized = false; + } + /** + * @param {?} state + * @param {?} event + * @param {?} next + * @return {?} + */ + ConfigPlugin.prototype.handle = /** + * @param {?} state + * @param {?} event + * @param {?} next + * @return {?} + */ + function (state, event, next) { + /** @type {?} */ + var matches = actionMatcher(event); + /** @type {?} */ + var isInitAction = matches(InitState) || matches(UpdateState); + // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []); + if (isInitAction && !this.initialized) { + var _a = transformRoutes(this.router.config), routes = _a.routes, wrappers = _a.wrappers; + routes = organizeRoutes(routes, wrappers); + state = setValue(state, 'ConfigState', tslib_1.__assign({}, (state.ConfigState && tslib_1.__assign({}, state.ConfigState)), this.options, { routes: routes })); + this.initialized = true; + } + return next(state, event); + }; + ConfigPlugin.decorators = [ + { type: Injectable } + ]; + /** @nocollapse */ + ConfigPlugin.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: Inject, args: [NGXS_CONFIG_PLUGIN_OPTIONS,] }] }, + { type: Router } + ]; }; + return ConfigPlugin; +}()); +export { ConfigPlugin }; +if (false) { + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.initialized; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.options; + /** + * @type {?} + * @private + */ + ConfigPlugin.prototype.router; +} +/** + * @param {?=} routes + * @param {?=} wrappers + * @return {?} + */ +function transformRoutes(routes, wrappers) { + if (routes === void 0) { routes = []; } + if (wrappers === void 0) { wrappers = []; } + /** @type {?} */ + var abpRoutes = routes + .filter((/** + * @param {?} route + * @return {?} + */ + function (route) { + return snq((/** + * @return {?} + */ + function () { return route.data.routes.routes.find((/** + * @param {?} r + * @return {?} + */ + function (r) { return r.path === route.path; })); }), false); + })) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return tslib_1.__spread(acc, val.data.routes.routes); }), []); + wrappers = abpRoutes.filter((/** + * @param {?} ar + * @return {?} + */ + function (ar) { return ar.wrapper; })); + /** @type {?} */ + var transformed = (/** @type {?} */ ([])); + routes + .filter((/** + * @param {?} route + * @return {?} + */ + function (route) { return (route.data || {}).routes && (route.component || route.loadChildren); })) + .forEach((/** + * @param {?} route + * @return {?} + */ + function (route) { + /** @type {?} */ + var abpPackage = abpRoutes.find((/** + * @param {?} abp + * @return {?} + */ + function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** + * @return {?} + */ + function () { return route.data.routes.routes.length; }), false); })); + var length = transformed.length; + if (abpPackage) { + transformed.push(abpPackage); + } + if (transformed.length === length) { + transformed.push((/** @type {?} */ (tslib_1.__assign({}, route.data.routes, { path: route.path, name: snq((/** + * @return {?} + */ + function () { return route.data.routes.name; }), route.path), children: route.data.routes.children || [] })))); + } + })); + return { routes: setUrls(transformed), wrappers: wrappers }; +} +/** + * @param {?} routes + * @param {?=} parentUrl + * @return {?} + */ +function setUrls(routes, parentUrl) { + if (parentUrl) { + // this if block using for only recursive call + return routes.map((/** + * @param {?} route + * @return {?} + */ + function (route) { return (tslib_1.__assign({}, route, { url: parentUrl + "/" + route.path }, (route.children && + route.children.length && { + children: setUrls(route.children, parentUrl + "/" + route.path), + }))); })); + } + return routes.map((/** + * @param {?} route + * @return {?} + */ + function (route) { return (tslib_1.__assign({}, route, { url: "/" + route.path }, (route.children && + route.children.length && { + children: setUrls(route.children, "/" + route.path), + }))); })); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wbHVnaW5zL2NvbmZpZy9jb25maWcucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBZ0MsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUV6RCxNQUFNLEtBQU8sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUM7QUFFMUY7SUFJRSxzQkFBd0QsT0FBaUIsRUFBVSxNQUFjO1FBQXpDLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnpGLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRStELENBQUM7Ozs7Ozs7SUFFckcsNkJBQU07Ozs7OztJQUFOLFVBQU8sS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjs7WUFDN0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7O1lBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUUvRCw2R0FBNkc7UUFDN0csSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2pDLElBQUEsd0NBQTBELEVBQXhELGtCQUFNLEVBQUUsc0JBQWdEO1lBQzlELE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTFDLEtBQUss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O1NBQ3JCO0lBQ0gsQ0FBQyxFQUFDLENBQUM7SUFFTCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFDO0FBQ3BELENBQUM7Ozs7OztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsU0FBa0I7SUFDMUQsSUFBSSxTQUFTLEVBQUU7UUFDYiw4Q0FBOEM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQ3RCLEtBQUssSUFDUixHQUFHLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFNLElBQzlCLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUk7WUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFLLFNBQVMsU0FBSSxLQUFLLENBQUMsSUFBTSxDQUFDO1NBQ2hFLENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7S0FDTDtJQUVELE9BQU8sTUFBTSxDQUFDLEdBQUc7Ozs7SUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLHNCQUN0QixLQUFLLElBQ1IsR0FBRyxFQUFFLE1BQUksS0FBSyxDQUFDLElBQU0sSUFDbEIsQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSTtRQUN2QixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBSSxLQUFLLENBQUMsSUFBTSxDQUFDO0tBQ3BELENBQUMsRUFDSixFQVB5QixDQU96QixFQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYWN0aW9uTWF0Y2hlciwgSW5pdFN0YXRlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBzZXRWYWx1ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTkdYU19DT05GSUdfUExVR0lOX09QVElPTlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hTX0NPTkZJR19QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBBQlAuUm9vdCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhY3Rpb25NYXRjaGVyKGV2ZW50KTtcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSBtYXRjaGVzKEluaXRTdGF0ZSkgfHwgbWF0Y2hlcyhVcGRhdGVTdGF0ZSk7XG5cbiAgICAvLyBjb25zdCBsYXlvdXRzID0gc25xKCgpID0+IHRoaXMub3B0aW9ucy5yZXF1aXJlbWVudHMubGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+IGxheW91dCBpbnN0YW5jZW9mIFR5cGUpLCBbXSk7XG4gICAgaWYgKGlzSW5pdEFjdGlvbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGV0IHsgcm91dGVzLCB3cmFwcGVycyB9ID0gdHJhbnNmb3JtUm91dGVzKHRoaXMucm91dGVyLmNvbmZpZyk7XG4gICAgICByb3V0ZXMgPSBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMsIHdyYXBwZXJzKTtcblxuICAgICAgc3RhdGUgPSBzZXRWYWx1ZShzdGF0ZSwgJ0NvbmZpZ1N0YXRlJywge1xuICAgICAgICAuLi4oc3RhdGUuQ29uZmlnU3RhdGUgJiYgeyAuLi5zdGF0ZS5Db25maWdTdGF0ZSB9KSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICByb3V0ZXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb3V0ZXMocm91dGVzOiBSb3V0ZXMgPSBbXSwgd3JhcHBlcnM6IEFCUC5GdWxsUm91dGVbXSA9IFtdKTogYW55IHtcbiAgY29uc3QgYWJwUm91dGVzOiBBQlAuRnVsbFJvdXRlW10gPSByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMucm91dGVzLmZpbmQociA9PiByLnBhdGggPT09IHJvdXRlLnBhdGgpLCBmYWxzZSk7XG4gICAgfSlcbiAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLmRhdGEucm91dGVzLnJvdXRlc10sIFtdKTtcblxuICB3cmFwcGVycyA9IGFicFJvdXRlcy5maWx0ZXIoYXIgPT4gYXIud3JhcHBlcik7XG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gW10gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuICByb3V0ZXNcbiAgICAuZmlsdGVyKHJvdXRlID0+IChyb3V0ZS5kYXRhIHx8IHt9KS5yb3V0ZXMgJiYgKHJvdXRlLmNvbXBvbmVudCB8fCByb3V0ZS5sb2FkQ2hpbGRyZW4pKVxuICAgIC5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIGNvbnN0IGFicFBhY2thZ2UgPSBhYnBSb3V0ZXMuZmluZChcbiAgICAgICAgYWJwID0+IGFicC5wYXRoLnRvTG93ZXJDYXNlKCkgPT09IHJvdXRlLnBhdGgudG9Mb3dlckNhc2UoKSAmJiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMucm91dGVzLmxlbmd0aCwgZmFsc2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0cmFuc2Zvcm1lZDtcblxuICAgICAgaWYgKGFicFBhY2thZ2UpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQucHVzaChhYnBQYWNrYWdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRyYW5zZm9ybWVkLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkLnB1c2goe1xuICAgICAgICAgIC4uLnJvdXRlLmRhdGEucm91dGVzLFxuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgbmFtZTogc25xKCgpID0+IHJvdXRlLmRhdGEucm91dGVzLm5hbWUsIHJvdXRlLnBhdGgpLFxuICAgICAgICAgIGNoaWxkcmVuOiByb3V0ZS5kYXRhLnJvdXRlcy5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgfSBhcyBBQlAuRnVsbFJvdXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4geyByb3V0ZXM6IHNldFVybHModHJhbnNmb3JtZWQpLCB3cmFwcGVycyB9O1xufVxuXG5mdW5jdGlvbiBzZXRVcmxzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLCBwYXJlbnRVcmw/OiBzdHJpbmcpOiBBQlAuRnVsbFJvdXRlW10ge1xuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gdGhpcyBpZiBibG9jayB1c2luZyBmb3Igb25seSByZWN1cnNpdmUgY2FsbFxuXG4gICAgcmV0dXJuIHJvdXRlcy5tYXAocm91dGUgPT4gKHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgdXJsOiBgJHtwYXJlbnRVcmx9LyR7cm91dGUucGF0aH1gLFxuICAgICAgLi4uKHJvdXRlLmNoaWxkcmVuICYmXG4gICAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgICAgY2hpbGRyZW46IHNldFVybHMocm91dGUuY2hpbGRyZW4sIGAke3BhcmVudFVybH0vJHtyb3V0ZS5wYXRofWApLFxuICAgICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiAoe1xuICAgIC4uLnJvdXRlLFxuICAgIHVybDogYC8ke3JvdXRlLnBhdGh9YCxcbiAgICAuLi4ocm91dGUuY2hpbGRyZW4gJiZcbiAgICAgIHJvdXRlLmNoaWxkcmVuLmxlbmd0aCAmJiB7XG4gICAgICAgIGNoaWxkcmVuOiBzZXRVcmxzKHJvdXRlLmNoaWxkcmVuLCBgLyR7cm91dGUucGF0aH1gKSxcbiAgICAgIH0pLFxuICB9KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/index.js b/npm/ng-packs/dist/core/esm5/lib/plugins/index.js index 451fc91aad..f82c22bb69 100644 --- a/npm/ng-packs/dist/core/esm5/lib/plugins/index.js +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/index.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './config.plugin'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseURBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy5wbHVnaW4nO1xuIl19 \ No newline at end of file +export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './config/config.plugin'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseURBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy9jb25maWcucGx1Z2luJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/internals.js b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/internals.js new file mode 100644 index 0000000000..541e7b0a37 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/internals.js @@ -0,0 +1,85 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +/** @type {?} */ +var DOLLAR_CHAR_CODE = 36; +/** + * @param {?} name + * @return {?} + */ +export function removeDollarAtTheEnd(name) { + /** @type {?} */ + var lastCharIndex = name.length - 1; + /** @type {?} */ + var dollarAtTheEnd = name.charCodeAt(lastCharIndex) === DOLLAR_CHAR_CODE; + return dollarAtTheEnd ? name.slice(0, lastCharIndex) : name; +} +/** + * @param {?} selectorOrFeature + * @param {?} paths + * @return {?} + */ +export function getPropsArray(selectorOrFeature, paths) { + if (paths.length) { + return tslib_1.__spread([selectorOrFeature], paths); + } + return selectorOrFeature.split('.'); +} +/** + * @param {?} paths + * @return {?} + */ +function compliantPropGetter(paths) { + /** @type {?} */ + var copyOfPaths = tslib_1.__spread(paths); + return (/** + * @param {?} obj + * @return {?} + */ + function (obj) { return copyOfPaths.reduce((/** + * @param {?} acc + * @param {?} part + * @return {?} + */ + function (acc, part) { return acc && acc[part]; }), obj); }); +} +/** + * @param {?} paths + * @return {?} + */ +function fastPropGetter(paths) { + /** @type {?} */ + var segments = paths; + /** @type {?} */ + var seg = 'store.' + segments[0]; + /** @type {?} */ + var i = 0; + /** @type {?} */ + var l = segments.length; + /** @type {?} */ + var expr = seg; + while (++i < l) { + expr = expr + ' && ' + (seg = seg + '.' + segments[i]); + } + /** @type {?} */ + var fn = new Function('store', 'return ' + expr + ';'); + return (/** @type {?} */ (fn)); +} +/** + * @param {?} paths + * @param {?} config + * @return {?} + */ +export function propGetter(paths, config) { + if (config && config.compatibility && config.compatibility.strictContentSecurityPolicy) { + return compliantPropGetter(paths); + } + else { + return fastPropGetter(paths); + } +} +/** @type {?} */ +export var META_KEY = 'NGXS_META'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L2ludGVybmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFFTSxnQkFBZ0IsR0FBRyxFQUFFOzs7OztBQUUzQixNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBWTs7UUFDekMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQzs7UUFDL0IsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssZ0JBQWdCO0lBQzFFLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzlELENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsaUJBQXlCLEVBQUUsS0FBZTtJQUN0RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDaEIseUJBQVEsaUJBQWlCLEdBQUssS0FBSyxFQUFFO0tBQ3RDO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdEMsQ0FBQzs7Ozs7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQWU7O1FBQ3BDLFdBQVcsb0JBQU8sS0FBSyxDQUFDO0lBQzlCOzs7O0lBQU8sVUFBQSxHQUFHLElBQUksT0FBQSxXQUFXLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQVEsRUFBRSxJQUFZLElBQUssT0FBQSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFoQixDQUFnQixHQUFFLEdBQUcsQ0FBQyxFQUFyRSxDQUFxRSxFQUFDO0FBQ3RGLENBQUM7Ozs7O0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBZTs7UUFDL0IsUUFBUSxHQUFHLEtBQUs7O1FBQ2xCLEdBQUcsR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQzs7UUFDNUIsQ0FBQyxHQUFHLENBQUM7O1FBQ0gsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNOztRQUVyQixJQUFJLEdBQUcsR0FBRztJQUNkLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2QsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN4RDs7UUFFSyxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBRXhELE9BQU8sbUJBQWlCLEVBQUUsRUFBQSxDQUFDO0FBQzdCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBZSxFQUFFLE1BQWtCO0lBQzVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsRUFBRTtRQUN0RixPQUFPLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ25DO1NBQU07UUFDTCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM5QjtBQUNILENBQUM7O0FBRUQsTUFBTSxLQUFPLFFBQVEsR0FBRyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJ0BuZ3hzL3N0b3JlL3NyYy9zeW1ib2xzJztcblxuY29uc3QgRE9MTEFSX0NIQVJfQ09ERSA9IDM2O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRG9sbGFyQXRUaGVFbmQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGFzdENoYXJJbmRleCA9IG5hbWUubGVuZ3RoIC0gMTtcbiAgY29uc3QgZG9sbGFyQXRUaGVFbmQgPSBuYW1lLmNoYXJDb2RlQXQobGFzdENoYXJJbmRleCkgPT09IERPTExBUl9DSEFSX0NPREU7XG4gIHJldHVybiBkb2xsYXJBdFRoZUVuZCA/IG5hbWUuc2xpY2UoMCwgbGFzdENoYXJJbmRleCkgOiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcHNBcnJheShzZWxlY3Rvck9yRmVhdHVyZTogc3RyaW5nLCBwYXRoczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGlmIChwYXRocy5sZW5ndGgpIHtcbiAgICByZXR1cm4gW3NlbGVjdG9yT3JGZWF0dXJlLCAuLi5wYXRoc107XG4gIH1cbiAgcmV0dXJuIHNlbGVjdG9yT3JGZWF0dXJlLnNwbGl0KCcuJyk7XG59XG5cbmZ1bmN0aW9uIGNvbXBsaWFudFByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdKTogKHg6IGFueSkgPT4gYW55IHtcbiAgY29uc3QgY29weU9mUGF0aHMgPSBbLi4ucGF0aHNdO1xuICByZXR1cm4gb2JqID0+IGNvcHlPZlBhdGhzLnJlZHVjZSgoYWNjOiBhbnksIHBhcnQ6IHN0cmluZykgPT4gYWNjICYmIGFjY1twYXJ0XSwgb2JqKTtcbn1cblxuZnVuY3Rpb24gZmFzdFByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdKTogKHg6IGFueSkgPT4gYW55IHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRocztcbiAgbGV0IHNlZyA9ICdzdG9yZS4nICsgc2VnbWVudHNbMF07XG4gIGxldCBpID0gMDtcbiAgY29uc3QgbCA9IHNlZ21lbnRzLmxlbmd0aDtcblxuICBsZXQgZXhwciA9IHNlZztcbiAgd2hpbGUgKCsraSA8IGwpIHtcbiAgICBleHByID0gZXhwciArICcgJiYgJyArIChzZWcgPSBzZWcgKyAnLicgKyBzZWdtZW50c1tpXSk7XG4gIH1cblxuICBjb25zdCBmbiA9IG5ldyBGdW5jdGlvbignc3RvcmUnLCAncmV0dXJuICcgKyBleHByICsgJzsnKTtcblxuICByZXR1cm4gPCh4OiBhbnkpID0+IGFueT5mbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BHZXR0ZXIocGF0aHM6IHN0cmluZ1tdLCBjb25maWc6IE5neHNDb25maWcpIHtcbiAgaWYgKGNvbmZpZyAmJiBjb25maWcuY29tcGF0aWJpbGl0eSAmJiBjb25maWcuY29tcGF0aWJpbGl0eS5zdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3kpIHtcbiAgICByZXR1cm4gY29tcGxpYW50UHJvcEdldHRlcihwYXRocyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhc3RQcm9wR2V0dGVyKHBhdGhzKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/select-snapshot.js b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/select-snapshot.js new file mode 100644 index 0000000000..b5e0c905aa --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/select-snapshot.js @@ -0,0 +1,86 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { StaticInjector } from './static-injector'; +import { META_KEY, getPropsArray, propGetter, removeDollarAtTheEnd } from './internals'; +import { Store } from '@ngxs/store'; +import { NgxsConfig } from '@ngxs/store/src/symbols'; +/** + * @param {?=} selectorOrFeature + * @param {...?} paths + * @return {?} + */ +export function SelectSnapshot(selectorOrFeature) { + var paths = []; + for (var _i = 1; _i < arguments.length; _i++) { + paths[_i - 1] = arguments[_i]; + } + return (/** + * @param {?} target + * @param {?} name + * @return {?} + */ + function (target, name) { + /** @type {?} */ + var selectorFnName = "__" + name + "__selector"; + if (!selectorOrFeature) { + selectorOrFeature = removeDollarAtTheEnd(name); + } + /** @type {?} */ + var createSelector = (/** + * @param {?} selectorOrFeature + * @return {?} + */ + function (selectorOrFeature) { + /** @type {?} */ + var config = getConfig(); + if (typeof selectorOrFeature === 'string') { + /** @type {?} */ + var propsArray = getPropsArray(selectorOrFeature, paths); + return propGetter(propsArray, config); + } + else if (selectorOrFeature[META_KEY] && selectorOrFeature[META_KEY].path) { + return propGetter(selectorOrFeature[META_KEY].path.split('.'), config); + } + else { + return selectorOrFeature; + } + }); + if (delete target[name]) { + Object.defineProperty(target, selectorFnName, { + writable: true, + enumerable: false, + configurable: true, + }); + Object.defineProperty(target, name, { + get: (/** + * @return {?} + */ + function () { + // Create anonymous function that will map to the needed state only once + /** @type {?} */ + var selector = this[selectorFnName] || (this[selectorFnName] = createSelector(selectorOrFeature)); + /** @type {?} */ + var store = getStore(); + return store.selectSnapshot(selector); + }), + enumerable: true, + configurable: true, + }); + } + }); +} +/** + * @return {?} + */ +function getStore() { + return StaticInjector.injector.get(Store); +} +/** + * @return {?} + */ +function getConfig() { + return StaticInjector.injector.get(NgxsConfig); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L3NlbGVjdC1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBRXJELE1BQU0sVUFBVSxjQUFjLENBQUMsaUJBQXVCO0lBQUUsZUFBa0I7U0FBbEIsVUFBa0IsRUFBbEIscUJBQWtCLEVBQWxCLElBQWtCO1FBQWxCLDhCQUFrQjs7SUFDeEU7Ozs7O0lBQU8sVUFBQyxNQUFXLEVBQUUsSUFBWTs7WUFDekIsY0FBYyxHQUFHLE9BQUssSUFBSSxlQUFZO1FBRTVDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoRDs7WUFFSyxjQUFjOzs7O1FBQUcsVUFBQyxpQkFBc0I7O2dCQUN0QyxNQUFNLEdBQUcsU0FBUyxFQUFFO1lBRTFCLElBQUksT0FBTyxpQkFBaUIsS0FBSyxRQUFRLEVBQUU7O29CQUNuQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztnQkFDMUQsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUMxRSxPQUFPLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3hFO2lCQUFNO2dCQUNMLE9BQU8saUJBQWlCLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUE7UUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRTtnQkFDNUMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDbEMsR0FBRzs7O2dCQUFFOzs7d0JBRUcsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs7d0JBQzdGLEtBQUssR0FBRyxRQUFRLEVBQUU7b0JBQ3hCLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFBO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsRUFBQztBQUNKLENBQUM7Ozs7QUFFRCxTQUFTLFFBQVE7SUFDZixPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFRLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7Ozs7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBYSxVQUFVLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGljSW5qZWN0b3IgfSBmcm9tICcuL3N0YXRpYy1pbmplY3Rvcic7XG5pbXBvcnQgeyBNRVRBX0tFWSwgZ2V0UHJvcHNBcnJheSwgcHJvcEdldHRlciwgcmVtb3ZlRG9sbGFyQXRUaGVFbmQgfSBmcm9tICcuL2ludGVybmFscyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICdAbmd4cy9zdG9yZS9zcmMvc3ltYm9scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RTbmFwc2hvdChzZWxlY3Rvck9yRmVhdHVyZT86IGFueSwgLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm5OYW1lID0gYF9fJHtuYW1lfV9fc2VsZWN0b3JgO1xuXG4gICAgaWYgKCFzZWxlY3Rvck9yRmVhdHVyZSkge1xuICAgICAgc2VsZWN0b3JPckZlYXR1cmUgPSByZW1vdmVEb2xsYXJBdFRoZUVuZChuYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVTZWxlY3RvciA9IChzZWxlY3Rvck9yRmVhdHVyZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcblxuICAgICAgaWYgKHR5cGVvZiBzZWxlY3Rvck9yRmVhdHVyZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgcHJvcHNBcnJheSA9IGdldFByb3BzQXJyYXkoc2VsZWN0b3JPckZlYXR1cmUsIHBhdGhzKTtcbiAgICAgICAgcmV0dXJuIHByb3BHZXR0ZXIocHJvcHNBcnJheSwgY29uZmlnKTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3JPckZlYXR1cmVbTUVUQV9LRVldICYmIHNlbGVjdG9yT3JGZWF0dXJlW01FVEFfS0VZXS5wYXRoKSB7XG4gICAgICAgIHJldHVybiBwcm9wR2V0dGVyKHNlbGVjdG9yT3JGZWF0dXJlW01FVEFfS0VZXS5wYXRoLnNwbGl0KCcuJyksIGNvbmZpZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3JPckZlYXR1cmU7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChkZWxldGUgdGFyZ2V0W25hbWVdKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBzZWxlY3RvckZuTmFtZSwge1xuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgLy8gQ3JlYXRlIGFub255bW91cyBmdW5jdGlvbiB0aGF0IHdpbGwgbWFwIHRvIHRoZSBuZWVkZWQgc3RhdGUgb25seSBvbmNlXG4gICAgICAgICAgY29uc3Qgc2VsZWN0b3IgPSB0aGlzW3NlbGVjdG9yRm5OYW1lXSB8fCAodGhpc1tzZWxlY3RvckZuTmFtZV0gPSBjcmVhdGVTZWxlY3RvcihzZWxlY3Rvck9yRmVhdHVyZSkpO1xuICAgICAgICAgIGNvbnN0IHN0b3JlID0gZ2V0U3RvcmUoKTtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuc2VsZWN0U25hcHNob3Qoc2VsZWN0b3IpO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlKCk6IFN0b3JlIHtcbiAgcmV0dXJuIFN0YXRpY0luamVjdG9yLmluamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xufVxuXG5mdW5jdGlvbiBnZXRDb25maWcoKTogTmd4c0NvbmZpZyB7XG4gIHJldHVybiBTdGF0aWNJbmplY3Rvci5pbmplY3Rvci5nZXQ8Tmd4c0NvbmZpZz4oTmd4c0NvbmZpZyk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/static-injector.js b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/static-injector.js new file mode 100644 index 0000000000..c884e499cc --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/plugins/select-snapshot/static-injector.js @@ -0,0 +1,25 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injector, Injectable } from '@angular/core'; +var StaticInjector = /** @class */ (function () { + function StaticInjector(injector) { + StaticInjector.injector = injector; + } + StaticInjector.injector = null; + StaticInjector.decorators = [ + { type: Injectable } + ]; + /** @nocollapse */ + StaticInjector.ctorParameters = function () { return [ + { type: Injector } + ]; }; + return StaticInjector; +}()); +export { StaticInjector }; +if (false) { + /** @type {?} */ + StaticInjector.injector; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvc2VsZWN0LXNuYXBzaG90L3N0YXRpYy1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQ7SUFJRSx3QkFBWSxRQUFrQjtRQUM1QixjQUFjLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBSmEsdUJBQVEsR0FBb0IsSUFBSSxDQUFDOztnQkFGaEQsVUFBVTs7OztnQkFGRixRQUFROztJQVNqQixxQkFBQztDQUFBLEFBUEQsSUFPQztTQU5ZLGNBQWM7OztJQUN6Qix3QkFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RhdGljSW5qZWN0b3Ige1xuICBwdWJsaWMgc3RhdGljIGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIFN0YXRpY0luamVjdG9yLmluamVjdG9yID0gaW5qZWN0b3I7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/providers/locale.provider.js b/npm/ng-packs/dist/core/esm5/lib/providers/locale.provider.js new file mode 100644 index 0000000000..9710c5fec0 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/providers/locale.provider.js @@ -0,0 +1,51 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { LOCALE_ID } from '@angular/core'; +import localesMapping from '../constants/different-locales'; +import { LocalizationService } from '../services/localization.service'; +var LocaleId = /** @class */ (function (_super) { + tslib_1.__extends(LocaleId, _super); + function LocaleId(localizationService) { + var _this = _super.call(this) || this; + _this.localizationService = localizationService; + return _this; + } + /** + * @return {?} + */ + LocaleId.prototype.toString = /** + * @return {?} + */ + function () { + var currentLang = this.localizationService.currentLang; + return localesMapping[currentLang] || currentLang; + }; + /** + * @return {?} + */ + LocaleId.prototype.valueOf = /** + * @return {?} + */ + function () { + return this.toString(); + }; + return LocaleId; +}(String)); +export { LocaleId }; +if (false) { + /** + * @type {?} + * @private + */ + LocaleId.prototype.localizationService; +} +/** @type {?} */ +export var LocaleProvider = { + provide: LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9sb2NhbGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sY0FBYyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFO0lBQThCLG9DQUFNO0lBQ2xDLGtCQUFvQixtQkFBd0M7UUFBNUQsWUFDRSxpQkFBTyxTQUNSO1FBRm1CLHlCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7O0lBRTVELENBQUM7Ozs7SUFFRCwyQkFBUTs7O0lBQVI7UUFDVSxJQUFBLGtEQUFXO1FBQ25CLE9BQU8sY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQztJQUNwRCxDQUFDOzs7O0lBRUQsMEJBQU87OztJQUFQO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNILGVBQUM7QUFBRCxDQUFDLEFBYkQsQ0FBOEIsTUFBTSxHQWFuQzs7Ozs7OztJQVphLHVDQUFnRDs7O0FBYzlELE1BQU0sS0FBTyxjQUFjLEdBQWE7SUFDdEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7Q0FDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMT0NBTEVfSUQsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbG9jYWxlc01hcHBpbmcgZnJvbSAnLi4vY29uc3RhbnRzL2RpZmZlcmVudC1sb2NhbGVzJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbGl6YXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGVJZCBleHRlbmRzIFN0cmluZyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgY3VycmVudExhbmcgfSA9IHRoaXMubG9jYWxpemF0aW9uU2VydmljZTtcbiAgICByZXR1cm4gbG9jYWxlc01hcHBpbmdbY3VycmVudExhbmddIHx8IGN1cnJlbnRMYW5nO1xuICB9XG5cbiAgdmFsdWVPZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IExvY2FsZVByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTE9DQUxFX0lELFxuICB1c2VDbGFzczogTG9jYWxlSWQsXG4gIGRlcHM6IFtMb2NhbGl6YXRpb25TZXJ2aWNlXSxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/providers/reuse-strategy.provider.js b/npm/ng-packs/dist/core/esm5/lib/providers/reuse-strategy.provider.js new file mode 100644 index 0000000000..7a31929b22 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/providers/reuse-strategy.provider.js @@ -0,0 +1,82 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { RouteReuseStrategy } from '@angular/router'; +var CustomRouteReuseStategy = /** @class */ (function () { + function CustomRouteReuseStategy() { + this.handlers = {}; + } + /** + * @param {?} route + * @return {?} + */ + CustomRouteReuseStategy.prototype.shouldDetach = /** + * @param {?} route + * @return {?} + */ + function (route) { + return route.data.shouldReuse || false; + }; + /** + * @param {?} route + * @param {?} handle + * @return {?} + */ + CustomRouteReuseStategy.prototype.store = /** + * @param {?} route + * @param {?} handle + * @return {?} + */ + function (route, handle) { + // if (route.data.shouldReuse) { + this.handlers[route.routeConfig.path] = handle; + // } + }; + /** + * @param {?} route + * @return {?} + */ + CustomRouteReuseStategy.prototype.shouldAttach = /** + * @param {?} route + * @return {?} + */ + function (route) { + return !!route.routeConfig && !!this.handlers[route.routeConfig.path]; + }; + /** + * @param {?} route + * @return {?} + */ + CustomRouteReuseStategy.prototype.retrieve = /** + * @param {?} route + * @return {?} + */ + function (route) { + if (!route.routeConfig) + return null; + return this.handlers[route.routeConfig.path]; + }; + /** + * @param {?} future + * @param {?} curr + * @return {?} + */ + CustomRouteReuseStategy.prototype.shouldReuseRoute = /** + * @param {?} future + * @param {?} curr + * @return {?} + */ + function (future, curr) { + return future.data.shouldReuse || true; + }; + return CustomRouteReuseStategy; +}()); +export { CustomRouteReuseStategy }; +if (false) { + /** @type {?} */ + CustomRouteReuseStategy.prototype.handlers; +} +/** @type {?} */ +export var RouteReuseProvider = { provide: RouteReuseStrategy, useClass: CustomRouteReuseStategy }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2Utc3RyYXRlZ3kucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvcHJvdmlkZXJzL3JldXNlLXN0cmF0ZWd5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQStDLE1BQU0saUJBQWlCLENBQUM7QUFFbEc7SUFBQTtRQUNFLGFBQVEsR0FBMkMsRUFBRSxDQUFDO0lBd0J4RCxDQUFDOzs7OztJQXRCQyw4Q0FBWTs7OztJQUFaLFVBQWEsS0FBNkI7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBRUQsdUNBQUs7Ozs7O0lBQUwsVUFBTSxLQUE2QixFQUFFLE1BQVU7UUFDN0MsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDL0MsSUFBSTtJQUNOLENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLEtBQTZCO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7OztJQUVELDBDQUFROzs7O0lBQVIsVUFBUyxLQUE2QjtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs7Ozs7SUFFRCxrREFBZ0I7Ozs7O0lBQWhCLFVBQWlCLE1BQThCLEVBQUUsSUFBNEI7UUFDM0UsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUNILDhCQUFDO0FBQUQsQ0FBQyxBQXpCRCxJQXlCQzs7OztJQXhCQywyQ0FBc0Q7OztBQTBCeEQsTUFBTSxLQUFPLGtCQUFrQixHQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlUmV1c2VTdHJhdGVneSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGV0YWNoZWRSb3V0ZUhhbmRsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21Sb3V0ZVJldXNlU3RhdGVneSBpbXBsZW1lbnRzIFJvdXRlUmV1c2VTdHJhdGVneSB7XG4gIGhhbmRsZXJzOiB7IFtrZXk6IHN0cmluZ106IERldGFjaGVkUm91dGVIYW5kbGUgfSA9IHt9O1xuXG4gIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByb3V0ZS5kYXRhLnNob3VsZFJldXNlIHx8IGZhbHNlO1xuICB9XG5cbiAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGhhbmRsZToge30pOiB2b2lkIHtcbiAgICAvLyBpZiAocm91dGUuZGF0YS5zaG91bGRSZXVzZSkge1xuICAgIHRoaXMuaGFuZGxlcnNbcm91dGUucm91dGVDb25maWcucGF0aF0gPSBoYW5kbGU7XG4gICAgLy8gfVxuICB9XG5cbiAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhcm91dGUucm91dGVDb25maWcgJiYgISF0aGlzLmhhbmRsZXJzW3JvdXRlLnJvdXRlQ29uZmlnLnBhdGhdO1xuICB9XG5cbiAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiB7fSB7XG4gICAgaWYgKCFyb3V0ZS5yb3V0ZUNvbmZpZykgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlcnNbcm91dGUucm91dGVDb25maWcucGF0aF07XG4gIH1cblxuICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmdXR1cmUuZGF0YS5zaG91bGRSZXVzZSB8fCB0cnVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBSb3V0ZVJldXNlUHJvdmlkZXI6IFByb3ZpZGVyID0geyBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksIHVzZUNsYXNzOiBDdXN0b21Sb3V0ZVJldXNlU3RhdGVneSB9O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/services/localization.service.js b/npm/ng-packs/dist/core/esm5/lib/services/localization.service.js index 5c194a3d3c..1a8375256d 100644 --- a/npm/ng-packs/dist/core/esm5/lib/services/localization.service.js +++ b/npm/ng-packs/dist/core/esm5/lib/services/localization.service.js @@ -3,15 +3,78 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { Injectable } from '@angular/core'; -import { Store } from '@ngxs/store'; -import { ConfigState } from '../states'; +import { Injectable, Optional, SkipSelf } from '@angular/core'; +import { Router } from '@angular/router'; +import { Actions, Store } from '@ngxs/store'; +import { noop } from 'rxjs'; +import { ConfigState } from '../states/config.state'; +import { SessionState } from '../states/session.state'; +import { registerLocale } from '../utils/initial-utils'; import * as i0 from "@angular/core"; import * as i1 from "@ngxs/store"; +import * as i2 from "@angular/router"; var LocalizationService = /** @class */ (function () { - function LocalizationService(store) { + function LocalizationService(store, router, actions, otherInstance) { this.store = store; + this.router = router; + this.actions = actions; + if (otherInstance) + throw new Error('LocaleService should have only one instance.'); } + Object.defineProperty(LocalizationService.prototype, "currentLang", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(SessionState.getLanguage); + }, + enumerable: true, + configurable: true + }); + /** + * @private + * @param {?} reuse + * @return {?} + */ + LocalizationService.prototype.setRouteReuse = /** + * @private + * @param {?} reuse + * @return {?} + */ + function (reuse) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + }; + /** + * @param {?} locale + * @return {?} + */ + LocalizationService.prototype.registerLocale = /** + * @param {?} locale + * @return {?} + */ + function (locale) { + var _this = this; + var shouldReuseRoute = this.router.routeReuseStrategy.shouldReuseRoute; + this.setRouteReuse((/** + * @return {?} + */ + function () { return false; })); + this.router.navigated = false; + return registerLocale(locale).then((/** + * @return {?} + */ + function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.router.navigateByUrl(this.router.url).catch(noop)]; + case 1: + _a.sent(); + this.setRouteReuse(shouldReuseRoute); + return [2 /*return*/]; + } + }); + }); })); + }; /** * @param {?} keys * @param {...?} interpolateParams @@ -51,9 +114,12 @@ var LocalizationService = /** @class */ (function () { ]; /** @nocollapse */ LocalizationService.ctorParameters = function () { return [ - { type: Store } + { type: Store }, + { type: Router }, + { type: Actions }, + { type: LocalizationService, decorators: [{ type: Optional }, { type: SkipSelf }] } ]; }; - /** @nocollapse */ LocalizationService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.Store)); }, token: LocalizationService, providedIn: "root" }); + /** @nocollapse */ LocalizationService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.Store), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i1.Actions), i0.ɵɵinject(LocalizationService, 12)); }, token: LocalizationService, providedIn: "root" }); return LocalizationService; }()); export { LocalizationService }; @@ -63,5 +129,15 @@ if (false) { * @private */ LocalizationService.prototype.store; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.router; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.actions; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBR3hDO0lBRUUsNkJBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7O0lBRXBDLGlDQUFHOzs7OztJQUFILFVBQUksSUFBWTtRQUFFLDJCQUE4QjthQUE5QixVQUE4QixFQUE5QixxQkFBOEIsRUFBOUIsSUFBOEI7WUFBOUIsMENBQThCOztRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLE9BQW5CLFdBQVcsb0JBQVMsSUFBSSxHQUFLLGlCQUFpQixHQUFFLENBQUM7SUFDNUUsQ0FBQzs7Ozs7O0lBRUQscUNBQU87Ozs7O0lBQVAsVUFBUSxJQUFZO1FBQUUsMkJBQThCO2FBQTlCLFVBQThCLEVBQTlCLHFCQUE4QixFQUE5QixJQUE4QjtZQUE5QiwwQ0FBOEI7O1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sT0FBbkIsV0FBVyxvQkFBUyxJQUFJLEdBQUssaUJBQWlCLEdBQUUsQ0FBQztJQUNwRixDQUFDOztnQkFWRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dCQUp6QixLQUFLOzs7OEJBRGQ7Q0FnQkMsQUFYRCxJQVdDO1NBVlksbUJBQW1COzs7Ozs7SUFDbEIsb0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGdldChrZXlzOiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1N0YXRlLmdldENvcHkoa2V5cywgLi4uaW50ZXJwb2xhdGVQYXJhbXMpKTtcbiAgfVxuXG4gIGluc3RhbnQoa2V5czogc3RyaW5nLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldENvcHkoa2V5cywgLi4uaW50ZXJwb2xhdGVQYXJhbXMpKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSXhEO0lBTUUsNkJBQ1UsS0FBWSxFQUNaLE1BQWMsRUFDZCxPQUFnQixFQUd4QixhQUFrQztRQUwxQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFLeEIsSUFBSSxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFiRCxzQkFBSSw0Q0FBVzs7OztRQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsQ0FBQzs7O09BQUE7Ozs7OztJQWFPLDJDQUFhOzs7OztJQUFyQixVQUFzQixLQUF1QjtRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVELDRDQUFjOzs7O0lBQWQsVUFBZSxNQUFjO1FBQTdCLGlCQVVDO1FBVFMsSUFBQSxrRUFBZ0I7UUFFeEIsSUFBSSxDQUFDLGFBQWE7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTlCLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUk7OztRQUFDOzs7NEJBQ2pDLHFCQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFBOzt3QkFBNUQsU0FBNEQsQ0FBQzt3QkFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDOzs7O2FBQ3RDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUVELGlDQUFHOzs7OztJQUFILFVBQUksSUFBWTtRQUFFLDJCQUE4QjthQUE5QixVQUE4QixFQUE5QixxQkFBOEIsRUFBOUIsSUFBOEI7WUFBOUIsMENBQThCOztRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLE9BQW5CLFdBQVcsb0JBQVMsSUFBSSxHQUFLLGlCQUFpQixHQUFFLENBQUM7SUFDNUUsQ0FBQzs7Ozs7O0lBRUQscUNBQU87Ozs7O0lBQVAsVUFBUSxJQUFZO1FBQUUsMkJBQThCO2FBQTlCLFVBQThCLEVBQTlCLHFCQUE4QixFQUE5QixJQUE4QjtZQUE5QiwwQ0FBOEI7O1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sT0FBbkIsV0FBVyxvQkFBUyxJQUFJLEdBQUssaUJBQWlCLEdBQUUsQ0FBQztJQUNwRixDQUFDOztnQkF2Q0YsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztnQkFSaEIsS0FBSztnQkFEVSxNQUFNO2dCQUM5QixPQUFPO2dCQW9CRyxtQkFBbUIsdUJBRmpDLFFBQVEsWUFDUixRQUFROzs7OEJBckJiO0NBa0RDLEFBeENELElBd0NDO1NBdkNZLG1CQUFtQjs7Ozs7O0lBTTVCLG9DQUFvQjs7Ozs7SUFDcEIscUNBQXNCOzs7OztJQUN0QixzQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IG5vb3AsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL2NvbmZpZy5zdGF0ZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyByZWdpc3RlckxvY2FsZSB9IGZyb20gJy4uL3V0aWxzL2luaXRpYWwtdXRpbHMnO1xuXG50eXBlIFNob3VsZFJldXNlUm91dGUgPSAoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiBib29sZWFuO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2Uge1xuICBnZXQgY3VycmVudExhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsXG4gICAgQE9wdGlvbmFsKClcbiAgICBAU2tpcFNlbGYoKVxuICAgIG90aGVySW5zdGFuY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXG4gICkge1xuICAgIGlmIChvdGhlckluc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsZVNlcnZpY2Ugc2hvdWxkIGhhdmUgb25seSBvbmUgaW5zdGFuY2UuJyk7XG4gIH1cblxuICBwcml2YXRlIHNldFJvdXRlUmV1c2UocmV1c2U6IFNob3VsZFJldXNlUm91dGUpIHtcbiAgICB0aGlzLnJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9IHJldXNlO1xuICB9XG5cbiAgcmVnaXN0ZXJMb2NhbGUobG9jYWxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IHNob3VsZFJldXNlUm91dGUgfSA9IHRoaXMucm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneTtcblxuICAgIHRoaXMuc2V0Um91dGVSZXVzZSgoKSA9PiBmYWxzZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVkID0gZmFsc2U7XG5cbiAgICByZXR1cm4gcmVnaXN0ZXJMb2NhbGUobG9jYWxlKS50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5yb3V0ZXIudXJsKS5jYXRjaChub29wKTtcbiAgICAgIHRoaXMuc2V0Um91dGVSZXVzZShzaG91bGRSZXVzZVJvdXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldChrZXlzOiBzdHJpbmcsIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1N0YXRlLmdldENvcHkoa2V5cywgLi4uaW50ZXJwb2xhdGVQYXJhbXMpKTtcbiAgfVxuXG4gIGluc3RhbnQoa2V5czogc3RyaW5nLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldENvcHkoa2V5cywgLi4uaW50ZXJwb2xhdGVQYXJhbXMpKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js b/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js index 9f636ed8de..a13903fb43 100644 --- a/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js +++ b/npm/ng-packs/dist/core/esm5/lib/services/profile.service.js @@ -43,23 +43,23 @@ var ProfileService = /** @class */ (function () { }; /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ - function (body, throwErr) { - if (throwErr === void 0) { throwErr = false; } + function (body, skipHandleError) { + if (skipHandleError === void 0) { skipHandleError = false; } /** @type {?} */ var request = { method: 'POST', url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request, { throwErr: throwErr }); + return this.rest.request(request, { skipHandleError: skipHandleError }); }; ProfileService.decorators = [ { type: Injectable, args: [{ @@ -81,4 +81,4 @@ if (false) { */ ProfileService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QztJQUlFLHdCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6Qyw0QkFBRzs7O0lBQUg7O1lBQ1EsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF5QixPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUVELCtCQUFNOzs7O0lBQU4sVUFBTyxJQUFzQjs7WUFDckIsT0FBTyxHQUFtQztZQUM5QyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7WUFDL0IsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7Ozs7SUFFRCx1Q0FBYzs7Ozs7SUFBZCxVQUFlLElBQW1DLEVBQUUsUUFBeUI7UUFBekIseUJBQUEsRUFBQSxnQkFBeUI7O1lBQ3JFLE9BQU8sR0FBZ0Q7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsMENBQTBDO1lBQy9DLElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBc0MsT0FBTyxFQUFFLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7O2dCQWpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQUxRLFdBQVc7Ozt5QkFGcEI7Q0F1Q0MsQUFsQ0QsSUFrQ0M7U0EvQlksY0FBYzs7Ozs7O0lBQ2IsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlLCBSZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0OiBSZXN0U2VydmljZSkge31cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxudWxsLCBQcm9maWxlLlJlc3BvbnNlPihyZXF1ZXN0KTtcbiAgfVxuXG4gIHVwZGF0ZShib2R5OiBQcm9maWxlLlJlc3BvbnNlKTogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2U+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZScsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5SZXNwb25zZSwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChib2R5OiBQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdCwgdGhyb3dFcnI6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLkNoYW5nZVBhc3N3b3JkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9hcGkvaWRlbnRpdHkvbXktcHJvZmlsZS9jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0LCBudWxsPihyZXF1ZXN0LCB7IHRocm93RXJyIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QztJQUlFLHdCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7OztJQUV6Qyw0QkFBRzs7O0lBQUg7O1lBQ1EsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF5QixPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUVELCtCQUFNOzs7O0lBQU4sVUFBTyxJQUFzQjs7WUFDckIsT0FBTyxHQUFtQztZQUM5QyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSwwQkFBMEI7WUFDL0IsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7Ozs7SUFFRCx1Q0FBYzs7Ozs7SUFBZCxVQUFlLElBQW1DLEVBQUUsZUFBZ0M7UUFBaEMsZ0NBQUEsRUFBQSx1QkFBZ0M7O1lBQzVFLE9BQU8sR0FBZ0Q7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsMENBQTBDO1lBQy9DLElBQUksTUFBQTtTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBc0MsT0FBTyxFQUFFLEVBQUUsZUFBZSxpQkFBQSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDOztnQkFqQ0YsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFMUSxXQUFXOzs7eUJBRnBCO0NBdUNDLEFBbENELElBa0NDO1NBL0JZLGNBQWM7Ozs7OztJQUNiLDhCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZSwgUmVzdCB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdDogUmVzdFNlcnZpY2UpIHt9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxudWxsPiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgUHJvZmlsZS5SZXNwb25zZT4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGUoYm9keTogUHJvZmlsZS5SZXNwb25zZSk6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxQcm9maWxlLlJlc3BvbnNlPiA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICB1cmw6ICcvYXBpL2lkZW50aXR5L215LXByb2ZpbGUnLFxuICAgICAgYm9keSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFByb2ZpbGUuUmVzcG9uc2UsIFByb2ZpbGUuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgY2hhbmdlUGFzc3dvcmQoYm9keTogUHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QsIHNraXBIYW5kbGVFcnJvcjogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFByb2ZpbGUuQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2FwaS9pZGVudGl0eS9teS1wcm9maWxlL2NoYW5nZS1wYXNzd29yZCcsXG4gICAgICBib2R5LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8UHJvZmlsZS5DaGFuZ2VQYXNzd29yZFJlcXVlc3QsIG51bGw+KHJlcXVlc3QsIHsgc2tpcEhhbmRsZUVycm9yIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/services/rest.service.js b/npm/ng-packs/dist/core/esm5/lib/services/rest.service.js index b63e292b7f..c8621d27b5 100644 --- a/npm/ng-packs/dist/core/esm5/lib/services/rest.service.js +++ b/npm/ng-packs/dist/core/esm5/lib/services/rest.service.js @@ -6,7 +6,7 @@ import * as tslib_1 from "tslib"; import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; -import { NEVER, throwError } from 'rxjs'; +import { throwError } from 'rxjs'; import { catchError, take } from 'rxjs/operators'; import { ConfigState } from '../states'; import { RestOccurError } from '../actions'; @@ -29,7 +29,7 @@ var RestService = /** @class */ (function () { function (err) { this.store.dispatch(new RestOccurError(err)); console.error(err); - return NEVER; + return throwError(err); }; /** * @template T, R @@ -48,7 +48,7 @@ var RestService = /** @class */ (function () { function (request, config, api) { var _this = this; if (config === void 0) { config = {}; } - var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, throwErr = config.throwErr; + var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, skipHandleError = config.skipHandleError; /** @type {?} */ var url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; var method = request.method, options = tslib_1.__rest(request, ["method"]); @@ -57,7 +57,7 @@ var RestService = /** @class */ (function () { * @return {?} */ function (err) { - if (throwErr) { + if (skipHandleError) { return throwError(err); } return _this.handleError(err); @@ -89,4 +89,4 @@ if (false) { */ RestService.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFFNUM7SUFJRSxxQkFBb0IsSUFBZ0IsRUFBVSxLQUFZO1FBQXRDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFFOUQsaUNBQVc7Ozs7SUFBWCxVQUFZLEdBQVE7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7Ozs7SUFFRCw2QkFBTzs7Ozs7OztJQUFQLFVBQWMsT0FBeUMsRUFBRSxNQUF3QixFQUFFLEdBQVk7UUFBL0YsaUJBY0M7UUFkd0QsdUJBQUEsRUFBQSxXQUF3QjtRQUN2RSxJQUFBLG1CQUEyQixFQUEzQixnREFBMkIsRUFBRSwwQkFBUTs7WUFDdkMsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRztRQUMzRSxJQUFBLHVCQUFNLEVBQUUsNkNBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsR0FBRyxFQUFFLHNDQUFFLE9BQU8sU0FBQSxJQUFLLE9BQU8sR0FBUyxDQUFDLENBQUMsSUFBSSxDQUMzRSxPQUFPLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDOUMsVUFBVTs7OztRQUFDLFVBQUEsR0FBRztZQUNaLElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1lBRUQsT0FBTyxLQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOztnQkExQkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFYUSxVQUFVO2dCQUVWLEtBQUs7OztzQkFGZDtDQW9DQyxBQTNCRCxJQTJCQztTQXhCWSxXQUFXOzs7Ozs7SUFDViwyQkFBd0I7Ozs7O0lBQUUsNEJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5FVkVSLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdCB9IGZyb20gJy4uL21vZGVscy9yZXN0JztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vc3RhdGVzJztcbmltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgaGFuZGxlRXJyb3IoZXJyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKGVycikpO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICByZXR1cm4gTkVWRVI7XG4gIH1cblxuICByZXF1ZXN0PFQsIFI+KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFQ+IHwgUmVzdC5SZXF1ZXN0PFQ+LCBjb25maWc6IFJlc3QuQ29uZmlnID0ge30sIGFwaT86IHN0cmluZyk6IE9ic2VydmFibGU8Uj4ge1xuICAgIGNvbnN0IHsgb2JzZXJ2ZSA9IFJlc3QuT2JzZXJ2ZS5Cb2R5LCB0aHJvd0VyciB9ID0gY29uZmlnO1xuICAgIGNvbnN0IHVybCA9IGFwaSB8fCB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFwaVVybCgpKSArIHJlcXVlc3QudXJsO1xuICAgIGNvbnN0IHsgbWV0aG9kLCAuLi5vcHRpb25zIH0gPSByZXF1ZXN0O1xuICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxUPihtZXRob2QsIHVybCwgeyBvYnNlcnZlLCAuLi5vcHRpb25zIH0gYXMgYW55KS5waXBlKFxuICAgICAgb2JzZXJ2ZSA9PT0gUmVzdC5PYnNlcnZlLkJvZHkgPyB0YWtlKDEpIDogbnVsbCxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgaWYgKHRocm93RXJyKSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKGVycik7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFxQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFFNUM7SUFJRSxxQkFBb0IsSUFBZ0IsRUFBVSxLQUFZO1FBQXRDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQzs7Ozs7SUFFOUQsaUNBQVc7Ozs7SUFBWCxVQUFZLEdBQVE7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7Ozs7O0lBRUQsNkJBQU87Ozs7Ozs7SUFBUCxVQUFjLE9BQXlDLEVBQUUsTUFBd0IsRUFBRSxHQUFZO1FBQS9GLGlCQWNDO1FBZHdELHVCQUFBLEVBQUEsV0FBd0I7UUFDdkUsSUFBQSxtQkFBMkIsRUFBM0IsZ0RBQTJCLEVBQUUsd0NBQWU7O1lBQzlDLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUc7UUFDM0UsSUFBQSx1QkFBTSxFQUFFLDZDQUFVO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUksTUFBTSxFQUFFLEdBQUcsRUFBRSxzQ0FBRSxPQUFPLFNBQUEsSUFBSyxPQUFPLEdBQVMsQ0FBQyxDQUFDLElBQUksQ0FDM0UsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzlDLFVBQVU7Ozs7UUFBQyxVQUFBLEdBQUc7WUFDWixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEI7WUFFRCxPQUFPLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dCQTFCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVhRLFVBQVU7Z0JBRVYsS0FBSzs7O3NCQUZkO0NBb0NDLEFBM0JELElBMkJDO1NBeEJZLFdBQVc7Ozs7OztJQUNWLDJCQUF3Qjs7Ozs7SUFBRSw0QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgTkVWRVIsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXN0IH0gZnJvbSAnLi4vbW9kZWxzL3Jlc3QnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBoYW5kbGVFcnJvcihlcnI6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVzdE9jY3VyRXJyb3IoZXJyKSk7XG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gIH1cblxuICByZXF1ZXN0PFQsIFI+KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFQ+IHwgUmVzdC5SZXF1ZXN0PFQ+LCBjb25maWc6IFJlc3QuQ29uZmlnID0ge30sIGFwaT86IHN0cmluZyk6IE9ic2VydmFibGU8Uj4ge1xuICAgIGNvbnN0IHsgb2JzZXJ2ZSA9IFJlc3QuT2JzZXJ2ZS5Cb2R5LCBza2lwSGFuZGxlRXJyb3IgfSA9IGNvbmZpZztcbiAgICBjb25zdCB1cmwgPSBhcGkgfHwgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRBcGlVcmwoKSkgKyByZXF1ZXN0LnVybDtcbiAgICBjb25zdCB7IG1ldGhvZCwgLi4ub3B0aW9ucyB9ID0gcmVxdWVzdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8VD4obWV0aG9kLCB1cmwsIHsgb2JzZXJ2ZSwgLi4ub3B0aW9ucyB9IGFzIGFueSkucGlwZShcbiAgICAgIG9ic2VydmUgPT09IFJlc3QuT2JzZXJ2ZS5Cb2R5ID8gdGFrZSgxKSA6IG51bGwsXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIGlmIChza2lwSGFuZGxlRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3IoZXJyKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/states/config.state.js b/npm/ng-packs/dist/core/esm5/lib/states/config.state.js index d5583a1776..9ebf5f5f17 100644 --- a/npm/ng-packs/dist/core/esm5/lib/states/config.state.js +++ b/npm/ng-packs/dist/core/esm5/lib/states/config.state.js @@ -94,6 +94,27 @@ var ConfigState = /** @class */ (function () { })); return selector; }; + /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + ConfigState.getRoute = /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + function (path, name) { + /** @type {?} */ + var selector = createSelector([ConfigState_1], (/** + * @param {?} state + * @return {?} + */ + function (state) { + return findRoute(state.routes, path, name); + })); + return selector; + }; /** * @param {?=} key * @return {?} @@ -277,12 +298,12 @@ var ConfigState = /** @class */ (function () { * @return {?} */ function (configuration) { - return _this.store.selectSnapshot(SessionState.getLanguage) - ? of(null) - : dispatch(new SetLanguage(snq((/** - * @return {?} - */ - function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); + /** @type {?} */ + var defaultLang = configuration.setting.values['Abp.Localization.DefaultLanguage']; + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + return _this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang)); }))); }; /** @@ -396,4 +417,34 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { } return organizeRoutes(routes); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFnQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQTZCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztJQXdKL0UscUJBQW9CLHVCQUF3RCxFQUFVLEtBQVk7UUFBOUUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDO29CQWxKM0YsV0FBVzs7Ozs7SUFFZixrQkFBTTs7OztJQUFiLFVBQWMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdNLDhCQUFrQjs7OztJQUF6QixVQUEwQixLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVNLGtCQUFNOzs7O0lBQWIsVUFBYyxHQUFXOztZQUNqQixRQUFRLEdB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QyxJQUFNLENBQUM7YUFDaEQ7WUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O2dCQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsc0JBQzlDLEtBQUssSUFDUixHQUFHLEVBQUssU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFJLFNBQUksS0FBSyxDQUFDLElBQU0sSUFDL0MsRUFIaUQsQ0FHakQsRUFBQyxDQUFDO2FBQ0w7WUFFRCw0QkFBWSxLQUFLLEVBQUssUUFBUSxFQUFHO1NBQ2xDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ2xELEtBQUssQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEc7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixrQkFBa0I7UUFDbEIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSwgU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBBY3Rpb24sIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWcsIEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBQYXRjaFJvdXRlQnlOYW1lIH0gZnJvbSAnLi4vYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgU2V0TGFuZ3VhZ2UgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4vc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2V0Q2hpbGRSb3V0ZSwgc29ydFJvdXRlcywgb3JnYW5pemVSb3V0ZXMgfSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XG5cbkBTdGF0ZTxDb25maWcuU3RhdGU+KHtcbiAgbmFtZTogJ0NvbmZpZ1N0YXRlJyxcbiAgZGVmYXVsdHM6IHt9IGFzIENvbmZpZy5TdGF0ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0QWxsKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0QXBwbGljYXRpb25JbmZvKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGUuZW52aXJvbm1lbnQuYXBwbGljYXRpb24gfHwge307XG4gIH1cblxuICBzdGF0aWMgZ2V0T25lKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZVtrZXldO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldERlZXAoa2V5czogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGtleXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBrZXlzID0ga2V5cy5zcGxpdCgnLicpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYXJndW1lbnQgbXVzdCBiZSBhIGRvdCBzdHJpbmcgb3IgYW4gc3RyaW5nIGFycmF5LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gKGtleXMgYXMgc3RyaW5nW10pLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgc3RhdGUpO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldEFwaVVybChrZXk/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc3RhdGUuZW52aXJvbm1lbnQuYXBpc1trZXkgfHwgJ2RlZmF1bHQnXS51cmw7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0U2V0dGluZyhrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gc25xKCgpID0+IHN0YXRlLnNldHRpbmcudmFsdWVzW2tleV0pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldEdyYW50ZWRQb2xpY3koY29uZGl0aW9uOiBzdHJpbmcgPSAnJykge1xuICAgIGNvbnN0IGtleXMgPSBjb25kaXRpb25cbiAgICAgIC5yZXBsYWNlKC9cXCh8XFwpfFxcIXxcXHMvZywgJycpXG4gICAgICAuc3BsaXQoL1xcfFxcfHwmJi8pXG4gICAgICAuZmlsdGVyKGtleSA9PiBrZXkpO1xuXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICgha2V5cy5sZW5ndGgpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGdldFBvbGljeSA9IGtleSA9PiBzbnEoKCkgPT4gc3RhdGUuYXV0aC5ncmFudGVkUG9saWNpZXNba2V5XSwgZmFsc2UpO1xuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFBvbGljeShrZXkpO1xuICAgICAgICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uLnJlcGxhY2Uoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWV2YWxcbiAgICAgICAgICByZXR1cm4gZXZhbChgISEke2NvbmRpdGlvbn1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRQb2xpY3koY29uZGl0aW9uKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb3B5KGtleTogc3RyaW5nLCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pIHtcbiAgICBpZiAoIWtleSkga2V5ID0gJyc7XG5cbiAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCc6OicpIGFzIHN0cmluZ1tdO1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICBpZiAoIXN0YXRlLmxvY2FsaXphdGlvbikgcmV0dXJuIGtleTtcblxuICAgICAgICBjb25zdCB7IGRlZmF1bHRSZXNvdXJjZU5hbWUgfSA9IHN0YXRlLmVudmlyb25tZW50LmxvY2FsaXphdGlvbjtcbiAgICAgICAgaWYgKGtleXNbMF0gPT09ICcnKSB7XG4gICAgICAgICAgaWYgKCFkZWZhdWx0UmVzb3VyY2VOYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBQbGVhc2UgY2hlY2sgeW91ciBlbnZpcm9ubWVudC4gTWF5IHlvdSBmb3JnZXQgc2V0IGRlZmF1bHRSZXNvdXJjZU5hbWU/IFxuICAgICAgICAgICAgICBIZXJlIGlzIHRoZSBleGFtcGxlOlxuICAgICAgICAgICAgICAgeyBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgZGVmYXVsdFJlc291cmNlTmFtZTogJ015UHJvamVjdE5hbWUnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAga2V5c1swXSA9IHNucSgoKSA9PiBkZWZhdWx0UmVzb3VyY2VOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3B5ID0ga2V5cy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHN0YXRlLmxvY2FsaXphdGlvbi52YWx1ZXMpO1xuXG4gICAgICAgIGludGVycG9sYXRlUGFyYW1zID0gaW50ZXJwb2xhdGVQYXJhbXMuZmlsdGVyKHBhcmFtcyA9PiBwYXJhbXMgIT0gbnVsbCk7XG4gICAgICAgIGlmIChjb3B5ICYmIGludGVycG9sYXRlUGFyYW1zICYmIGludGVycG9sYXRlUGFyYW1zLmxlbmd0aCkge1xuICAgICAgICAgIGludGVycG9sYXRlUGFyYW1zLmZvckVhY2gocGFyYW0gPT4ge1xuICAgICAgICAgICAgY29weSA9IGNvcHkucmVwbGFjZSgvW1xcJ1xcXCJdP1xce1tcXGRdK1xcfVtcXCdcXFwiXT8vLCBwYXJhbSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29weSB8fCBrZXk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbmZpZ3VyYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBAQWN0aW9uKEdldEFwcENvbmZpZ3VyYXRpb24pXG4gIGFkZERhdGEoeyBwYXRjaFN0YXRlLCBkaXNwYXRjaCB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPikge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgdGFwKGNvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgcGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKGNvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpXG4gICAgICAgICAgPyBvZihudWxsKVxuICAgICAgICAgIDogZGlzcGF0Y2gobmV3IFNldExhbmd1YWdlKHNucSgoKSA9PiBjb25maWd1cmF0aW9uLnNldHRpbmcudmFsdWVzWydBYnAuTG9jYWxpemF0aW9uLkRlZmF1bHRMYW5ndWFnZSddKSkpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihQYXRjaFJvdXRlQnlOYW1lKVxuICBwYXRjaFJvdXRlKHsgcGF0Y2hTdGF0ZSwgZ2V0U3RhdGUgfTogU3RhdGVDb250ZXh0PENvbmZpZy5TdGF0ZT4sIHsgbmFtZSwgbmV3VmFsdWUgfTogUGF0Y2hSb3V0ZUJ5TmFtZSkge1xuICAgIGxldCByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IGdldFN0YXRlKCkucm91dGVzO1xuXG4gICAgY29uc3QgaW5kZXggPSByb3V0ZXMuZmluZEluZGV4KHJvdXRlID0+IHJvdXRlLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcm91dGVzID0gcGF0Y2hSb3V0ZURlZXAocm91dGVzLCBuYW1lLCBuZXdWYWx1ZSk7XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICByb3V0ZXMsXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGF0Y2hSb3V0ZURlZXAoXG4gIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLFxuICBuYW1lOiBzdHJpbmcsXG4gIG5ld1ZhbHVlOiBQYXJ0aWFsPEFCUC5GdWxsUm91dGU+LFxuICBwYXJlbnRVcmw6IHN0cmluZyA9IG51bGwsXG4pOiBBQlAuRnVsbFJvdXRlW10ge1xuICByb3V0ZXMgPSByb3V0ZXMubWFwKHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlLnBhdGgpIHtcbiAgICAgICAgbmV3VmFsdWUudXJsID0gYCR7cGFyZW50VXJsfS8ke25ld1ZhbHVlLnBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5ld1ZhbHVlLmNoaWxkcmVuICYmIG5ld1ZhbHVlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZS5jaGlsZHJlbiA9IG5ld1ZhbHVlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgIHVybDogYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9LyR7Y2hpbGQucGF0aH1gLFxuICAgICAgICB9KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJvdXRlLCAuLi5uZXdWYWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IHBhdGNoUm91dGVEZWVwKHJvdXRlLmNoaWxkcmVuLCBuYW1lLCBuZXdWYWx1ZSwgKHBhcmVudFVybCB8fCAnLycpICsgcm91dGUucGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlO1xuICB9KTtcblxuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gcmVjdXJzaXZlIGJsb2NrXG4gICAgcmV0dXJuIHJvdXRlcztcbiAgfVxuXG4gIHJldHVybiBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMpO1xufVxuIl19 \ No newline at end of file +/** + * @param {?} routes + * @param {?=} path + * @param {?=} name + * @return {?} + */ +function findRoute(routes, path, name) { + /** @type {?} */ + var foundRoute; + routes.forEach((/** + * @param {?} route + * @return {?} + */ + function (route) { + if (foundRoute) + return; + if (path && route.path === path) { + foundRoute = route; + } + else if (name && route.name === name) { + foundRoute = route; + return; + } + else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + })); + return foundRoute; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFnQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQTZCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztJQW1LL0UscUJBQW9CLHVCQUF3RCxFQUFVLEtBQVk7UUFBOUUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRyxDQUFDO29CQTdKM0YsV0FBVzs7Ozs7SUFFZixrQkFBTTs7OztJQUFiLFVBQWMsS0FBbUI7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUdNLDhCQUFrQjs7OztJQUF6QixVQUEwQixLQUFtQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVNLGtCQUFNOzs7O0lBQWIsVUFBYyxHQUFXOztZQUNqQixRQUFRLEdB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LE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDOzs7Ozs7O0FBRUQsU0FBUyxTQUFTLENBQUMsTUFBdUIsRUFBRSxJQUFhLEVBQUUsSUFBYTs7UUFDbEUsVUFBVTtJQUNkLE1BQU0sQ0FBQyxPQUFPOzs7O0lBQUMsVUFBQSxLQUFLO1FBQ2xCLElBQUksVUFBVTtZQUFFLE9BQU87UUFFdkIsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDL0IsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUNwQjthQUFNLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3RDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDbkIsT0FBTztTQUNSO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ2xELFVBQVUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTztTQUNSO0lBQ0gsQ0FBQyxFQUFDLENBQUM7SUFFSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUsIFNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciwgQWN0aW9uLCBTdGF0ZUNvbnRleHQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBBQlAgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2V0QXBwQ29uZmlndXJhdGlvbiwgUGF0Y2hSb3V0ZUJ5TmFtZSB9IGZyb20gJy4uL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IFNldExhbmd1YWdlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNldENoaWxkUm91dGUsIHNvcnRSb3V0ZXMsIG9yZ2FuaXplUm91dGVzIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuXG5AU3RhdGU8Q29uZmlnLlN0YXRlPih7XG4gIG5hbWU6ICdDb25maWdTdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBDb25maWcuU3RhdGUsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1N0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFsbChzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFwcGxpY2F0aW9uSW5mbyhzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uIHx8IHt9O1xuICB9XG5cbiAgc3RhdGljIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGVba2V5XTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBrZXlzID09PSAnc3RyaW5nJykge1xuICAgICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIChrZXlzIGFzIHN0cmluZ1tdKS5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHN0YXRlKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRSb3V0ZShwYXRoPzogc3RyaW5nLCBuYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgICAgIHJldHVybiBmaW5kUm91dGUoc3RhdGUucm91dGVzLCBwYXRoLCBuYW1lKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBcGlVcmwoa2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIFtDb25maWdTdGF0ZV0sXG4gICAgICBmdW5jdGlvbihzdGF0ZTogQ29uZmlnLlN0YXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50LmFwaXNba2V5IHx8ICdkZWZhdWx0J10udXJsO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldFNldHRpbmcoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHNucSgoKSA9PiBzdGF0ZS5zZXR0aW5nLnZhbHVlc1trZXldKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRHcmFudGVkUG9saWN5KGNvbmRpdGlvbjogc3RyaW5nID0gJycpIHtcbiAgICBjb25zdCBrZXlzID0gY29uZGl0aW9uXG4gICAgICAucmVwbGFjZSgvXFwofFxcKXxcXCF8XFxzL2csICcnKVxuICAgICAgLnNwbGl0KC9cXHxcXHx8JiYvKVxuICAgICAgLmZpbHRlcihrZXkgPT4ga2V5KTtcblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBbQ29uZmlnU3RhdGVdLFxuICAgICAgZnVuY3Rpb24oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWtleXMubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjb25zdCBnZXRQb2xpY3kgPSBrZXkgPT4gc25xKCgpID0+IHN0YXRlLmF1dGguZ3JhbnRlZFBvbGljaWVzW2tleV0sIGZhbHNlKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRQb2xpY3koa2V5KTtcbiAgICAgICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbi5yZXBsYWNlKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ldmFsXG4gICAgICAgICAgcmV0dXJuIGV2YWwoYCEhJHtjb25kaXRpb259YCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0UG9saWN5KGNvbmRpdGlvbik7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29weShrZXk6IHN0cmluZywgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCFrZXkpIGtleSA9ICcnO1xuXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnOjonKSBhcyBzdHJpbmdbXTtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIGZ1bmN0aW9uKHN0YXRlOiBDb25maWcuU3RhdGUpIHtcbiAgICAgICAgaWYgKCFzdGF0ZS5sb2NhbGl6YXRpb24pIHJldHVybiBrZXk7XG5cbiAgICAgICAgY29uc3QgeyBkZWZhdWx0UmVzb3VyY2VOYW1lIH0gPSBzdGF0ZS5lbnZpcm9ubWVudC5sb2NhbGl6YXRpb247XG4gICAgICAgIGlmIChrZXlzWzBdID09PSAnJykge1xuICAgICAgICAgIGlmICghZGVmYXVsdFJlc291cmNlTmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgUGxlYXNlIGNoZWNrIHlvdXIgZW52aXJvbm1lbnQuIE1heSB5b3UgZm9yZ2V0IHNldCBkZWZhdWx0UmVzb3VyY2VOYW1lPyBcbiAgICAgICAgICAgICAgSGVyZSBpcyB0aGUgZXhhbXBsZTpcbiAgICAgICAgICAgICAgIHsgcHJvZHVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbjoge1xuICAgICAgICAgICAgICAgICAgIGRlZmF1bHRSZXNvdXJjZU5hbWU6ICdNeVByb2plY3ROYW1lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGtleXNbMF0gPSBzbnEoKCkgPT4gZGVmYXVsdFJlc291cmNlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29weSA9IGtleXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGlmIChhY2MpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LCBzdGF0ZS5sb2NhbGl6YXRpb24udmFsdWVzKTtcblxuICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtcyA9IGludGVycG9sYXRlUGFyYW1zLmZpbHRlcihwYXJhbXMgPT4gcGFyYW1zICE9IG51bGwpO1xuICAgICAgICBpZiAoY29weSAmJiBpbnRlcnBvbGF0ZVBhcmFtcyAmJiBpbnRlcnBvbGF0ZVBhcmFtcy5sZW5ndGgpIHtcbiAgICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtcy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgICAgIGNvcHkgPSBjb3B5LnJlcGxhY2UoL1tcXCdcXFwiXT9cXHtbXFxkXStcXH1bXFwnXFxcIl0/LywgcGFyYW0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvcHkgfHwga2V5O1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBDb25maWd1cmF0aW9uU2VydmljZTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgQEFjdGlvbihHZXRBcHBDb25maWd1cmF0aW9uKVxuICBhZGREYXRhKHsgcGF0Y2hTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PENvbmZpZy5TdGF0ZT4pIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWd1cmF0aW9uU2VydmljZS5nZXRDb25maWd1cmF0aW9uKCkucGlwZShcbiAgICAgIHRhcChjb25maWd1cmF0aW9uID0+XG4gICAgICAgIHBhdGNoU3RhdGUoe1xuICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcChjb25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgbGV0IGRlZmF1bHRMYW5nOiBzdHJpbmcgPSBjb25maWd1cmF0aW9uLnNldHRpbmcudmFsdWVzWydBYnAuTG9jYWxpemF0aW9uLkRlZmF1bHRMYW5ndWFnZSddO1xuXG4gICAgICAgIGlmIChkZWZhdWx0TGFuZy5pbmNsdWRlcygnOycpKSB7XG4gICAgICAgICAgZGVmYXVsdExhbmcgPSBkZWZhdWx0TGFuZy5zcGxpdCgnOycpWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKSA/IG9mKG51bGwpIDogZGlzcGF0Y2gobmV3IFNldExhbmd1YWdlKGRlZmF1bHRMYW5nKSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihQYXRjaFJvdXRlQnlOYW1lKVxuICBwYXRjaFJvdXRlKHsgcGF0Y2hTdGF0ZSwgZ2V0U3RhdGUgfTogU3RhdGVDb250ZXh0PENvbmZpZy5TdGF0ZT4sIHsgbmFtZSwgbmV3VmFsdWUgfTogUGF0Y2hSb3V0ZUJ5TmFtZSkge1xuICAgIGxldCByb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSA9IGdldFN0YXRlKCkucm91dGVzO1xuXG4gICAgY29uc3QgaW5kZXggPSByb3V0ZXMuZmluZEluZGV4KHJvdXRlID0+IHJvdXRlLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcm91dGVzID0gcGF0Y2hSb3V0ZURlZXAocm91dGVzLCBuYW1lLCBuZXdWYWx1ZSk7XG5cbiAgICByZXR1cm4gcGF0Y2hTdGF0ZSh7XG4gICAgICByb3V0ZXMsXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGF0Y2hSb3V0ZURlZXAoXG4gIHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdLFxuICBuYW1lOiBzdHJpbmcsXG4gIG5ld1ZhbHVlOiBQYXJ0aWFsPEFCUC5GdWxsUm91dGU+LFxuICBwYXJlbnRVcmw6IHN0cmluZyA9IG51bGwsXG4pOiBBQlAuRnVsbFJvdXRlW10ge1xuICByb3V0ZXMgPSByb3V0ZXMubWFwKHJvdXRlID0+IHtcbiAgICBpZiAocm91dGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlLnBhdGgpIHtcbiAgICAgICAgbmV3VmFsdWUudXJsID0gYCR7cGFyZW50VXJsfS8ke25ld1ZhbHVlLnBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5ld1ZhbHVlLmNoaWxkcmVuICYmIG5ld1ZhbHVlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZS5jaGlsZHJlbiA9IG5ld1ZhbHVlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgIHVybDogYCR7cGFyZW50VXJsfS8ke3JvdXRlLnBhdGh9LyR7Y2hpbGQucGF0aH1gLFxuICAgICAgICB9KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJvdXRlLCAuLi5uZXdWYWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByb3V0ZS5jaGlsZHJlbiA9IHBhdGNoUm91dGVEZWVwKHJvdXRlLmNoaWxkcmVuLCBuYW1lLCBuZXdWYWx1ZSwgKHBhcmVudFVybCB8fCAnLycpICsgcm91dGUucGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlO1xuICB9KTtcblxuICBpZiAocGFyZW50VXJsKSB7XG4gICAgLy8gcmVjdXJzaXZlIGJsb2NrXG4gICAgcmV0dXJuIHJvdXRlcztcbiAgfVxuXG4gIHJldHVybiBvcmdhbml6ZVJvdXRlcyhyb3V0ZXMpO1xufVxuXG5mdW5jdGlvbiBmaW5kUm91dGUocm91dGVzOiBBQlAuRnVsbFJvdXRlW10sIHBhdGg/OiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpIHtcbiAgbGV0IGZvdW5kUm91dGU7XG4gIHJvdXRlcy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICBpZiAoZm91bmRSb3V0ZSkgcmV0dXJuO1xuXG4gICAgaWYgKHBhdGggJiYgcm91dGUucGF0aCA9PT0gcGF0aCkge1xuICAgICAgZm91bmRSb3V0ZSA9IHJvdXRlO1xuICAgIH0gZWxzZSBpZiAobmFtZSAmJiByb3V0ZS5uYW1lID09PSBuYW1lKSB7XG4gICAgICBmb3VuZFJvdXRlID0gcm91dGU7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChyb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIGZvdW5kUm91dGUgPSBmaW5kUm91dGUocm91dGUuY2hpbGRyZW4sIHBhdGgsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGZvdW5kUm91dGU7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/states/session.state.js b/npm/ng-packs/dist/core/esm5/lib/states/session.state.js index 176476eea1..e658ff92cf 100644 --- a/npm/ng-packs/dist/core/esm5/lib/states/session.state.js +++ b/npm/ng-packs/dist/core/esm5/lib/states/session.state.js @@ -5,8 +5,12 @@ import * as tslib_1 from "tslib"; import { Action, Selector, State } from '@ngxs/store'; import { SetLanguage, SetTenant } from '../actions/session.actions'; +import { GetAppConfiguration } from '../actions/config.actions'; +import { LocalizationService } from '../services/localization.service'; +import { from, combineLatest } from 'rxjs'; var SessionState = /** @class */ (function () { - function SessionState() { + function SessionState(localizationService) { + this.localizationService = localizationService; } /** * @param {?} __0 @@ -43,11 +47,12 @@ var SessionState = /** @class */ (function () { * @return {?} */ function (_a, _b) { - var patchState = _a.patchState; + var patchState = _a.patchState, dispatch = _a.dispatch; var payload = _b.payload; patchState({ language: payload, }); + return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]); }; /** * @param {?} __0 @@ -95,9 +100,16 @@ var SessionState = /** @class */ (function () { name: 'SessionState', defaults: (/** @type {?} */ ({})), }), - tslib_1.__metadata("design:paramtypes", []) + tslib_1.__metadata("design:paramtypes", [LocalizationService]) ], SessionState); return SessionState; }()); export { SessionState }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7SUFrQmxFO0lBQWUsQ0FBQzs7Ozs7SUFUVCx3QkFBVzs7OztJQUFsQixVQUFtQixFQUEyQjtZQUF6QixzQkFBUTtRQUMzQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7OztJQUdNLHNCQUFTOzs7O0lBQWhCLFVBQWlCLEVBQXlCO1lBQXZCLGtCQUFNO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUtELGtDQUFXOzs7OztJQUFYLFVBQVksRUFBMkMsRUFBRSxFQUF3QjtZQUFuRSwwQkFBVTtZQUFtQyxvQkFBTztRQUNoRSxVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFHRCxrQ0FBVzs7Ozs7SUFBWCxVQUFZLEVBQTJDLEVBQUUsRUFBc0I7WUFBakUsMEJBQVU7WUFBbUMsb0JBQU87UUFDaEUsVUFBVSxDQUFDO1lBQ1QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVhEO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQzs7eURBQ2tELFdBQVc7O21EQUloRjtJQUdEO1FBREMsTUFBTSxDQUFDLFNBQVMsQ0FBQzs7eURBQ29ELFNBQVM7O21EQUk5RTtJQXZCRDtRQURDLFFBQVEsRUFBRTs7Ozt5Q0FHVjtJQUdEO1FBREMsUUFBUSxFQUFFOzs7O3VDQUdWO0lBVFUsWUFBWTtRQUp4QixLQUFLLENBQWdCO1lBQ3BCLElBQUksRUFBRSxjQUFjO1lBQ3BCLFFBQVEsRUFBRSxtQkFBQSxFQUFFLEVBQWlCO1NBQzlCLENBQUM7O09BQ1csWUFBWSxDQTBCeEI7SUFBRCxtQkFBQztDQUFBLElBQUE7U0ExQlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBTZXRMYW5ndWFnZSwgU2V0VGVuYW50IH0gZnJvbSAnLi4vYWN0aW9ucy9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgQUJQLCBTZXNzaW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQFN0YXRlPFNlc3Npb24uU3RhdGU+KHtcbiAgbmFtZTogJ1Nlc3Npb25TdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBTZXNzaW9uLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TGFuZ3VhZ2UoeyBsYW5ndWFnZSB9OiBTZXNzaW9uLlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VGVuYW50KHsgdGVuYW50IH06IFNlc3Npb24uU3RhdGUpOiBBQlAuQmFzaWNJdGVtIHtcbiAgICByZXR1cm4gdGVuYW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBBY3Rpb24oU2V0TGFuZ3VhZ2UpXG4gIHNldExhbmd1YWdlKHsgcGF0Y2hTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvbi5TdGF0ZT4sIHsgcGF5bG9hZCB9OiBTZXRMYW5ndWFnZSkge1xuICAgIHBhdGNoU3RhdGUoe1xuICAgICAgbGFuZ3VhZ2U6IHBheWxvYWQsXG4gICAgfSk7XG4gIH1cblxuICBAQWN0aW9uKFNldFRlbmFudClcbiAgc2V0VGVuYW50SWQoeyBwYXRjaFN0YXRlIH06IFN0YXRlQ29udGV4dDxTZXNzaW9uLlN0YXRlPiwgeyBwYXlsb2FkIH06IFNldFRlbmFudCkge1xuICAgIHBhdGNoU3RhdGUoe1xuICAgICAgdGVuYW50OiBwYXlsb2FkLFxuICAgIH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file +if (false) { + /** + * @type {?} + * @private + */ + SessionState.prototype.localizationService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZXMvc2Vzc2lvbi5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7SUFpQnpDLHNCQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7Ozs7O0lBVHpELHdCQUFXOzs7O0lBQWxCLFVBQW1CLEVBQTJCO1lBQXpCLHNCQUFRO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBR00sc0JBQVM7Ozs7SUFBaEIsVUFBaUIsRUFBeUI7WUFBdkIsa0JBQU07UUFDdkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Ozs7O0lBS0Qsa0NBQVc7Ozs7O0lBQVgsVUFBWSxFQUFxRCxFQUFFLEVBQXdCO1lBQTdFLDBCQUFVLEVBQUUsc0JBQVE7WUFBbUMsb0JBQU87UUFDMUUsVUFBVSxDQUFDO1lBQ1QsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQzs7Ozs7O0lBR0Qsa0NBQVc7Ozs7O0lBQVgsVUFBWSxFQUEyQyxFQUFFLEVBQXNCO1lBQWpFLDBCQUFVO1lBQW1DLG9CQUFPO1FBQ2hFLFVBQVUsQ0FBQztZQUNULE1BQU0sRUFBRSxPQUFPO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFiRDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7O3lEQUM0RCxXQUFXOzttREFNMUY7SUFHRDtRQURDLE1BQU0sQ0FBQyxTQUFTLENBQUM7O3lEQUNvRCxTQUFTOzttREFJOUU7SUF6QkQ7UUFEQyxRQUFRLEVBQUU7Ozs7eUNBR1Y7SUFHRDtRQURDLFFBQVEsRUFBRTs7Ozt1Q0FHVjtJQVRVLFlBQVk7UUFKeEIsS0FBSyxDQUFnQjtZQUNwQixJQUFJLEVBQUUsY0FBYztZQUNwQixRQUFRLEVBQUUsbUJBQUEsRUFBRSxFQUFpQjtTQUM5QixDQUFDO2lEQVl5QyxtQkFBbUI7T0FYakQsWUFBWSxDQTRCeEI7SUFBRCxtQkFBQztDQUFBLElBQUE7U0E1QlksWUFBWTs7Ozs7O0lBV1gsMkNBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFNldExhbmd1YWdlLCBTZXRUZW5hbnQgfSBmcm9tICcuLi9hY3Rpb25zL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBQlAsIFNlc3Npb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2V0QXBwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb20sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuQFN0YXRlPFNlc3Npb24uU3RhdGU+KHtcbiAgbmFtZTogJ1Nlc3Npb25TdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBTZXNzaW9uLlN0YXRlLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0TGFuZ3VhZ2UoeyBsYW5ndWFnZSB9OiBTZXNzaW9uLlN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0VGVuYW50KHsgdGVuYW50IH06IFNlc3Npb24uU3RhdGUpOiBBQlAuQmFzaWNJdGVtIHtcbiAgICByZXR1cm4gdGVuYW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7fVxuXG4gIEBBY3Rpb24oU2V0TGFuZ3VhZ2UpXG4gIHNldExhbmd1YWdlKHsgcGF0Y2hTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0TGFuZ3VhZ2UpIHtcbiAgICBwYXRjaFN0YXRlKHtcbiAgICAgIGxhbmd1YWdlOiBwYXlsb2FkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2Rpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpLCBmcm9tKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5yZWdpc3RlckxvY2FsZShwYXlsb2FkKSldKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0VGVuYW50KVxuICBzZXRUZW5hbnRJZCh7IHBhdGNoU3RhdGUgfTogU3RhdGVDb250ZXh0PFNlc3Npb24uU3RhdGU+LCB7IHBheWxvYWQgfTogU2V0VGVuYW50KSB7XG4gICAgcGF0Y2hTdGF0ZSh7XG4gICAgICB0ZW5hbnQ6IHBheWxvYWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/utils/common-utils.js b/npm/ng-packs/dist/core/esm5/lib/utils/common-utils.js new file mode 100644 index 0000000000..e05e3367d0 --- /dev/null +++ b/npm/ng-packs/dist/core/esm5/lib/utils/common-utils.js @@ -0,0 +1,16 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @return {?} + */ +export function noop() { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { }); + return fn; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2NvbW1vbi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTSxVQUFVLElBQUk7O1FBQ1osRUFBRTs7O0lBQUcsY0FBWSxDQUFDLENBQUE7SUFDeEIsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKSB7XG4gIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7fTtcbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/utils/index.js b/npm/ng-packs/dist/core/esm5/lib/utils/index.js index f75166e0ed..572661d113 100644 --- a/npm/ng-packs/dist/core/esm5/lib/utils/index.js +++ b/npm/ng-packs/dist/core/esm5/lib/utils/index.js @@ -2,8 +2,9 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { noop } from './common-utils'; export { uuid } from './generator-utils'; -export { getInitialData } from './initial-utils'; +export { getInitialData, localeInitializer, registerLocale } from './initial-utils'; export { organizeRoutes, setChildRoute, sortRoutes } from './route-utils'; export { takeUntilDestroy } from './rxjs-utils'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLCtCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDBEQUFjLGVBQWUsQ0FBQztBQUM5QixpQ0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3J4anMtdXRpbHMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmNvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHFCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGtFQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDBEQUFjLGVBQWUsQ0FBQztBQUM5QixpQ0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3J4anMtdXRpbHMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js b/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js index 7ee283c0da..4f39e9df1a 100644 --- a/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js +++ b/npm/ng-packs/dist/core/esm5/lib/utils/initial-utils.js @@ -2,8 +2,11 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +import { registerLocaleData } from '@angular/common'; import { Store } from '@ngxs/store'; import { GetAppConfiguration } from '../actions/config.actions'; +import differentLocales from '../constants/different-locales'; +import { SessionState } from '../states/session.state'; /** * @param {?} injector * @return {?} @@ -20,4 +23,47 @@ export function getInitialData(injector) { }); return fn; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVoRSxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztRQUN6QyxFQUFFOzs7SUFBRzs7WUFDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEdldEFwcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IHN0b3JlOiBTdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG5cbiAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSkudG9Qcm9taXNlKCk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuIl19 \ No newline at end of file +/** + * @param {?} injector + * @return {?} + */ +export function localeInitializer(injector) { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + var store = injector.get(Store); + /** @type {?} */ + var lang = store.selectSnapshot(SessionState.getLanguage) || 'en'; + return new Promise((/** + * @param {?} resolve + * @param {?} reject + * @return {?} + */ + function (resolve, reject) { + registerLocale(lang).then((/** + * @return {?} + */ + function () { return resolve(); }), reject); + })); + }); + return fn; +} +/** + * @param {?} locale + * @return {?} + */ +export function registerLocale(locale) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + "@angular/common/locales/" + (differentLocales[locale] || locale) + ".js").then((/** + * @param {?} module + * @return {?} + */ + function (module) { + registerLocaleData(module.default); + })); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sZ0JBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUV2RCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCOztRQUN6QyxFQUFFOzs7SUFBRzs7WUFDSCxLQUFLLEdBQVUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFeEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7O1FBQzVDLEVBQUU7OztJQUFHOztZQUNILEtBQUssR0FBVSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzs7WUFFbEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUk7UUFFbkUsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSTs7O1lBQUMsY0FBTSxPQUFBLE9BQU8sRUFBRSxFQUFULENBQVMsR0FBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWM7SUFDM0MsT0FBTyxNQUFNO0lBQ1gsNGNBQTRjO0lBQzVjLDhCQUEyQixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLFNBQUssQ0FDbkUsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQSxNQUFNO1FBQ1gsa0JBQWtCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgZGlmZmVyZW50TG9jYWxlcyBmcm9tICcuLi9jb25zdGFudHMvZGlmZmVyZW50LWxvY2FsZXMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Nlc3Npb24uc3RhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbERhdGEoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7XG4gICAgY29uc3Qgc3RvcmU6IFN0b3JlID0gaW5qZWN0b3IuZ2V0KFN0b3JlKTtcblxuICAgIHJldHVybiBzdG9yZS5kaXNwYXRjaChuZXcgR2V0QXBwQ29uZmlndXJhdGlvbigpKS50b1Byb21pc2UoKTtcbiAgfTtcblxuICByZXR1cm4gZm47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGVJbml0aWFsaXplcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3QgZm4gPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBzdG9yZTogU3RvcmUgPSBpbmplY3Rvci5nZXQoU3RvcmUpO1xuXG4gICAgY29uc3QgbGFuZyA9IHN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSkgfHwgJ2VuJztcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZWdpc3RlckxvY2FsZShsYW5nKS50aGVuKCgpID0+IHJlc29sdmUoKSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gZm47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckxvY2FsZShsb2NhbGU6IHN0cmluZykge1xuICByZXR1cm4gaW1wb3J0KFxuICAgIC8qIHdlYnBhY2tJbmNsdWRlOiAvKGFmfGFtfGFyLVNBfGFzfGF6LUxhdG58YmV8Ymd8Ym4tQkR8Ym4tSU58YnN8Y2F8Y2EtRVMtVkFMRU5DSUF8Y3N8Y3l8ZGF8ZGV8ZGV8ZWx8ZW4tR0J8ZW58ZXN8ZW58ZXMtVVN8ZXMtTVh8ZXR8ZXV8ZmF8Zml8ZW58ZnJ8ZnJ8ZnItQ0F8Z2F8Z2R8Z2x8Z3V8aGF8aGV8aGl8aHJ8aHV8aHl8aWR8aWd8aXN8aXR8aXR8amF8a2F8a2t8a218a258a298a29rfGVufGVufGxifGx0fGx2fGVufG1rfG1sfG1ufG1yfG1zfG10fG5ifG5lfG5sfG5sLUJFfG5ufGVufG9yfHBhfHBhLUFyYWJ8cGx8ZW58cHR8cHQtUFR8ZW58ZW58cm98cnV8cnd8cGEtQXJhYnxzaXxza3xzbHxzcXxzci1DeXJsLUJBfHNyLUN5cmx8c3ItTGF0bnxzdnxzd3x0YXx0ZXx0Z3x0aHx0aXx0a3x0bnx0cnx0dHx1Z3x1a3x1cnx1ei1MYXRufHZpfHdvfHhofHlvfHpoLUhhbnN8emgtSGFudHx6dSlcXC5qcyQvICovXG4gICAgYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzLyR7ZGlmZmVyZW50TG9jYWxlc1tsb2NhbGVdIHx8IGxvY2FsZX0uanNgXG4gICkudGhlbihtb2R1bGUgPT4ge1xuICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XG4gIH0pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/core/esm5/public-api.js b/npm/ng-packs/dist/core/esm5/public-api.js index f5d49e97b3..c6a48c31c5 100644 --- a/npm/ng-packs/dist/core/esm5/public-api.js +++ b/npm/ng-packs/dist/core/esm5/public-api.js @@ -8,8 +8,8 @@ // export * from './lib/handlers'; export { PatchRouteByName, GetAppConfiguration, StartLoader, StopLoader, GetProfile, UpdateProfile, ChangePassword, RestOccurError, SetLanguage, SetTenant } from './lib/actions'; export { DynamicLayoutComponent, RouterOutletComponent } from './lib/components'; -// export * from './lib/constants'; -export { AutofocusDirective, EllipsisDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; +export {} from './lib/constants'; +export { AutofocusDirective, EllipsisDirective, FormSubmitDirective, PermissionDirective, VisibilityDirective } from './lib/directives'; export {} from './lib/enums'; export { AuthGuard, PermissionGuard } from './lib/guards'; export { ApiInterceptor } from './lib/interceptors'; @@ -18,6 +18,6 @@ export { NGXS_CONFIG_PLUGIN_OPTIONS, ConfigPlugin } from './lib/plugins'; export { ApplicationConfigurationService, ConfigService, LazyLoadService, LocalizationService, ProfileService, RestService } from './lib/services'; export { ProfileState, ConfigState, SessionState } from './lib/states'; export { environmentFactory, configFactory, ENVIRONMENT, CONFIG } from './lib/tokens'; -export { uuid, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; +export { noop, uuid, getInitialData, localeInitializer, registerLocale, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy } from './lib/utils'; export { CoreModule } from './lib/core.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7O0FBRWpDLGdHQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsYUFBYSxDQUFDO0FBQzVCLDJDQUFjLGNBQWMsQ0FBQztBQUM3QiwrQkFBYyxvQkFBb0IsQ0FBQztBQUNuQyxxQkFBYyxjQUFjLENBQUM7QUFDN0IseURBQWMsZUFBZSxDQUFDO0FBQzlCLGtJQUFjLGdCQUFnQixDQUFDO0FBQy9CLHdEQUFjLGNBQWMsQ0FBQztBQUM3Qix1RUFBYyxjQUFjLENBQUM7QUFDN0Isa0dBQWMsYUFBYSxDQUFDO0FBRTVCLDJCQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxrS0FBYyxlQUFlLENBQUM7QUFDOUIsOERBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxpQkFBaUIsQ0FBQztBQUNoQyxxSEFBYyxrQkFBa0IsQ0FBQztBQUNqQyxlQUFjLGFBQWEsQ0FBQztBQUM1QiwyQ0FBYyxjQUFjLENBQUM7QUFDN0IsK0JBQWMsb0JBQW9CLENBQUM7QUFDbkMscUJBQWMsY0FBYyxDQUFDO0FBQzdCLHlEQUFjLGVBQWUsQ0FBQztBQUM5QixrSUFBYyxnQkFBZ0IsQ0FBQztBQUMvQix3REFBYyxjQUFjLENBQUM7QUFDN0IsdUVBQWMsY0FBYyxDQUFDO0FBQzdCLDJJQUFjLGFBQWEsQ0FBQztBQUU1QiwyQkFBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxuICovXG5cbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2hhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js index 4d35034c0b..249358f969 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js @@ -1,15 +1,15 @@ -import { __rest, __decorate, __metadata } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, EventEmitter, Output, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; -import { NavigationEnd, Router, RouterModule } from '@angular/router'; -import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; -import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; +import { __rest, __decorate, __metadata, __awaiter } from 'tslib'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Optional, SkipSelf, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, EventEmitter, Self, Output, Renderer2, InjectionToken, Inject, Pipe, LOCALE_ID, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; +import { Router, NavigationEnd, RouterModule } from '@angular/router'; +import { Store, Action, Selector, State, Actions, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; +import { throwError, noop as noop$1, combineLatest, from, of, Subject, Observable, fromEvent, ReplaySubject } from 'rxjs'; import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; -import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; +import { take, catchError, tap, switchMap, takeUntil, debounceTime, filter, finalize, distinctUntilChanged } from 'rxjs/operators'; import snq from 'snq'; +import { registerLocaleData, CommonModule } from '@angular/common'; +import { FormGroupDirective, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { OAuthService } from 'angular-oauth2-oidc'; import { Navigate, NgxsRouterPluginModule } from '@ngxs/router-plugin'; -import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { takeUntilDestroy as takeUntilDestroy$1 } from '@ngx-validate/core'; @@ -201,7 +201,7 @@ class RestService { handleError(err) { this.store.dispatch(new RestOccurError(err)); console.error(err); - return NEVER; + return throwError(err); } /** * @template T, R @@ -211,7 +211,7 @@ class RestService { * @return {?} */ request(request, config = {}, api) { - const { observe = "body" /* Body */, throwErr } = config; + const { observe = "body" /* Body */, skipHandleError } = config; /** @type {?} */ const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; const { method } = request, options = __rest(request, ["method"]); @@ -220,7 +220,7 @@ class RestService { * @return {?} */ err => { - if (throwErr) { + if (skipHandleError) { return throwError(err); } return this.handleError(err); @@ -288,17 +288,17 @@ class ProfileService { } /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ - changePassword(body, throwErr = false) { + changePassword(body, skipHandleError = false) { /** @type {?} */ const request = { method: 'POST', url: '/api/identity/my-profile/change-password', body, }; - return this.rest.request(request, { throwErr }); + return this.rest.request(request, { skipHandleError }); } } ProfileService.decorators = [ @@ -453,12 +453,215 @@ if (false) { ApplicationConfigurationService.prototype.rest; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +var localesMapping = { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @param {?} injector + * @return {?} + */ +function getInitialData(injector) { + /** @type {?} */ + const fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + const store = injector.get(Store); + return store.dispatch(new GetAppConfiguration()).toPromise(); + }); + return fn; +} +/** + * @param {?} injector + * @return {?} + */ +function localeInitializer(injector) { + /** @type {?} */ + const fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + const store = injector.get(Store); + /** @type {?} */ + const lang = store.selectSnapshot(SessionState.getLanguage) || 'en'; + return new Promise((/** + * @param {?} resolve + * @param {?} reject + * @return {?} + */ + (resolve, reject) => { + registerLocale(lang).then((/** + * @return {?} + */ + () => resolve()), reject); + })); + }); + return fn; +} +/** + * @param {?} locale + * @return {?} + */ +function registerLocale(locale) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + `@angular/common/locales/${localesMapping[locale] || locale}.js`).then((/** + * @param {?} module + * @return {?} + */ + module => { + registerLocaleData(module.default); + })); +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class LocalizationService { + /** + * @param {?} store + * @param {?} router + * @param {?} actions + * @param {?} otherInstance + */ + constructor(store, router, actions, otherInstance) { + this.store = store; + this.router = router; + this.actions = actions; + if (otherInstance) + throw new Error('LocaleService should have only one instance.'); + } + /** + * @return {?} + */ + get currentLang() { + return this.store.selectSnapshot(SessionState.getLanguage); + } + /** + * @private + * @param {?} reuse + * @return {?} + */ + setRouteReuse(reuse) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + } + /** + * @param {?} locale + * @return {?} + */ + registerLocale(locale) { + const { shouldReuseRoute } = this.router.routeReuseStrategy; + this.setRouteReuse((/** + * @return {?} + */ + () => false)); + this.router.navigated = false; + return registerLocale(locale).then((/** + * @return {?} + */ + () => __awaiter(this, void 0, void 0, function* () { + yield this.router.navigateByUrl(this.router.url).catch(noop$1); + this.setRouteReuse(shouldReuseRoute); + }))); + } + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + get(keys, ...interpolateParams) { + return this.store.select(ConfigState.getCopy(keys, ...interpolateParams)); + } + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + instant(keys, ...interpolateParams) { + return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams)); + } +} +LocalizationService.decorators = [ + { type: Injectable, args: [{ providedIn: 'root' },] } +]; +/** @nocollapse */ +LocalizationService.ctorParameters = () => [ + { type: Store }, + { type: Router }, + { type: Actions }, + { type: LocalizationService, decorators: [{ type: Optional }, { type: SkipSelf }] } +]; +/** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store), ɵɵinject(Router), ɵɵinject(Actions), ɵɵinject(LocalizationService, 12)); }, token: LocalizationService, providedIn: "root" }); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.router; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.actions; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ let SessionState = class SessionState { - constructor() { } + /** + * @param {?} localizationService + */ + constructor(localizationService) { + this.localizationService = localizationService; + } /** * @param {?} __0 * @return {?} @@ -478,10 +681,11 @@ let SessionState = class SessionState { * @param {?} __1 * @return {?} */ - setLanguage({ patchState }, { payload }) { + setLanguage({ patchState, dispatch }, { payload }) { patchState({ language: payload, }); + return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]); } /** * @param {?} __0 @@ -523,8 +727,15 @@ SessionState = __decorate([ name: 'SessionState', defaults: (/** @type {?} */ ({})), }), - __metadata("design:paramtypes", []) + __metadata("design:paramtypes", [LocalizationService]) ], SessionState); +if (false) { + /** + * @type {?} + * @private + */ + SessionState.prototype.localizationService; +} /** * @fileoverview added by tsickle @@ -686,6 +897,22 @@ let ConfigState = ConfigState_1 = class ConfigState { })); return selector; } + /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + static getRoute(path, name) { + /** @type {?} */ + const selector = createSelector([ConfigState_1], (/** + * @param {?} state + * @return {?} + */ + function (state) { + return findRoute(state.routes, path, name); + })); + return selector; + } /** * @param {?=} key * @return {?} @@ -844,12 +1071,14 @@ let ConfigState = ConfigState_1 = class ConfigState { * @param {?} configuration * @return {?} */ - configuration => this.store.selectSnapshot(SessionState.getLanguage) - ? of(null) - : dispatch(new SetLanguage(snq((/** - * @return {?} - */ - () => configuration.setting.values['Abp.Localization.DefaultLanguage']))))))); + configuration => { + /** @type {?} */ + let defaultLang = configuration.setting.values['Abp.Localization.DefaultLanguage']; + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang)); + }))); } /** * @param {?} __0 @@ -951,6 +1180,36 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { } return organizeRoutes(routes); } +/** + * @param {?} routes + * @param {?=} path + * @param {?=} name + * @return {?} + */ +function findRoute(routes, path, name) { + /** @type {?} */ + let foundRoute; + routes.forEach((/** + * @param {?} route + * @return {?} + */ + route => { + if (foundRoute) + return; + if (path && route.path === path) { + foundRoute = route; + } + else if (name && route.name === name) { + foundRoute = route; + return; + } + else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + })); + return foundRoute; +} /** * @fileoverview added by tsickle @@ -962,13 +1221,15 @@ function patchRouteDeep(routes, name, newValue, parentUrl = null) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?=} a * @return {?} */ -function uuid(a) { - return a - ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) - : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); +function noop() { + /** @type {?} */ + const fn = (/** + * @return {?} + */ + function () { }); + return fn; } /** @@ -976,20 +1237,13 @@ function uuid(a) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?} injector + * @param {?=} a * @return {?} */ -function getInitialData(injector) { - /** @type {?} */ - const fn = (/** - * @return {?} - */ - function () { - /** @type {?} */ - const store = injector.get(Store); - return store.dispatch(new GetAppConfiguration()).toPromise(); - }); - return fn; +function uuid(a) { + return a + ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) + : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); } /** @@ -1149,7 +1403,7 @@ function findLayout(segments, routes) { * @return {?} */ c => c.path === segments[1].path)); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } @@ -1177,6 +1431,11 @@ RouterOutletComponent.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1235,17 +1494,23 @@ class EllipsisDirective { this.elRef = elRef; this.enabled = true; } + /** + * @return {?} + */ + get inlineClass() { + return this.enabled && this.width; + } /** * @return {?} */ get class() { - return this.enabled; + return this.enabled && !this.width; } /** * @return {?} */ get maxWidth() { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; } /** * @return {?} @@ -1278,6 +1543,7 @@ EllipsisDirective.propDecorators = { width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], + inlineClass: [{ type: HostBinding, args: ['class.abp-ellipsis-inline',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; @@ -1300,6 +1566,140 @@ if (false) { EllipsisDirective.prototype.elRef; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class FormSubmitDirective { + /** + * @param {?} formGroupDirective + * @param {?} host + * @param {?} cdRef + */ + constructor(formGroupDirective, host, cdRef) { + this.formGroupDirective = formGroupDirective; + this.host = host; + this.cdRef = cdRef; + this.ngSubmit = new EventEmitter(); + this.executedNgSubmit = false; + } + /** + * @return {?} + */ + ngOnInit() { + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe((/** + * @return {?} + */ + () => { + this.markAsDirty(); + this.executedNgSubmit = true; + })); + fromEvent((/** @type {?} */ (this.host.nativeElement)), 'keyup') + .pipe(debounceTime(200), filter((/** + * @param {?} key + * @return {?} + */ + (key) => key && key.key === 'Enter')), takeUntilDestroy(this)) + .subscribe((/** + * @return {?} + */ + () => { + if (!this.executedNgSubmit) { + this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + this.executedNgSubmit = false; + })); + fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this), filter((/** + * @return {?} + */ + () => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'))) + .subscribe((/** + * @return {?} + */ + () => { + if (!this.executedNgSubmit) { + this.markAsDirty(); + } + })); + } + /** + * @return {?} + */ + ngOnDestroy() { } + /** + * @return {?} + */ + markAsDirty() { + const { form } = this.formGroupDirective; + setDirty((/** @type {?} */ (form.controls))); + form.markAsDirty(); + this.cdRef.detectChanges(); + } +} +FormSubmitDirective.decorators = [ + { type: Directive, args: [{ + selector: 'form[ngSubmit][formGroup]', + },] } +]; +/** @nocollapse */ +FormSubmitDirective.ctorParameters = () => [ + { type: FormGroupDirective, decorators: [{ type: Self }] }, + { type: ElementRef }, + { type: ChangeDetectorRef } +]; +FormSubmitDirective.propDecorators = { + notValidateOnSubmit: [{ type: Input }], + ngSubmit: [{ type: Output }] +}; +if (false) { + /** @type {?} */ + FormSubmitDirective.prototype.notValidateOnSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.ngSubmit; + /** @type {?} */ + FormSubmitDirective.prototype.executedNgSubmit; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.formGroupDirective; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.host; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.cdRef; +} +/** + * @param {?} controls + * @return {?} + */ +function setDirty(controls) { + if (Array.isArray(controls)) { + controls.forEach((/** + * @param {?} group + * @return {?} + */ + group => { + setDirty((/** @type {?} */ (group.controls))); + })); + return; + } + Object.keys(controls).forEach((/** + * @param {?} key + * @return {?} + */ + key => { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + })); +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1564,7 +1964,15 @@ class PermissionGuard { canActivate({ data }) { /** @type {?} */ const resource = (/** @type {?} */ (data.requiredPolicy)); - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(tap((/** + * @param {?} access + * @return {?} + */ + access => { + if (!access) { + this.store.dispatch(new RestOccurError({ status: 403 })); + } + }))); } } PermissionGuard.decorators = [ @@ -1925,7 +2333,7 @@ var Rest; Rest.Config = Config; if (false) { /** @type {?|undefined} */ - Config.prototype.throwErr; + Config.prototype.skipHandleError; /** @type {?|undefined} */ Config.prototype.observe; } @@ -2102,7 +2510,7 @@ function transformRoutes(routes = [], wrappers = []) { return snq((/** * @return {?} */ - () => route.data.routes.find((/** + () => route.data.routes.routes.find((/** * @param {?} r * @return {?} */ @@ -2113,7 +2521,7 @@ function transformRoutes(routes = [], wrappers = []) { * @param {?} val * @return {?} */ - (acc, val) => [...acc, ...val.data.routes]), []); + (acc, val) => [...acc, ...val.data.routes.routes]), []); wrappers = abpRoutes.filter((/** * @param {?} ar * @return {?} @@ -2140,20 +2548,16 @@ function transformRoutes(routes = [], wrappers = []) { abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** * @return {?} */ - () => route.data.routes.length), false))); + () => route.data.routes.routes.length), false))); const { length } = transformed; if (abpPackage) { transformed.push(abpPackage); } if (transformed.length === length) { - transformed.push((/** @type {?} */ ({ - path: route.path, - name: snq((/** + transformed.push((/** @type {?} */ (Object.assign({}, route.data.routes, { path: route.path, name: snq((/** * @return {?} */ - () => route.data.routes.name), route.path), - children: route.data.routes.children || [], - }))); + () => route.data.routes.name), route.path), children: route.data.routes.children || [] })))); } })); return { routes: setUrls(transformed), wrappers }; @@ -2316,50 +2720,6 @@ if (false) { LazyLoadService.prototype.loadedLibraries; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -class LocalizationService { - /** - * @param {?} store - */ - constructor(store) { - this.store = store; - } - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - get(keys, ...interpolateParams) { - return this.store.select(ConfigState.getCopy(keys, ...interpolateParams)); - } - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - instant(keys, ...interpolateParams) { - return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams)); - } -} -LocalizationService.decorators = [ - { type: Injectable, args: [{ providedIn: 'root' },] } -]; -/** @nocollapse */ -LocalizationService.ctorParameters = () => [ - { type: Store } -]; -/** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - LocalizationService.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2393,69 +2753,6 @@ const CONFIG = new InjectionToken('CONFIG'); * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -class LocalizationPipe { - /** - * @param {?} store - */ - constructor(store) { - this.store = store; - this.initialized = false; - } - /** - * @param {?} value - * @param {...?} interpolateParams - * @return {?} - */ - transform(value, ...interpolateParams) { - if (!this.initialized) { - this.initialized = true; - this.store - .select(ConfigState.getCopy(value, ...interpolateParams.reduce((/** - * @param {?} acc - * @param {?} val - * @return {?} - */ - (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val])), []))) - .pipe(takeUntilDestroy(this), distinctUntilChanged()) - .subscribe((/** - * @param {?} copy - * @return {?} - */ - copy => (this.value = copy))); - } - return this.value; - } - /** - * @return {?} - */ - ngOnDestroy() { } -} -LocalizationPipe.decorators = [ - { type: Pipe, args: [{ - name: 'abpLocalization', - pure: false, - },] } -]; -/** @nocollapse */ -LocalizationPipe.ctorParameters = () => [ - { type: Store } -]; -if (false) { - /** @type {?} */ - LocalizationPipe.prototype.initialized; - /** @type {?} */ - LocalizationPipe.prototype.value; - /** - * @type {?} - * @private - */ - LocalizationPipe.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2575,6 +2872,113 @@ if (false) { ClickEventStopPropagationDirective.prototype.el; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class LocalizationPipe { + /** + * @param {?} store + */ + constructor(store) { + this.store = store; + this.initialValue = ''; + this.destroy$ = new Subject(); + } + /** + * @param {?=} value + * @param {...?} interpolateParams + * @return {?} + */ + transform(value = '', ...interpolateParams) { + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); + this.store + .select(ConfigState.getCopy(value, ...interpolateParams.reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val])), []))) + .pipe(takeUntil(this.destroy$), takeUntilDestroy(this), distinctUntilChanged()) + .subscribe((/** + * @param {?} copy + * @return {?} + */ + copy => (this.value = copy))); + } + return this.value; + } + /** + * @return {?} + */ + ngOnDestroy() { } +} +LocalizationPipe.decorators = [ + { type: Pipe, args: [{ + name: 'abpLocalization', + pure: false, + },] } +]; +/** @nocollapse */ +LocalizationPipe.ctorParameters = () => [ + { type: Store } +]; +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialValue; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** @type {?} */ + LocalizationPipe.prototype.destroy$; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class LocaleId extends String { + /** + * @param {?} localizationService + */ + constructor(localizationService) { + super(); + this.localizationService = localizationService; + } + /** + * @return {?} + */ + toString() { + const { currentLang } = this.localizationService; + return localesMapping[currentLang] || currentLang; + } + /** + * @return {?} + */ + valueOf() { + return this.toString(); + } +} +if (false) { + /** + * @type {?} + * @private + */ + LocaleId.prototype.localizationService; +} +/** @type {?} */ +const LocaleProvider = { + provide: LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], +}; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2588,6 +2992,7 @@ class CoreModule { return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: NGXS_PLUGINS, useClass: ConfigPlugin, @@ -2608,6 +3013,12 @@ class CoreModule { deps: [Injector], useFactory: getInitialData, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: localeInitializer, + }, ], }; } @@ -2629,6 +3040,7 @@ CoreModule.decorators = [ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -2645,6 +3057,7 @@ CoreModule.decorators = [ DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -2667,5 +3080,5 @@ CoreModule.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; +export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, FormSubmitDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, localeInitializer, noop, organizeRoutes, registerLocale, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ClickEventStopPropagationDirective as ɵba, LocaleId as ɵbb, LocaleProvider as ɵbc, NGXS_CONFIG_PLUGIN_OPTIONS as ɵbd, ConfigPlugin as ɵbe, ApiInterceptor as ɵbf, getInitialData as ɵbg, localeInitializer as ɵbh, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, LocalizationService as ɵi, SetLanguage as ɵj, SetTenant as ɵk, ConfigState as ɵm, ApplicationConfigurationService as ɵn, PatchRouteByName as ɵo, GetAppConfiguration as ɵp, RouterOutletComponent as ɵq, DynamicLayoutComponent as ɵr, ConfigState as ɵs, AutofocusDirective as ɵt, EllipsisDirective as ɵu, FormSubmitDirective as ɵv, LocalizationPipe as ɵw, PermissionDirective as ɵx, VisibilityDirective as ɵy, InputEventDebounceDirective as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map index 7e0e326caf..d4f2ea659b 100644 --- a/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm2015/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/constants/different-locales.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/common-utils.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/form-submit.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/providers/locale.provider.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return throwError(err);\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (skipHandleError) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, skipHandleError: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { skipHandleError });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport default {\n 'ar-sa': 'ar-SA',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'de-de': 'de',\n 'es-ES': 'es',\n 'en-US': 'en',\n 'fil-Latn': 'en',\n 'ku-Arab': 'en',\n 'ky-Cyrl': 'en',\n 'mi-Latn': 'en',\n 'prs-Arab': 'en',\n 'qut-Latn': 'en',\n nso: 'en',\n quz: 'en',\n 'fr-FR': 'fr',\n 'gd-Latn': 'gd',\n 'ha-Latn': 'ha',\n 'ig-Latn': 'ig',\n 'it-it': 'it',\n 'mn-Cyrl': 'mn',\n 'pt-BR': 'pt',\n 'sd-Arab': 'pa-Arab',\n 'sr-Cyrl-RS': 'sr-Cyrl',\n 'sr-Latn-RS': 'sr-Latn',\n 'tg-Cyrl': 'tg',\n 'tk-Latn': 'tk',\n 'tt-Cyrl': 'tt',\n 'ug-Arab': 'ug',\n 'yo-Latn': 'yo',\n};\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport differentLocales from '../constants/different-locales';\nimport { SessionState } from '../states/session.state';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n const lang = store.selectSnapshot(SessionState.getLanguage) || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocale(lang).then(() => resolve(), reject);\n });\n };\n\n return fn;\n}\n\nexport function registerLocale(locale: string) {\n return import(\n /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\\.js$/ */\n `@angular/common/locales/${differentLocales[locale] || locale}.js`\n ).then(module => {\n registerLocaleData(module.default);\n });\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Actions, Store } from '@ngxs/store';\nimport { noop, Observable } from 'rxjs';\nimport { ConfigState } from '../states/config.state';\nimport { SessionState } from '../states/session.state';\nimport { registerLocale } from '../utils/initial-utils';\n\ntype ShouldReuseRoute = (future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot) => boolean;\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n get currentLang(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n constructor(\n private store: Store,\n private router: Router,\n private actions: Actions,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n ) {\n if (otherInstance) throw new Error('LocaleService should have only one instance.');\n }\n\n private setRouteReuse(reuse: ShouldReuseRoute) {\n this.router.routeReuseStrategy.shouldReuseRoute = reuse;\n }\n\n registerLocale(locale: string) {\n const { shouldReuseRoute } = this.router.routeReuseStrategy;\n\n this.setRouteReuse(() => false);\n this.router.navigated = false;\n\n return registerLocale(locale).then(async () => {\n await this.router.navigateByUrl(this.router.url).catch(noop);\n this.setRouteReuse(shouldReuseRoute);\n });\n }\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport { LocalizationService } from '../services/localization.service';\nimport { from, combineLatest } from 'rxjs';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor(private localizationService: LocalizationService) {}\n\n @Action(SetLanguage)\n setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n\n return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]);\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getRoute(path?: string, name?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return findRoute(state.routes, path, name);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration => {\n let defaultLang: string = configuration.setting.values['Abp.Localization.DefaultLanguage'];\n\n if (defaultLang.includes(';')) {\n defaultLang = defaultLang.split(';')[0];\n }\n\n return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang));\n }),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n\nfunction findRoute(routes: ABP.FullRoute[], path?: string, name?: string) {\n let foundRoute;\n routes.forEach(route => {\n if (foundRoute) return;\n\n if (path && route.path === path) {\n foundRoute = route;\n } else if (name && route.name === name) {\n foundRoute = route;\n return;\n } else if (route.children && route.children.length) {\n foundRoute = findRoute(route.children, path, name);\n return;\n }\n });\n\n return foundRoute;\n}\n","export function noop() {\n const fn = function() {};\n return fn;\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child && child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis-inline')\n get inlineClass() {\n return this.enabled && this.width;\n }\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled && !this.width;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled && this.width ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { takeUntilDestroy } from '../utils';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n selector: 'form[ngSubmit][formGroup]',\n})\nexport class FormSubmitDirective implements OnInit, OnDestroy {\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output()\n ngSubmit = new EventEmitter();\n\n executedNgSubmit: boolean = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(() => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n fromEvent(this.host.nativeElement as HTMLElement, 'keyup')\n .pipe(\n debounceTime(200),\n filter((key: KeyboardEvent) => key && key.key === 'Enter'),\n takeUntilDestroy(this),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n }\n\n this.executedNgSubmit = false;\n });\n\n fromEvent(this.host.nativeElement, 'submit')\n .pipe(\n takeUntilDestroy(this),\n filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.markAsDirty();\n }\n });\n }\n\n ngOnDestroy(): void {}\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n skipHandleError?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../../models';\nimport { organizeRoutes } from '../../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n ...route.data.routes,\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialValue: string = '';\n\n value: string;\n\n destroy$ = new Subject();\n\n constructor(private store: Store) {}\n\n transform(value: string = '', ...interpolateParams: string[]): string {\n if (this.initialValue !== value) {\n this.initialValue = value;\n this.destroy$.next();\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntil(this.destroy$),\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport localesMapping from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return localesMapping[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n LocaleProvider,\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","differentLocales","noop","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js index 81ad989458..ad15db7bb7 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js @@ -1,15 +1,15 @@ -import { __rest, __assign, __decorate, __metadata, __spread } from 'tslib'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, Optional, Renderer2, InjectionToken, Inject, Pipe, EventEmitter, Output, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; -import { NavigationEnd, Router, RouterModule } from '@angular/router'; -import { Store, Action, Selector, State, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; -import { NEVER, throwError, of, Subject, Observable, ReplaySubject, fromEvent } from 'rxjs'; +import { __rest, __assign, __decorate, __metadata, __awaiter, __generator, __spread, __extends } from 'tslib'; +import { Injectable, ɵɵdefineInjectable, ɵɵinject, Optional, SkipSelf, Component, Directive, ElementRef, Input, ChangeDetectorRef, HostBinding, EventEmitter, Self, Output, Renderer2, InjectionToken, Inject, Pipe, LOCALE_ID, APP_INITIALIZER, Injector, NgModule } from '@angular/core'; +import { Router, NavigationEnd, RouterModule } from '@angular/router'; +import { Store, Action, Selector, State, Actions, createSelector, Select, actionMatcher, InitState, UpdateState, setValue, NGXS_PLUGINS, NgxsModule } from '@ngxs/store'; +import { throwError, noop as noop$1, combineLatest, from, of, Subject, Observable, fromEvent, ReplaySubject } from 'rxjs'; import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; -import { take, catchError, tap, switchMap, takeUntil, finalize, distinctUntilChanged, debounceTime } from 'rxjs/operators'; +import { take, catchError, tap, switchMap, takeUntil, debounceTime, filter, finalize, distinctUntilChanged } from 'rxjs/operators'; import snq from 'snq'; +import { registerLocaleData, CommonModule } from '@angular/common'; +import { FormGroupDirective, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { OAuthService } from 'angular-oauth2-oidc'; import { Navigate, NgxsRouterPluginModule } from '@ngxs/router-plugin'; -import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; import { takeUntilDestroy as takeUntilDestroy$1 } from '@ngx-validate/core'; @@ -190,7 +190,7 @@ var RestService = /** @class */ (function () { function (err) { this.store.dispatch(new RestOccurError(err)); console.error(err); - return NEVER; + return throwError(err); }; /** * @template T, R @@ -209,7 +209,7 @@ var RestService = /** @class */ (function () { function (request, config, api) { var _this = this; if (config === void 0) { config = {}; } - var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, throwErr = config.throwErr; + var _a = config.observe, observe = _a === void 0 ? "body" /* Body */ : _a, skipHandleError = config.skipHandleError; /** @type {?} */ var url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url; var method = request.method, options = __rest(request, ["method"]); @@ -218,7 +218,7 @@ var RestService = /** @class */ (function () { * @return {?} */ function (err) { - if (throwErr) { + if (skipHandleError) { return throwError(err); } return _this.handleError(err); @@ -291,23 +291,23 @@ var ProfileService = /** @class */ (function () { }; /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ ProfileService.prototype.changePassword = /** * @param {?} body - * @param {?=} throwErr + * @param {?=} skipHandleError * @return {?} */ - function (body, throwErr) { - if (throwErr === void 0) { throwErr = false; } + function (body, skipHandleError) { + if (skipHandleError === void 0) { skipHandleError = false; } /** @type {?} */ var request = { method: 'POST', url: '/api/identity/my-profile/change-password', body: body, }; - return this.rest.request(request, { throwErr: throwErr }); + return this.rest.request(request, { skipHandleError: skipHandleError }); }; ProfileService.decorators = [ { type: Injectable, args: [{ @@ -489,12 +489,245 @@ if (false) { ApplicationConfigurationService.prototype.rest; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +// Different locales from .NET +// Key is .NET locale, value is Angular locale +var localesMapping = { + 'ar-sa': 'ar-SA', + 'ca-ES-valencia': 'ca-ES-VALENCIA', + 'de-de': 'de', + 'es-ES': 'es', + 'en-US': 'en', + 'fil-Latn': 'en', + 'ku-Arab': 'en', + 'ky-Cyrl': 'en', + 'mi-Latn': 'en', + 'prs-Arab': 'en', + 'qut-Latn': 'en', + nso: 'en', + quz: 'en', + 'fr-FR': 'fr', + 'gd-Latn': 'gd', + 'ha-Latn': 'ha', + 'ig-Latn': 'ig', + 'it-it': 'it', + 'mn-Cyrl': 'mn', + 'pt-BR': 'pt', + 'sd-Arab': 'pa-Arab', + 'sr-Cyrl-RS': 'sr-Cyrl', + 'sr-Latn-RS': 'sr-Latn', + 'tg-Cyrl': 'tg', + 'tk-Latn': 'tk', + 'tt-Cyrl': 'tt', + 'ug-Arab': 'ug', + 'yo-Latn': 'yo', +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @param {?} injector + * @return {?} + */ +function getInitialData(injector) { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + var store = injector.get(Store); + return store.dispatch(new GetAppConfiguration()).toPromise(); + }); + return fn; +} +/** + * @param {?} injector + * @return {?} + */ +function localeInitializer(injector) { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { + /** @type {?} */ + var store = injector.get(Store); + /** @type {?} */ + var lang = store.selectSnapshot(SessionState.getLanguage) || 'en'; + return new Promise((/** + * @param {?} resolve + * @param {?} reject + * @return {?} + */ + function (resolve, reject) { + registerLocale(lang).then((/** + * @return {?} + */ + function () { return resolve(); }), reject); + })); + }); + return fn; +} +/** + * @param {?} locale + * @return {?} + */ +function registerLocale(locale) { + return import( + /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\.js$/ */ + "@angular/common/locales/" + (localesMapping[locale] || locale) + ".js").then((/** + * @param {?} module + * @return {?} + */ + function (module) { + registerLocaleData(module.default); + })); +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var LocalizationService = /** @class */ (function () { + function LocalizationService(store, router, actions, otherInstance) { + this.store = store; + this.router = router; + this.actions = actions; + if (otherInstance) + throw new Error('LocaleService should have only one instance.'); + } + Object.defineProperty(LocalizationService.prototype, "currentLang", { + get: /** + * @return {?} + */ + function () { + return this.store.selectSnapshot(SessionState.getLanguage); + }, + enumerable: true, + configurable: true + }); + /** + * @private + * @param {?} reuse + * @return {?} + */ + LocalizationService.prototype.setRouteReuse = /** + * @private + * @param {?} reuse + * @return {?} + */ + function (reuse) { + this.router.routeReuseStrategy.shouldReuseRoute = reuse; + }; + /** + * @param {?} locale + * @return {?} + */ + LocalizationService.prototype.registerLocale = /** + * @param {?} locale + * @return {?} + */ + function (locale) { + var _this = this; + var shouldReuseRoute = this.router.routeReuseStrategy.shouldReuseRoute; + this.setRouteReuse((/** + * @return {?} + */ + function () { return false; })); + this.router.navigated = false; + return registerLocale(locale).then((/** + * @return {?} + */ + function () { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.router.navigateByUrl(this.router.url).catch(noop$1)]; + case 1: + _a.sent(); + this.setRouteReuse(shouldReuseRoute); + return [2 /*return*/]; + } + }); + }); })); + }; + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationService.prototype.get = /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + function (keys) { + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + return this.store.select(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); + }; + /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationService.prototype.instant = /** + * @param {?} keys + * @param {...?} interpolateParams + * @return {?} + */ + function (keys) { + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + return this.store.selectSnapshot(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); + }; + LocalizationService.decorators = [ + { type: Injectable, args: [{ providedIn: 'root' },] } + ]; + /** @nocollapse */ + LocalizationService.ctorParameters = function () { return [ + { type: Store }, + { type: Router }, + { type: Actions }, + { type: LocalizationService, decorators: [{ type: Optional }, { type: SkipSelf }] } + ]; }; + /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store), ɵɵinject(Router), ɵɵinject(Actions), ɵɵinject(LocalizationService, 12)); }, token: LocalizationService, providedIn: "root" }); + return LocalizationService; +}()); +if (false) { + /** + * @type {?} + * @private + */ + LocalizationService.prototype.store; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.router; + /** + * @type {?} + * @private + */ + LocalizationService.prototype.actions; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var SessionState = /** @class */ (function () { - function SessionState() { + function SessionState(localizationService) { + this.localizationService = localizationService; } /** * @param {?} __0 @@ -531,11 +764,12 @@ var SessionState = /** @class */ (function () { * @return {?} */ function (_a, _b) { - var patchState = _a.patchState; + var patchState = _a.patchState, dispatch = _a.dispatch; var payload = _b.payload; patchState({ language: payload, }); + return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]); }; /** * @param {?} __0 @@ -583,10 +817,17 @@ var SessionState = /** @class */ (function () { name: 'SessionState', defaults: (/** @type {?} */ ({})), }), - __metadata("design:paramtypes", []) + __metadata("design:paramtypes", [LocalizationService]) ], SessionState); return SessionState; }()); +if (false) { + /** + * @type {?} + * @private + */ + SessionState.prototype.localizationService; +} /** * @fileoverview added by tsickle @@ -768,6 +1009,27 @@ var ConfigState = /** @class */ (function () { })); return selector; }; + /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + ConfigState.getRoute = /** + * @param {?=} path + * @param {?=} name + * @return {?} + */ + function (path, name) { + /** @type {?} */ + var selector = createSelector([ConfigState_1], (/** + * @param {?} state + * @return {?} + */ + function (state) { + return findRoute(state.routes, path, name); + })); + return selector; + }; /** * @param {?=} key * @return {?} @@ -951,12 +1213,12 @@ var ConfigState = /** @class */ (function () { * @return {?} */ function (configuration) { - return _this.store.selectSnapshot(SessionState.getLanguage) - ? of(null) - : dispatch(new SetLanguage(snq((/** - * @return {?} - */ - function () { return configuration.setting.values['Abp.Localization.DefaultLanguage']; })))); + /** @type {?} */ + var defaultLang = configuration.setting.values['Abp.Localization.DefaultLanguage']; + if (defaultLang.includes(';')) { + defaultLang = defaultLang.split(';')[0]; + } + return _this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang)); }))); }; /** @@ -1069,6 +1331,36 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { } return organizeRoutes(routes); } +/** + * @param {?} routes + * @param {?=} path + * @param {?=} name + * @return {?} + */ +function findRoute(routes, path, name) { + /** @type {?} */ + var foundRoute; + routes.forEach((/** + * @param {?} route + * @return {?} + */ + function (route) { + if (foundRoute) + return; + if (path && route.path === path) { + foundRoute = route; + } + else if (name && route.name === name) { + foundRoute = route; + return; + } + else if (route.children && route.children.length) { + foundRoute = findRoute(route.children, path, name); + return; + } + })); + return foundRoute; +} /** * @fileoverview added by tsickle @@ -1080,13 +1372,15 @@ function patchRouteDeep(routes, name, newValue, parentUrl) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?=} a * @return {?} */ -function uuid(a) { - return a - ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) - : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); +function noop() { + /** @type {?} */ + var fn = (/** + * @return {?} + */ + function () { }); + return fn; } /** @@ -1094,20 +1388,13 @@ function uuid(a) { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** - * @param {?} injector + * @param {?=} a * @return {?} */ -function getInitialData(injector) { - /** @type {?} */ - var fn = (/** - * @return {?} - */ - function () { - /** @type {?} */ - var store = injector.get(Store); - return store.dispatch(new GetAppConfiguration()).toPromise(); - }); - return fn; +function uuid(a) { + return a + ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) + : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid); } /** @@ -1266,7 +1553,7 @@ function findLayout(segments, routes) { * @return {?} */ function (c) { return c.path === segments[1].path; })); - if (child.layout) { + if (child && child.layout) { layout = child.layout; } } @@ -1295,6 +1582,11 @@ var RouterOutletComponent = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1351,12 +1643,22 @@ var EllipsisDirective = /** @class */ (function () { this.elRef = elRef; this.enabled = true; } + Object.defineProperty(EllipsisDirective.prototype, "inlineClass", { + get: /** + * @return {?} + */ + function () { + return this.enabled && this.width; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(EllipsisDirective.prototype, "class", { get: /** * @return {?} */ function () { - return this.enabled; + return this.enabled && !this.width; }, enumerable: true, configurable: true @@ -1366,7 +1668,7 @@ var EllipsisDirective = /** @class */ (function () { * @return {?} */ function () { - return this.enabled ? this.width || '170px' : undefined; + return this.enabled && this.width ? this.width || '170px' : undefined; }, enumerable: true, configurable: true @@ -1405,28 +1707,169 @@ var EllipsisDirective = /** @class */ (function () { width: [{ type: Input, args: ['abpEllipsis',] }], title: [{ type: HostBinding, args: ['title',] }, { type: Input }], enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }], + inlineClass: [{ type: HostBinding, args: ['class.abp-ellipsis-inline',] }], class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }], maxWidth: [{ type: HostBinding, args: ['style.max-width',] }] }; - return EllipsisDirective; + return EllipsisDirective; +}()); +if (false) { + /** @type {?} */ + EllipsisDirective.prototype.width; + /** @type {?} */ + EllipsisDirective.prototype.title; + /** @type {?} */ + EllipsisDirective.prototype.enabled; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.cdRef; + /** + * @type {?} + * @private + */ + EllipsisDirective.prototype.elRef; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var FormSubmitDirective = /** @class */ (function () { + function FormSubmitDirective(formGroupDirective, host, cdRef) { + this.formGroupDirective = formGroupDirective; + this.host = host; + this.cdRef = cdRef; + this.ngSubmit = new EventEmitter(); + this.executedNgSubmit = false; + } + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe((/** + * @return {?} + */ + function () { + _this.markAsDirty(); + _this.executedNgSubmit = true; + })); + fromEvent((/** @type {?} */ (this.host.nativeElement)), 'keyup') + .pipe(debounceTime(200), filter((/** + * @param {?} key + * @return {?} + */ + function (key) { return key && key.key === 'Enter'; })), takeUntilDestroy(this)) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true })); + } + _this.executedNgSubmit = false; + })); + fromEvent(this.host.nativeElement, 'submit') + .pipe(takeUntilDestroy(this), filter((/** + * @return {?} + */ + function () { return !_this.notValidateOnSubmit && typeof _this.notValidateOnSubmit !== 'string'; }))) + .subscribe((/** + * @return {?} + */ + function () { + if (!_this.executedNgSubmit) { + _this.markAsDirty(); + } + })); + }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + /** + * @return {?} + */ + FormSubmitDirective.prototype.markAsDirty = /** + * @return {?} + */ + function () { + var form = this.formGroupDirective.form; + setDirty((/** @type {?} */ (form.controls))); + form.markAsDirty(); + this.cdRef.detectChanges(); + }; + FormSubmitDirective.decorators = [ + { type: Directive, args: [{ + selector: 'form[ngSubmit][formGroup]', + },] } + ]; + /** @nocollapse */ + FormSubmitDirective.ctorParameters = function () { return [ + { type: FormGroupDirective, decorators: [{ type: Self }] }, + { type: ElementRef }, + { type: ChangeDetectorRef } + ]; }; + FormSubmitDirective.propDecorators = { + notValidateOnSubmit: [{ type: Input }], + ngSubmit: [{ type: Output }] + }; + return FormSubmitDirective; }()); if (false) { /** @type {?} */ - EllipsisDirective.prototype.width; + FormSubmitDirective.prototype.notValidateOnSubmit; /** @type {?} */ - EllipsisDirective.prototype.title; + FormSubmitDirective.prototype.ngSubmit; /** @type {?} */ - EllipsisDirective.prototype.enabled; + FormSubmitDirective.prototype.executedNgSubmit; /** * @type {?} * @private */ - EllipsisDirective.prototype.cdRef; + FormSubmitDirective.prototype.formGroupDirective; /** * @type {?} * @private */ - EllipsisDirective.prototype.elRef; + FormSubmitDirective.prototype.host; + /** + * @type {?} + * @private + */ + FormSubmitDirective.prototype.cdRef; +} +/** + * @param {?} controls + * @return {?} + */ +function setDirty(controls) { + if (Array.isArray(controls)) { + controls.forEach((/** + * @param {?} group + * @return {?} + */ + function (group) { + setDirty((/** @type {?} */ (group.controls))); + })); + return; + } + Object.keys(controls).forEach((/** + * @param {?} key + * @return {?} + */ + function (key) { + controls[key].markAsDirty(); + controls[key].updateValueAndValidity(); + })); } /** @@ -1701,10 +2144,19 @@ var PermissionGuard = /** @class */ (function () { * @return {?} */ function (_a) { + var _this = this; var data = _a.data; /** @type {?} */ var resource = (/** @type {?} */ (data.requiredPolicy)); - return this.store.select(ConfigState.getGrantedPolicy(resource)); + return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(tap((/** + * @param {?} access + * @return {?} + */ + function (access) { + if (!access) { + _this.store.dispatch(new RestOccurError({ status: 403 })); + } + }))); }; PermissionGuard.decorators = [ { type: Injectable, args: [{ @@ -2069,7 +2521,7 @@ var Rest; Rest.Config = Config; if (false) { /** @type {?|undefined} */ - Config.prototype.throwErr; + Config.prototype.skipHandleError; /** @type {?|undefined} */ Config.prototype.observe; } @@ -2251,7 +2703,7 @@ function transformRoutes(routes, wrappers) { return snq((/** * @return {?} */ - function () { return route.data.routes.find((/** + function () { return route.data.routes.routes.find((/** * @param {?} r * @return {?} */ @@ -2262,7 +2714,7 @@ function transformRoutes(routes, wrappers) { * @param {?} val * @return {?} */ - function (acc, val) { return __spread(acc, val.data.routes); }), []); + function (acc, val) { return __spread(acc, val.data.routes.routes); }), []); wrappers = abpRoutes.filter((/** * @param {?} ar * @return {?} @@ -2289,20 +2741,16 @@ function transformRoutes(routes, wrappers) { function (abp) { return abp.path.toLowerCase() === route.path.toLowerCase() && snq((/** * @return {?} */ - function () { return route.data.routes.length; }), false); })); + function () { return route.data.routes.routes.length; }), false); })); var length = transformed.length; if (abpPackage) { transformed.push(abpPackage); } if (transformed.length === length) { - transformed.push((/** @type {?} */ ({ - path: route.path, - name: snq((/** + transformed.push((/** @type {?} */ (__assign({}, route.data.routes, { path: route.path, name: snq((/** * @return {?} */ - function () { return route.data.routes.name; }), route.path), - children: route.data.routes.children || [], - }))); + function () { return route.data.routes.name; }), route.path), children: route.data.routes.children || [] })))); } })); return { routes: setUrls(transformed), wrappers: wrappers }; @@ -2491,66 +2939,6 @@ if (false) { LazyLoadService.prototype.loadedLibraries; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -var LocalizationService = /** @class */ (function () { - function LocalizationService(store) { - this.store = store; - } - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationService.prototype.get = /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - function (keys) { - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - return this.store.select(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); - }; - /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationService.prototype.instant = /** - * @param {?} keys - * @param {...?} interpolateParams - * @return {?} - */ - function (keys) { - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - return this.store.selectSnapshot(ConfigState.getCopy.apply(ConfigState, __spread([keys], interpolateParams))); - }; - LocalizationService.decorators = [ - { type: Injectable, args: [{ providedIn: 'root' },] } - ]; - /** @nocollapse */ - LocalizationService.ctorParameters = function () { return [ - { type: Store } - ]; }; - /** @nocollapse */ LocalizationService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(ɵɵinject(Store)); }, token: LocalizationService, providedIn: "root" }); - return LocalizationService; -}()); -if (false) { - /** - * @type {?} - * @private - */ - LocalizationService.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2584,80 +2972,6 @@ var CONFIG = new InjectionToken('CONFIG'); * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -var LocalizationPipe = /** @class */ (function () { - function LocalizationPipe(store) { - this.store = store; - this.initialized = false; - } - /** - * @param {?} value - * @param {...?} interpolateParams - * @return {?} - */ - LocalizationPipe.prototype.transform = /** - * @param {?} value - * @param {...?} interpolateParams - * @return {?} - */ - function (value) { - var _this = this; - var interpolateParams = []; - for (var _i = 1; _i < arguments.length; _i++) { - interpolateParams[_i - 1] = arguments[_i]; - } - if (!this.initialized) { - this.initialized = true; - this.store - .select(ConfigState.getCopy.apply(ConfigState, __spread([value], interpolateParams.reduce((/** - * @param {?} acc - * @param {?} val - * @return {?} - */ - function (acc, val) { return (Array.isArray(val) ? __spread(acc, val) : __spread(acc, [val])); }), [])))) - .pipe(takeUntilDestroy(this), distinctUntilChanged()) - .subscribe((/** - * @param {?} copy - * @return {?} - */ - function (copy) { return (_this.value = copy); })); - } - return this.value; - }; - /** - * @return {?} - */ - LocalizationPipe.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { }; - LocalizationPipe.decorators = [ - { type: Pipe, args: [{ - name: 'abpLocalization', - pure: false, - },] } - ]; - /** @nocollapse */ - LocalizationPipe.ctorParameters = function () { return [ - { type: Store } - ]; }; - return LocalizationPipe; -}()); -if (false) { - /** @type {?} */ - LocalizationPipe.prototype.initialized; - /** @type {?} */ - LocalizationPipe.prototype.value; - /** - * @type {?} - * @private - */ - LocalizationPipe.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2779,6 +3093,131 @@ if (false) { ClickEventStopPropagationDirective.prototype.el; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var LocalizationPipe = /** @class */ (function () { + function LocalizationPipe(store) { + this.store = store; + this.initialValue = ''; + this.destroy$ = new Subject(); + } + /** + * @param {?=} value + * @param {...?} interpolateParams + * @return {?} + */ + LocalizationPipe.prototype.transform = /** + * @param {?=} value + * @param {...?} interpolateParams + * @return {?} + */ + function (value) { + var _this = this; + if (value === void 0) { value = ''; } + var interpolateParams = []; + for (var _i = 1; _i < arguments.length; _i++) { + interpolateParams[_i - 1] = arguments[_i]; + } + if (this.initialValue !== value) { + this.initialValue = value; + this.destroy$.next(); + this.store + .select(ConfigState.getCopy.apply(ConfigState, __spread([value], interpolateParams.reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return (Array.isArray(val) ? __spread(acc, val) : __spread(acc, [val])); }), [])))) + .pipe(takeUntil(this.destroy$), takeUntilDestroy(this), distinctUntilChanged()) + .subscribe((/** + * @param {?} copy + * @return {?} + */ + function (copy) { return (_this.value = copy); })); + } + return this.value; + }; + /** + * @return {?} + */ + LocalizationPipe.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { }; + LocalizationPipe.decorators = [ + { type: Pipe, args: [{ + name: 'abpLocalization', + pure: false, + },] } + ]; + /** @nocollapse */ + LocalizationPipe.ctorParameters = function () { return [ + { type: Store } + ]; }; + return LocalizationPipe; +}()); +if (false) { + /** @type {?} */ + LocalizationPipe.prototype.initialValue; + /** @type {?} */ + LocalizationPipe.prototype.value; + /** @type {?} */ + LocalizationPipe.prototype.destroy$; + /** + * @type {?} + * @private + */ + LocalizationPipe.prototype.store; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var LocaleId = /** @class */ (function (_super) { + __extends(LocaleId, _super); + function LocaleId(localizationService) { + var _this = _super.call(this) || this; + _this.localizationService = localizationService; + return _this; + } + /** + * @return {?} + */ + LocaleId.prototype.toString = /** + * @return {?} + */ + function () { + var currentLang = this.localizationService.currentLang; + return localesMapping[currentLang] || currentLang; + }; + /** + * @return {?} + */ + LocaleId.prototype.valueOf = /** + * @return {?} + */ + function () { + return this.toString(); + }; + return LocaleId; +}(String)); +if (false) { + /** + * @type {?} + * @private + */ + LocaleId.prototype.localizationService; +} +/** @type {?} */ +var LocaleProvider = { + provide: LOCALE_ID, + useClass: LocaleId, + deps: [LocalizationService], +}; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2799,6 +3238,7 @@ var CoreModule = /** @class */ (function () { return { ngModule: CoreModule, providers: [ + LocaleProvider, { provide: NGXS_PLUGINS, useClass: ConfigPlugin, @@ -2819,6 +3259,12 @@ var CoreModule = /** @class */ (function () { deps: [Injector], useFactory: getInitialData, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: localeInitializer, + }, ], }; }; @@ -2839,6 +3285,7 @@ var CoreModule = /** @class */ (function () { DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -2855,6 +3302,7 @@ var CoreModule = /** @class */ (function () { DynamicLayoutComponent, AutofocusDirective, EllipsisDirective, + FormSubmitDirective, LocalizationPipe, PermissionDirective, VisibilityDirective, @@ -2879,5 +3327,5 @@ var CoreModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, organizeRoutes, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ConfigPlugin as ɵba, ApiInterceptor as ɵbb, getInitialData as ɵbc, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, SetLanguage as ɵi, SetTenant as ɵj, ConfigState as ɵl, ApplicationConfigurationService as ɵm, PatchRouteByName as ɵn, GetAppConfiguration as ɵo, RouterOutletComponent as ɵp, DynamicLayoutComponent as ɵq, ConfigState as ɵr, AutofocusDirective as ɵs, EllipsisDirective as ɵt, LocalizationPipe as ɵu, PermissionDirective as ɵv, VisibilityDirective as ɵw, InputEventDebounceDirective as ɵx, ClickEventStopPropagationDirective as ɵy, NGXS_CONFIG_PLUGIN_OPTIONS as ɵz }; +export { ApiInterceptor, ApplicationConfigurationService, AuthGuard, AutofocusDirective, CONFIG, ChangePassword, ConfigPlugin, ConfigService, ConfigState, CoreModule, DynamicLayoutComponent, ENVIRONMENT, EllipsisDirective, FormSubmitDirective, GetAppConfiguration, GetProfile, LazyLoadService, LocalizationService, NGXS_CONFIG_PLUGIN_OPTIONS, PatchRouteByName, PermissionDirective, PermissionGuard, ProfileService, ProfileState, Rest, RestOccurError, RestService, RouterOutletComponent, SessionState, SetLanguage, SetTenant, StartLoader, StopLoader, UpdateProfile, VisibilityDirective, configFactory, environmentFactory, getInitialData, localeInitializer, noop, organizeRoutes, registerLocale, setChildRoute, sortRoutes, takeUntilDestroy, uuid, ProfileState as ɵa, ProfileService as ɵb, ClickEventStopPropagationDirective as ɵba, LocaleId as ɵbb, LocaleProvider as ɵbc, NGXS_CONFIG_PLUGIN_OPTIONS as ɵbd, ConfigPlugin as ɵbe, ApiInterceptor as ɵbf, getInitialData as ɵbg, localeInitializer as ɵbh, RestService as ɵc, GetProfile as ɵd, UpdateProfile as ɵe, ChangePassword as ɵf, SessionState as ɵh, LocalizationService as ɵi, SetLanguage as ɵj, SetTenant as ɵk, ConfigState as ɵm, ApplicationConfigurationService as ɵn, PatchRouteByName as ɵo, GetAppConfiguration as ɵp, RouterOutletComponent as ɵq, DynamicLayoutComponent as ɵr, ConfigState as ɵs, AutofocusDirective as ɵt, EllipsisDirective as ɵu, FormSubmitDirective as ɵv, LocalizationPipe as ɵw, PermissionDirective as ɵx, VisibilityDirective as ɵy, InputEventDebounceDirective as ɵz }; //# sourceMappingURL=abp-ng.core.js.map diff --git a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map index 19fa60aec5..ca3ffb5f44 100644 --- a/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map +++ b/npm/ng-packs/dist/core/fesm5/abp-ng.core.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return NEVER;\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, throwErr } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (throwErr) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, throwErr: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { throwErr });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor() {}\n\n @Action(SetLanguage)\n setLanguage({ patchState }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration =>\n this.store.selectSnapshot(SessionState.getLanguage)\n ? of(null)\n : dispatch(new SetLanguage(snq(() => configuration.setting.values['Abp.Localization.DefaultLanguage']))),\n ),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n throwErr?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../models';\nimport { organizeRoutes } from '../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n constructor(private store: Store) {}\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialized: boolean = false;\n\n value: string;\n\n constructor(private store: Store) {}\n\n transform(value: string, ...interpolateParams: string[]): string {\n if (!this.initialized) {\n this.initialized = true;\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData } from './utils/initial-utils';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","takeUntilDestroy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.core.js","sources":["ng://@abp/ng.core/lib/actions/config.actions.ts","ng://@abp/ng.core/lib/actions/loader.actions.ts","ng://@abp/ng.core/lib/actions/profile.actions.ts","ng://@abp/ng.core/lib/actions/rest.actions.ts","ng://@abp/ng.core/lib/actions/session.actions.ts","ng://@abp/ng.core/lib/services/rest.service.ts","ng://@abp/ng.core/lib/services/profile.service.ts","ng://@abp/ng.core/lib/states/profile.state.ts","ng://@abp/ng.core/lib/services/application-configuration.service.ts","ng://@abp/ng.core/lib/constants/different-locales.ts","ng://@abp/ng.core/lib/utils/initial-utils.ts","ng://@abp/ng.core/lib/services/localization.service.ts","ng://@abp/ng.core/lib/states/session.state.ts","ng://@abp/ng.core/lib/utils/route-utils.ts","ng://@abp/ng.core/lib/states/config.state.ts","ng://@abp/ng.core/lib/utils/common-utils.ts","ng://@abp/ng.core/lib/utils/generator-utils.ts","ng://@abp/ng.core/lib/utils/rxjs-utils.ts","ng://@abp/ng.core/lib/components/dynamic-layout.component.ts","ng://@abp/ng.core/lib/components/router-outlet.component.ts","ng://@abp/ng.core/lib/directives/autofocus.directive.ts","ng://@abp/ng.core/lib/directives/ellipsis.directive.ts","ng://@abp/ng.core/lib/directives/form-submit.directive.ts","ng://@abp/ng.core/lib/directives/permission.directive.ts","ng://@abp/ng.core/lib/directives/visibility.directive.ts","ng://@abp/ng.core/lib/enums/common.ts","ng://@abp/ng.core/lib/guards/auth.guard.ts","ng://@abp/ng.core/lib/guards/permission.guard.ts","ng://@abp/ng.core/lib/interceptors/api.interceptor.ts","ng://@abp/ng.core/lib/models/application-configuration.ts","ng://@abp/ng.core/lib/models/common.ts","ng://@abp/ng.core/lib/models/config.ts","ng://@abp/ng.core/lib/models/rest.ts","ng://@abp/ng.core/lib/models/session.ts","ng://@abp/ng.core/lib/models/profile.ts","ng://@abp/ng.core/lib/plugins/config/config.plugin.ts","ng://@abp/ng.core/lib/services/config.service.ts","ng://@abp/ng.core/lib/services/lazy-load.service.ts","ng://@abp/ng.core/lib/tokens/common.token.ts","ng://@abp/ng.core/lib/directives/debounce.directive.ts","ng://@abp/ng.core/lib/directives/stop-propagation.directive.ts","ng://@abp/ng.core/lib/pipes/localization.pipe.ts","ng://@abp/ng.core/lib/providers/locale.provider.ts","ng://@abp/ng.core/lib/core.module.ts"],"sourcesContent":["import { ABP } from '../models';\n\nexport class PatchRouteByName {\n static readonly type = '[Config] Patch Route By Name';\n constructor(public name: string, public newValue: Partial) {}\n}\n\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","import { ABP } from '../models';\n\nexport class SetLanguage {\n static readonly type = '[Session] Set Language';\n constructor(public payload: string) {}\n}\nexport class SetTenant {\n static readonly type = '[Session] Set Tenant';\n constructor(public payload: ABP.BasicItem) {}\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NEVER, Observable, throwError } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { Rest } from '../models/rest';\nimport { ConfigState } from '../states';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(private http: HttpClient, private store: Store) {}\n\n handleError(err: any): Observable {\n this.store.dispatch(new RestOccurError(err));\n console.error(err);\n return throwError(err);\n }\n\n request(request: HttpRequest | Rest.Request, config: Rest.Config = {}, api?: string): Observable {\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n const url = api || this.store.selectSnapshot(ConfigState.getApiUrl()) + request.url;\n const { method, ...options } = request;\n return this.http.request(method, url, { observe, ...options } as any).pipe(\n observe === Rest.Observe.Body ? take(1) : null,\n catchError(err => {\n if (skipHandleError) {\n return throwError(err);\n }\n\n return this.handleError(err);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private rest: RestService) {}\n\n get(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request(request);\n }\n\n update(body: Profile.Response): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request(request);\n }\n\n changePassword(body: Profile.ChangePasswordRequest, skipHandleError: boolean = false): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request(request, { skipHandleError });\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetProfile, ChangePassword, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n profileGet({ patchState }: StateContext) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n profileUpdate({ patchState }: StateContext, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApplicationConfiguration, Rest } from '../models';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request(request);\n }\n}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport default {\n 'ar-sa': 'ar-SA',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'de-de': 'de',\n 'es-ES': 'es',\n 'en-US': 'en',\n 'fil-Latn': 'en',\n 'ku-Arab': 'en',\n 'ky-Cyrl': 'en',\n 'mi-Latn': 'en',\n 'prs-Arab': 'en',\n 'qut-Latn': 'en',\n nso: 'en',\n quz: 'en',\n 'fr-FR': 'fr',\n 'gd-Latn': 'gd',\n 'ha-Latn': 'ha',\n 'ig-Latn': 'ig',\n 'it-it': 'it',\n 'mn-Cyrl': 'mn',\n 'pt-BR': 'pt',\n 'sd-Arab': 'pa-Arab',\n 'sr-Cyrl-RS': 'sr-Cyrl',\n 'sr-Latn-RS': 'sr-Latn',\n 'tg-Cyrl': 'tg',\n 'tk-Latn': 'tk',\n 'tt-Cyrl': 'tt',\n 'ug-Arab': 'ug',\n 'yo-Latn': 'yo',\n};\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport differentLocales from '../constants/different-locales';\nimport { SessionState } from '../states/session.state';\n\nexport function getInitialData(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n return store.dispatch(new GetAppConfiguration()).toPromise();\n };\n\n return fn;\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = function() {\n const store: Store = injector.get(Store);\n\n const lang = store.selectSnapshot(SessionState.getLanguage) || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocale(lang).then(() => resolve(), reject);\n });\n };\n\n return fn;\n}\n\nexport function registerLocale(locale: string) {\n return import(\n /* webpackInclude: /(af|am|ar-SA|as|az-Latn|be|bg|bn-BD|bn-IN|bs|ca|ca-ES-VALENCIA|cs|cy|da|de|de|el|en-GB|en|es|en|es-US|es-MX|et|eu|fa|fi|en|fr|fr|fr-CA|ga|gd|gl|gu|ha|he|hi|hr|hu|hy|id|ig|is|it|it|ja|ka|kk|km|kn|ko|kok|en|en|lb|lt|lv|en|mk|ml|mn|mr|ms|mt|nb|ne|nl|nl-BE|nn|en|or|pa|pa-Arab|pl|en|pt|pt-PT|en|en|ro|ru|rw|pa-Arab|si|sk|sl|sq|sr-Cyrl-BA|sr-Cyrl|sr-Latn|sv|sw|ta|te|tg|th|ti|tk|tn|tr|tt|ug|uk|ur|uz-Latn|vi|wo|xh|yo|zh-Hans|zh-Hant|zu)\\.js$/ */\n `@angular/common/locales/${differentLocales[locale] || locale}.js`\n ).then(module => {\n registerLocaleData(module.default);\n });\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Actions, Store } from '@ngxs/store';\nimport { noop, Observable } from 'rxjs';\nimport { ConfigState } from '../states/config.state';\nimport { SessionState } from '../states/session.state';\nimport { registerLocale } from '../utils/initial-utils';\n\ntype ShouldReuseRoute = (future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot) => boolean;\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n get currentLang(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n constructor(\n private store: Store,\n private router: Router,\n private actions: Actions,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n ) {\n if (otherInstance) throw new Error('LocaleService should have only one instance.');\n }\n\n private setRouteReuse(reuse: ShouldReuseRoute) {\n this.router.routeReuseStrategy.shouldReuseRoute = reuse;\n }\n\n registerLocale(locale: string) {\n const { shouldReuseRoute } = this.router.routeReuseStrategy;\n\n this.setRouteReuse(() => false);\n this.router.navigated = false;\n\n return registerLocale(locale).then(async () => {\n await this.router.navigateByUrl(this.router.url).catch(noop);\n this.setRouteReuse(shouldReuseRoute);\n });\n }\n\n get(keys: string, ...interpolateParams: string[]): Observable {\n return this.store.select(ConfigState.getCopy(keys, ...interpolateParams));\n }\n\n instant(keys: string, ...interpolateParams: string[]): string {\n return this.store.selectSnapshot(ConfigState.getCopy(keys, ...interpolateParams));\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { SetLanguage, SetTenant } from '../actions/session.actions';\nimport { ABP, Session } from '../models';\nimport { GetAppConfiguration } from '../actions/config.actions';\nimport { LocalizationService } from '../services/localization.service';\nimport { from, combineLatest } from 'rxjs';\n\n@State({\n name: 'SessionState',\n defaults: {} as Session.State,\n})\nexport class SessionState {\n @Selector()\n static getLanguage({ language }: Session.State): string {\n return language;\n }\n\n @Selector()\n static getTenant({ tenant }: Session.State): ABP.BasicItem {\n return tenant;\n }\n\n constructor(private localizationService: LocalizationService) {}\n\n @Action(SetLanguage)\n setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage) {\n patchState({\n language: payload,\n });\n\n return combineLatest([dispatch(new GetAppConfiguration()), from(this.localizationService.registerLocale(payload))]);\n }\n\n @Action(SetTenant)\n setTenantId({ patchState }: StateContext, { payload }: SetTenant) {\n patchState({\n tenant: payload,\n });\n }\n}\n","import { ABP } from '../models';\n\nexport function organizeRoutes(\n routes: ABP.FullRoute[],\n wrappers: ABP.FullRoute[] = [],\n parentNameArr = [] as ABP.FullRoute[],\n parentName: string = null,\n): ABP.FullRoute[] {\n const filter = route => {\n if (route.children && route.children.length) {\n route.children = organizeRoutes(route.children, wrappers, parentNameArr, route.name);\n }\n\n if (route.parentName && route.parentName !== parentName) {\n parentNameArr.push(route);\n return false;\n }\n\n return true;\n };\n\n if (parentName) {\n // recursive block\n return routes.filter(filter);\n }\n\n const filteredRoutes = routes.filter(filter);\n\n if (parentNameArr.length) {\n return sortRoutes(setChildRoute([...filteredRoutes, ...wrappers], parentNameArr));\n }\n\n return filteredRoutes;\n}\n\nexport function setChildRoute(routes: ABP.FullRoute[], parentNameArr: ABP.FullRoute[]): ABP.FullRoute[] {\n return routes.map(route => {\n if (route.children && route.children.length) {\n route.children = setChildRoute(route.children, parentNameArr);\n }\n\n const foundedChildren = parentNameArr.filter(parent => parent.parentName === route.name);\n if (foundedChildren && foundedChildren.length) {\n route.children = [...(route.children || []), ...foundedChildren];\n }\n\n return route;\n });\n}\n\nexport function sortRoutes(routes: ABP.FullRoute[] = []): ABP.FullRoute[] {\n if (!routes.length) return [];\n return routes\n .sort((a, b) => a.order - b.order)\n .map(route => {\n if (route.children && route.children.length) {\n route.children = sortRoutes(route.children);\n }\n\n return route;\n });\n}\n","import { State, Selector, createSelector, Action, StateContext, Store } from '@ngxs/store';\nimport { Config, ABP } from '../models';\nimport { GetAppConfiguration, PatchRouteByName } from '../actions/config.actions';\nimport { ApplicationConfigurationService } from '../services/application-configuration.service';\nimport { tap, switchMap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { SetLanguage } from '../actions';\nimport { SessionState } from './session.state';\nimport { of } from 'rxjs';\nimport { setChildRoute, sortRoutes, organizeRoutes } from '../utils/route-utils';\n\n@State({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State) {\n return state.environment.application || {};\n }\n\n static getOne(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return state[key];\n },\n );\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n },\n );\n\n return selector;\n }\n\n static getRoute(path?: string, name?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return findRoute(state.routes, path, name);\n },\n );\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): string {\n return state.environment.apis[key || 'default'].url;\n },\n );\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n return snq(() => state.setting.values[key]);\n },\n );\n\n return selector;\n }\n\n static getGrantedPolicy(condition: string = '') {\n const keys = condition\n .replace(/\\(|\\)|\\!|\\s/g, '')\n .split(/\\|\\||&&/)\n .filter(key => key);\n\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State): boolean {\n if (!keys.length) return true;\n\n const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);\n if (keys.length > 1) {\n keys.forEach(key => {\n const value = getPolicy(key);\n condition = condition.replace(key, value);\n });\n\n // tslint:disable-next-line: no-eval\n return eval(`!!${condition}`);\n }\n\n return getPolicy(condition);\n },\n );\n\n return selector;\n }\n\n static getCopy(key: string, ...interpolateParams: string[]) {\n if (!key) key = '';\n\n const keys = key.split('::') as string[];\n const selector = createSelector(\n [ConfigState],\n function(state: Config.State) {\n if (!state.localization) return key;\n\n const { defaultResourceName } = state.environment.localization;\n if (keys[0] === '') {\n if (!defaultResourceName) {\n throw new Error(\n `Please check your environment. May you forget set defaultResourceName? \n Here is the example:\n { production: false,\n localization: {\n defaultResourceName: 'MyProjectName'\n }\n }`,\n );\n }\n\n keys[0] = snq(() => defaultResourceName);\n }\n\n let copy = keys.reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state.localization.values);\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (copy && interpolateParams && interpolateParams.length) {\n interpolateParams.forEach(param => {\n copy = copy.replace(/[\\'\\\"]?\\{[\\d]+\\}[\\'\\\"]?/, param);\n });\n }\n\n return copy || key;\n },\n );\n\n return selector;\n }\n\n constructor(private appConfigurationService: ApplicationConfigurationService, private store: Store) {}\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext) {\n return this.appConfigurationService.getConfiguration().pipe(\n tap(configuration =>\n patchState({\n ...configuration,\n }),\n ),\n switchMap(configuration => {\n let defaultLang: string = configuration.setting.values['Abp.Localization.DefaultLanguage'];\n\n if (defaultLang.includes(';')) {\n defaultLang = defaultLang.split(';')[0];\n }\n\n return this.store.selectSnapshot(SessionState.getLanguage) ? of(null) : dispatch(new SetLanguage(defaultLang));\n }),\n );\n }\n\n @Action(PatchRouteByName)\n patchRoute({ patchState, getState }: StateContext, { name, newValue }: PatchRouteByName) {\n let routes: ABP.FullRoute[] = getState().routes;\n\n const index = routes.findIndex(route => route.name === name);\n\n routes = patchRouteDeep(routes, name, newValue);\n\n return patchState({\n routes,\n });\n }\n}\n\nfunction patchRouteDeep(\n routes: ABP.FullRoute[],\n name: string,\n newValue: Partial,\n parentUrl: string = null,\n): ABP.FullRoute[] {\n routes = routes.map(route => {\n if (route.name === name) {\n if (newValue.path) {\n newValue.url = `${parentUrl}/${newValue.path}`;\n }\n\n if (newValue.children && newValue.children.length) {\n newValue.children = newValue.children.map(child => ({\n ...child,\n url: `${parentUrl}/${route.path}/${child.path}`,\n }));\n }\n\n return { ...route, ...newValue };\n } else if (route.children && route.children.length) {\n route.children = patchRouteDeep(route.children, name, newValue, (parentUrl || '/') + route.path);\n }\n\n return route;\n });\n\n if (parentUrl) {\n // recursive block\n return routes;\n }\n\n return organizeRoutes(routes);\n}\n\nfunction findRoute(routes: ABP.FullRoute[], path?: string, name?: string) {\n let foundRoute;\n routes.forEach(route => {\n if (foundRoute) return;\n\n if (path && route.path === path) {\n foundRoute = route;\n } else if (name && route.name === name) {\n foundRoute = route;\n return;\n } else if (route.children && route.children.length) {\n foundRoute = findRoute(route.children, path, name);\n return;\n }\n });\n\n return foundRoute;\n}\n","export function noop() {\n const fn = function() {};\n return fn;\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => (\n source: Observable,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil(componentInstance['__takeUntilDestroy']));\n};\n","import { Component, OnDestroy, Type } from '@angular/core';\nimport { NavigationEnd, Router, UrlSegment } from '@angular/router';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { eLayoutType } from '../enums';\nimport { ABP, Config } from '../models';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport snq from 'snq';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n \n\n \n \n `,\n})\nexport class DynamicLayoutComponent implements OnDestroy {\n @Select(ConfigState.getOne('requirements'))\n requirements$: Observable;\n\n layout: Type;\n\n constructor(private router: Router, private store: Store) {\n this.router.events.pipe(takeUntilDestroy(this)).subscribe(event => {\n if (event instanceof NavigationEnd) {\n const { segments } = this.router.parseUrl(event.url).root.children.primary;\n const {\n requirements: { layouts },\n routes,\n } = this.store.selectSnapshot(ConfigState.getAll);\n\n const layout = findLayout(segments, routes);\n\n this.layout = layouts.filter(l => !!l).find(l => snq(() => l.type.toLowerCase().indexOf(layout), -1) > -1);\n }\n });\n }\n\n ngOnDestroy() {}\n}\n\nfunction findLayout(segments: UrlSegment[], routes: ABP.FullRoute[]): eLayoutType {\n let layout = eLayoutType.empty;\n\n const route = routes\n .reduce((acc, val) => (val.wrapper ? [...acc, ...val.children] : [...acc, val]), [])\n .find(r => r.path === segments[0].path);\n\n if (route) {\n if (route.layout) {\n layout = route.layout;\n }\n\n if (route.children && route.children.length && segments.length > 1) {\n const child = route.children.find(c => c.path === segments[1].path);\n\n if (child && child.layout) {\n layout = child.layout;\n }\n }\n }\n\n return layout;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n \n `,\n})\nexport class RouterOutletComponent {}\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay: number = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { AfterContentInit, ChangeDetectorRef, Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[abpEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentInit {\n @Input('abpEllipsis')\n width: string;\n\n @HostBinding('title')\n @Input()\n title: string;\n\n @Input('abpEllipsisEnabled')\n enabled = true;\n\n @HostBinding('class.abp-ellipsis-inline')\n get inlineClass() {\n return this.enabled && this.width;\n }\n\n @HostBinding('class.abp-ellipsis')\n get class() {\n return this.enabled && !this.width;\n }\n\n @HostBinding('style.max-width')\n get maxWidth() {\n return this.enabled && this.width ? this.width || '170px' : undefined;\n }\n\n constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n ngAfterContentInit() {\n setTimeout(() => {\n const title = this.title;\n this.title = title || (this.elRef.nativeElement as HTMLElement).innerText;\n\n if (this.title !== title) {\n this.cdRef.detectChanges();\n }\n }, 0);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { takeUntilDestroy } from '../utils';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n selector: 'form[ngSubmit][formGroup]',\n})\nexport class FormSubmitDirective implements OnInit, OnDestroy {\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output()\n ngSubmit = new EventEmitter();\n\n executedNgSubmit: boolean = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this.formGroupDirective.ngSubmit.pipe(takeUntilDestroy(this)).subscribe(() => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n fromEvent(this.host.nativeElement as HTMLElement, 'keyup')\n .pipe(\n debounceTime(200),\n filter((key: KeyboardEvent) => key && key.key === 'Enter'),\n takeUntilDestroy(this),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n }\n\n this.executedNgSubmit = false;\n });\n\n fromEvent(this.host.nativeElement, 'submit')\n .pipe(\n takeUntilDestroy(this),\n filter(() => !this.notValidateOnSubmit && typeof this.notValidateOnSubmit !== 'string'),\n )\n .subscribe(() => {\n if (!this.executedNgSubmit) {\n this.markAsDirty();\n }\n });\n }\n\n ngOnDestroy(): void {}\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n @Input('abpPermission') condition: string;\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2, private store: Store) {}\n\n ngOnInit() {\n if (this.condition) {\n this.store\n .select(ConfigState.getGrantedPolicy(this.condition))\n .pipe(takeUntilDestroy(this))\n .subscribe(isGranted => {\n if (!isGranted) {\n this.renderer.removeChild(\n (this.elRef.nativeElement as HTMLElement).parentElement,\n this.elRef.nativeElement,\n );\n }\n });\n }\n }\n\n ngOnDestroy(): void {}\n}\n","import { Directive, Input, Optional, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n } else {\n setTimeout(() => {\n this.disconnect();\n }, 0);\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n}\n","export const enum eLayoutType {\n account = 'account',\n application = 'application',\n empty = 'empty',\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { Navigate } from '@ngxs/router-plugin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private store: Store) {}\n canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return hasValidAccessToken;\n }\n\n this.store.dispatch(new Navigate(['/account/login'], null, { state: { redirectUrl: state.url } }));\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { ConfigState } from '../states';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(private store: Store) {}\n\n canActivate({ data }: ActivatedRouteSnapshot): Observable {\n const resource = data.requiredPolicy as string;\n return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Store } from '@ngxs/store';\nimport { SessionState } from '../states';\nimport { StartLoader, StopLoader } from '../actions/loader.actions';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(private oAuthService: OAuthService, private store: Store) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n this.store.dispatch(new StartLoader(request));\n\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!request.headers.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.store.selectSnapshot(SessionState.getLanguage);\n if (!request.headers.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.store.selectSnapshot(SessionState.getTenant);\n if (!request.headers.has('__tenant') && tenant) {\n headers['__tenant'] = tenant.id;\n }\n\n return next\n .handle(\n request.clone({\n setHeaders: headers,\n }),\n )\n .pipe(finalize(() => this.store.dispatch(new StopLoader(request))));\n }\n}\n","export namespace ApplicationConfiguration {\n export interface Response {\n localization: Localization;\n auth: Auth;\n setting: Setting;\n currentUser: CurrentUser;\n features: Features;\n }\n\n export interface Localization {\n values: LocalizationValue;\n languages: Language[];\n }\n\n export interface LocalizationValue {\n [key: string]: { [key: string]: string };\n }\n\n export interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n flagIcon: string;\n }\n\n export interface Auth {\n policies: Policy;\n grantedPolicies: Policy;\n }\n\n export interface Policy {\n [key: string]: boolean;\n }\n\n export interface Setting {\n values: { [key: string]: 'Abp.Localization.DefaultLanguage' };\n }\n\n export interface CurrentUser {\n isAuthenticated: boolean;\n id: string;\n tenantId: string;\n userName: string;\n }\n\n export interface Features {\n values: Setting;\n }\n}\n","import { Config } from './config';\nimport { eLayoutType } from '../enums';\n\nexport namespace ABP {\n export interface Root {\n environment: Partial;\n requirements: Config.Requirements;\n }\n\n export type PagedResponse = {\n totalCount: number;\n } & PagedItemsResponse;\n\n export interface PagedItemsResponse {\n items: T[];\n }\n\n export interface PageQueryParams {\n filter?: string;\n sorting?: string;\n skipCount?: number;\n maxResultCount?: number;\n }\n\n export interface Route {\n children?: Route[];\n invisible?: boolean;\n layout?: eLayoutType;\n name: string;\n order?: number;\n parentName?: string;\n path: string;\n requiredPolicy?: string;\n iconClass?: string;\n }\n\n export interface FullRoute extends Route {\n url?: string;\n wrapper?: boolean;\n }\n\n export interface BasicItem {\n id: string;\n name: string;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { Type } from '@angular/core';\n\nexport namespace Config {\n export interface State {\n [key: string]: any;\n }\n\n export interface Environment {\n application: Application;\n production: boolean;\n oAuthConfig: AuthConfig;\n apis: Apis;\n }\n\n export interface Application {\n name: string;\n logoUrl?: string;\n }\n\n export interface Apis {\n [key: string]: { [key: string]: string };\n }\n\n export interface Requirements {\n layouts: Type[];\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export interface Config {\n skipHandleError?: boolean;\n observe?: Observe;\n }\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export interface Request {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?:\n | HttpParams\n | {\n [param: string]: any;\n };\n reportProgress?: boolean;\n responseType?: ResponseType;\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { ABP } from '../models';\n\nexport namespace Session {\n export interface State {\n language: string;\n tenant: ABP.BasicItem;\n }\n}\n","export namespace Profile {\n export interface State {\n profile: Response;\n }\n\n export interface Response {\n userName: string;\n email: string;\n name: string;\n surname: string;\n phoneNumber: string;\n }\n\n export interface ChangePasswordRequest {\n currentPassword: string;\n newPassword: string;\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { actionMatcher, InitState, NgxsNextPluginFn, NgxsPlugin, setValue, UpdateState } from '@ngxs/store';\nimport snq from 'snq';\nimport { ABP } from '../../models';\nimport { organizeRoutes } from '../../utils/route-utils';\n\nexport const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');\n\n@Injectable()\nexport class ConfigPlugin implements NgxsPlugin {\n private initialized: boolean = false;\n\n constructor(@Inject(NGXS_CONFIG_PLUGIN_OPTIONS) private options: ABP.Root, private router: Router) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const matches = actionMatcher(event);\n const isInitAction = matches(InitState) || matches(UpdateState);\n\n // const layouts = snq(() => this.options.requirements.layouts.filter(layout => layout instanceof Type), []);\n if (isInitAction && !this.initialized) {\n let { routes, wrappers } = transformRoutes(this.router.config);\n routes = organizeRoutes(routes, wrappers);\n\n state = setValue(state, 'ConfigState', {\n ...(state.ConfigState && { ...state.ConfigState }),\n ...this.options,\n routes,\n });\n\n this.initialized = true;\n }\n\n return next(state, event);\n }\n}\n\nfunction transformRoutes(routes: Routes = [], wrappers: ABP.FullRoute[] = []): any {\n const abpRoutes: ABP.FullRoute[] = routes\n .filter(route => {\n return snq(() => route.data.routes.routes.find(r => r.path === route.path), false);\n })\n .reduce((acc, val) => [...acc, ...val.data.routes.routes], []);\n\n wrappers = abpRoutes.filter(ar => ar.wrapper);\n const transformed = [] as ABP.FullRoute[];\n routes\n .filter(route => (route.data || {}).routes && (route.component || route.loadChildren))\n .forEach(route => {\n const abpPackage = abpRoutes.find(\n abp => abp.path.toLowerCase() === route.path.toLowerCase() && snq(() => route.data.routes.routes.length, false),\n );\n const { length } = transformed;\n\n if (abpPackage) {\n transformed.push(abpPackage);\n }\n\n if (transformed.length === length) {\n transformed.push({\n ...route.data.routes,\n path: route.path,\n name: snq(() => route.data.routes.name, route.path),\n children: route.data.routes.children || [],\n } as ABP.FullRoute);\n }\n });\n\n return { routes: setUrls(transformed), wrappers };\n}\n\nfunction setUrls(routes: ABP.FullRoute[], parentUrl?: string): ABP.FullRoute[] {\n if (parentUrl) {\n // this if block using for only recursive call\n\n return routes.map(route => ({\n ...route,\n url: `${parentUrl}/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `${parentUrl}/${route.path}`),\n }),\n }));\n }\n\n return routes.map(route => ({\n ...route,\n url: `/${route.path}`,\n ...(route.children &&\n route.children.length && {\n children: setUrls(route.children, `/${route.path}`),\n }),\n }));\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n constructor(private store: Store) {}\n\n getAll() {\n return this.store.selectSnapshot(ConfigState.getAll);\n }\n\n getOne(key: string) {\n return this.store.selectSnapshot(ConfigState.getOne(key));\n }\n\n getDeep(keys: string[] | string) {\n return this.store.selectSnapshot(ConfigState.getDeep(keys));\n }\n\n getSetting(key: string) {\n return this.store.selectSnapshot(ConfigState.getSetting(key));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { uuid } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n\n load(\n url: string,\n type: 'script' | 'style',\n content: string = '',\n targetQuery: string = 'body',\n position: InsertPosition = 'afterend',\n ): Observable {\n if (!url && !content) return;\n const key = url ? url.slice(url.lastIndexOf('/') + 1) : uuid();\n\n if (this.loadedLibraries[key]) {\n return this.loadedLibraries[key].asObservable();\n }\n\n this.loadedLibraries[key] = new ReplaySubject();\n\n let library;\n if (type === 'script') {\n library = document.createElement('script');\n library.type = 'text/javascript';\n if (url) {\n (library as HTMLScriptElement).src = url;\n }\n\n (library as HTMLScriptElement).text = content;\n } else if (url) {\n library = document.createElement('link');\n library.type = 'text/css';\n (library as HTMLLinkElement).rel = 'stylesheet';\n\n if (url) {\n (library as HTMLLinkElement).href = url;\n }\n } else {\n library = document.createElement('style');\n (library as HTMLStyleElement).textContent = content;\n }\n\n library.onload = () => {\n this.loadedLibraries[key].next();\n this.loadedLibraries[key].complete();\n };\n\n document.querySelector(targetQuery).insertAdjacentElement(position, library);\n\n return this.loadedLibraries[key].asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Config } from '../models';\n\nexport function environmentFactory(environment: Config.Environment) {\n return {\n ...environment,\n };\n}\n\nexport function configFactory(config: Config.Requirements) {\n return {\n ...config,\n };\n}\n\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\n\nexport const CONFIG = new InjectionToken('CONFIG');\n","import { Directive, Output, Renderer2, ElementRef, OnInit, EventEmitter, Input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[input.debounce]',\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce: number = 300;\n\n @Output('input.debounce') debounceEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'input')\n .pipe(\n debounceTime(this.debounce),\n takeUntilDestroy(this),\n )\n .subscribe((event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output, Renderer2 } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroy } from '@ngx-validate/core';\n\n@Directive({\n selector: '[click.stop]',\n})\nexport class ClickEventStopPropagationDirective implements OnInit {\n @Output('click.stop') stopPropEvent = new EventEmitter();\n\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, 'click')\n .pipe(takeUntilDestroy(this))\n .subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { Pipe, PipeTransform, OnDestroy } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ConfigState } from '../states';\nimport { takeUntilDestroy } from '../utils';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Pipe({\n name: 'abpLocalization',\n pure: false, // required to update the value\n})\nexport class LocalizationPipe implements PipeTransform, OnDestroy {\n initialValue: string = '';\n\n value: string;\n\n destroy$ = new Subject();\n\n constructor(private store: Store) {}\n\n transform(value: string = '', ...interpolateParams: string[]): string {\n if (this.initialValue !== value) {\n this.initialValue = value;\n this.destroy$.next();\n\n this.store\n .select(\n ConfigState.getCopy(\n value,\n ...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []),\n ),\n )\n .pipe(\n takeUntil(this.destroy$),\n takeUntilDestroy(this),\n distinctUntilChanged(),\n )\n .subscribe(copy => (this.value = copy));\n }\n\n return this.value;\n }\n\n ngOnDestroy() {}\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport localesMapping from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return localesMapping[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsRouterPluginModule } from '@ngxs/router-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule, NGXS_PLUGINS } from '@ngxs/store';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { EllipsisDirective } from './directives/ellipsis.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ClickEventStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { ConfigState } from './states/config.state';\nimport { ProfileState } from './states/profile.state';\nimport { SessionState } from './states/session.state';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config/config.plugin';\n\n@NgModule({\n imports: [\n NgxsModule.forFeature([ProfileState, SessionState, ConfigState]),\n NgxsStoragePluginModule.forRoot({ key: 'SessionState' }),\n NgxsRouterPluginModule.forRoot(),\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n ClickEventStopPropagationDirective,\n ],\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n RouterOutletComponent,\n DynamicLayoutComponent,\n AutofocusDirective,\n EllipsisDirective,\n FormSubmitDirective,\n LocalizationPipe,\n PermissionDirective,\n VisibilityDirective,\n InputEventDebounceDirective,\n LocalizationPipe,\n ClickEventStopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [RouterOutletComponent, DynamicLayoutComponent],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n LocaleProvider,\n {\n provide: NGXS_PLUGINS,\n useClass: ConfigPlugin,\n multi: true,\n },\n {\n provide: NGXS_CONFIG_PLUGIN_OPTIONS,\n useValue: options,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n ],\n };\n }\n}\n"],"names":["tslib_1.__decorate","differentLocales","noop","takeUntilDestroy","tslib_1.__extends"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/core/lib/constants/different-locales.d.ts b/npm/ng-packs/dist/core/lib/constants/different-locales.d.ts new file mode 100644 index 0000000000..4fafb995c9 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/constants/different-locales.d.ts @@ -0,0 +1,31 @@ +declare const _default: { + 'ar-sa': string; + 'ca-ES-valencia': string; + 'de-de': string; + 'es-ES': string; + 'en-US': string; + 'fil-Latn': string; + 'ku-Arab': string; + 'ky-Cyrl': string; + 'mi-Latn': string; + 'prs-Arab': string; + 'qut-Latn': string; + nso: string; + quz: string; + 'fr-FR': string; + 'gd-Latn': string; + 'ha-Latn': string; + 'ig-Latn': string; + 'it-it': string; + 'mn-Cyrl': string; + 'pt-BR': string; + 'sd-Arab': string; + 'sr-Cyrl-RS': string; + 'sr-Latn-RS': string; + 'tg-Cyrl': string; + 'tk-Latn': string; + 'tt-Cyrl': string; + 'ug-Arab': string; + 'yo-Latn': string; +}; +export default _default; diff --git a/npm/ng-packs/dist/core/lib/constants/index.d.ts b/npm/ng-packs/dist/core/lib/constants/index.d.ts new file mode 100644 index 0000000000..54aaba730c --- /dev/null +++ b/npm/ng-packs/dist/core/lib/constants/index.d.ts @@ -0,0 +1 @@ +export * from './different-locales'; diff --git a/npm/ng-packs/dist/core/lib/constants/locales-mapping.d.ts b/npm/ng-packs/dist/core/lib/constants/locales-mapping.d.ts new file mode 100644 index 0000000000..0b0244578b --- /dev/null +++ b/npm/ng-packs/dist/core/lib/constants/locales-mapping.d.ts @@ -0,0 +1,31 @@ +declare const _default: { + 'ar-sa': string; + 'ca-ES-valencia': string; + 'de-de': string; + 'en-US': string; + 'es-ES': string; + 'fil-Latn': string; + 'fr-FR': string; + 'gd-Latn': string; + 'ha-Latn': string; + 'ig-Latn': string; + 'it-it': string; + 'ku-Arab': string; + 'ky-Cyrl': string; + 'mi-Latn': string; + 'mn-Cyrl': string; + nso: string; + 'prs-Arab': string; + 'pt-BR': string; + 'qut-Latn': string; + quz: string; + 'sd-Arab': string; + 'sr-Cyrl-RS': string; + 'sr-Latn-RS': string; + 'tg-Cyrl': string; + 'tk-Latn': string; + 'tt-Cyrl': string; + 'ug-Arab': string; + 'yo-Latn': string; +}; +export default _default; diff --git a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts index 6bc522d0ae..3c82d53668 100644 --- a/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts +++ b/npm/ng-packs/dist/core/lib/directives/ellipsis.directive.d.ts @@ -5,6 +5,7 @@ export declare class EllipsisDirective implements AfterContentInit { width: string; title: string; enabled: boolean; + readonly inlineClass: string; readonly class: boolean; readonly maxWidth: string; constructor(cdRef: ChangeDetectorRef, elRef: ElementRef); diff --git a/npm/ng-packs/dist/core/lib/directives/form-submit.directive.d.ts b/npm/ng-packs/dist/core/lib/directives/form-submit.directive.d.ts new file mode 100644 index 0000000000..ed3fc74e1f --- /dev/null +++ b/npm/ng-packs/dist/core/lib/directives/form-submit.directive.d.ts @@ -0,0 +1,14 @@ +import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; +import { FormGroupDirective } from '@angular/forms'; +export declare class FormSubmitDirective implements OnInit, OnDestroy { + private formGroupDirective; + private host; + private cdRef; + notValidateOnSubmit: string | boolean; + ngSubmit: EventEmitter; + executedNgSubmit: boolean; + constructor(formGroupDirective: FormGroupDirective, host: ElementRef, cdRef: ChangeDetectorRef); + ngOnInit(): void; + ngOnDestroy(): void; + markAsDirty(): void; +} diff --git a/npm/ng-packs/dist/core/lib/directives/index.d.ts b/npm/ng-packs/dist/core/lib/directives/index.d.ts index de5846382c..336b6ff5ab 100644 --- a/npm/ng-packs/dist/core/lib/directives/index.d.ts +++ b/npm/ng-packs/dist/core/lib/directives/index.d.ts @@ -1,4 +1,5 @@ export * from './autofocus.directive'; export * from './ellipsis.directive'; +export * from './form-submit.directive'; export * from './permission.directive'; export * from './visibility.directive'; diff --git a/npm/ng-packs/dist/core/lib/models/rest.d.ts b/npm/ng-packs/dist/core/lib/models/rest.d.ts index 4c995110ce..dde755e8ee 100644 --- a/npm/ng-packs/dist/core/lib/models/rest.d.ts +++ b/npm/ng-packs/dist/core/lib/models/rest.d.ts @@ -1,7 +1,7 @@ import { HttpHeaders, HttpParams } from '@angular/common/http'; export declare namespace Rest { interface Config { - throwErr?: boolean; + skipHandleError?: boolean; observe?: Observe; } const enum Observe { diff --git a/npm/ng-packs/dist/core/lib/pipes/localization.pipe.d.ts b/npm/ng-packs/dist/core/lib/pipes/localization.pipe.d.ts index fcfd42a786..24f6babe14 100644 --- a/npm/ng-packs/dist/core/lib/pipes/localization.pipe.d.ts +++ b/npm/ng-packs/dist/core/lib/pipes/localization.pipe.d.ts @@ -1,10 +1,12 @@ import { PipeTransform, OnDestroy } from '@angular/core'; import { Store } from '@ngxs/store'; +import { Subject } from 'rxjs'; export declare class LocalizationPipe implements PipeTransform, OnDestroy { private store; - initialized: boolean; + initialValue: string; value: string; + destroy$: Subject; constructor(store: Store); - transform(value: string, ...interpolateParams: string[]): string; + transform(value?: string, ...interpolateParams: string[]): string; ngOnDestroy(): void; } diff --git a/npm/ng-packs/dist/core/lib/plugins/config/config.plugin.d.ts b/npm/ng-packs/dist/core/lib/plugins/config/config.plugin.d.ts new file mode 100644 index 0000000000..b0dca2c7d8 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/plugins/config/config.plugin.d.ts @@ -0,0 +1,12 @@ +import { InjectionToken } from '@angular/core'; +import { Router } from '@angular/router'; +import { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store'; +import { ABP } from '../../models'; +export declare const NGXS_CONFIG_PLUGIN_OPTIONS: InjectionToken; +export declare class ConfigPlugin implements NgxsPlugin { + private options; + private router; + private initialized; + constructor(options: ABP.Root, router: Router); + handle(state: any, event: any, next: NgxsNextPluginFn): any; +} diff --git a/npm/ng-packs/dist/core/lib/plugins/index.d.ts b/npm/ng-packs/dist/core/lib/plugins/index.d.ts index 42ab2f291c..7107ea01dd 100644 --- a/npm/ng-packs/dist/core/lib/plugins/index.d.ts +++ b/npm/ng-packs/dist/core/lib/plugins/index.d.ts @@ -1 +1 @@ -export * from './config.plugin'; +export * from './config/config.plugin'; diff --git a/npm/ng-packs/dist/core/lib/plugins/select-snapshot/internals.d.ts b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/internals.d.ts new file mode 100644 index 0000000000..2ccda81c50 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/internals.d.ts @@ -0,0 +1,5 @@ +import { NgxsConfig } from '@ngxs/store/src/symbols'; +export declare function removeDollarAtTheEnd(name: string): string; +export declare function getPropsArray(selectorOrFeature: string, paths: string[]): string[]; +export declare function propGetter(paths: string[], config: NgxsConfig): (x: any) => any; +export declare const META_KEY = "NGXS_META"; diff --git a/npm/ng-packs/dist/core/lib/plugins/select-snapshot/select-snapshot.d.ts b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/select-snapshot.d.ts new file mode 100644 index 0000000000..52316e6f64 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/select-snapshot.d.ts @@ -0,0 +1 @@ +export declare function SelectSnapshot(selectorOrFeature?: any, ...paths: string[]): (target: any, name: string) => void; diff --git a/npm/ng-packs/dist/core/lib/plugins/select-snapshot/static-injector.d.ts b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/static-injector.d.ts new file mode 100644 index 0000000000..d7b808d6c2 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/plugins/select-snapshot/static-injector.d.ts @@ -0,0 +1,5 @@ +import { Injector } from '@angular/core'; +export declare class StaticInjector { + static injector: Injector | null; + constructor(injector: Injector); +} diff --git a/npm/ng-packs/dist/core/lib/providers/locale.provider.d.ts b/npm/ng-packs/dist/core/lib/providers/locale.provider.d.ts new file mode 100644 index 0000000000..4a107e4a20 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/providers/locale.provider.d.ts @@ -0,0 +1,9 @@ +import { Provider } from '@angular/core'; +import { LocalizationService } from '../services/localization.service'; +export declare class LocaleId extends String { + private localizationService; + constructor(localizationService: LocalizationService); + toString(): string; + valueOf(): string; +} +export declare const LocaleProvider: Provider; diff --git a/npm/ng-packs/dist/core/lib/providers/reuse-strategy.provider.d.ts b/npm/ng-packs/dist/core/lib/providers/reuse-strategy.provider.d.ts new file mode 100644 index 0000000000..db59645fbc --- /dev/null +++ b/npm/ng-packs/dist/core/lib/providers/reuse-strategy.provider.d.ts @@ -0,0 +1,13 @@ +import { Provider } from '@angular/core'; +import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router'; +export declare class CustomRouteReuseStategy implements RouteReuseStrategy { + handlers: { + [key: string]: DetachedRouteHandle; + }; + shouldDetach(route: ActivatedRouteSnapshot): boolean; + store(route: ActivatedRouteSnapshot, handle: {}): void; + shouldAttach(route: ActivatedRouteSnapshot): boolean; + retrieve(route: ActivatedRouteSnapshot): {}; + shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean; +} +export declare const RouteReuseProvider: Provider; diff --git a/npm/ng-packs/dist/core/lib/services/localization.service.d.ts b/npm/ng-packs/dist/core/lib/services/localization.service.d.ts index 56dfa5f0a1..a19a18d12b 100644 --- a/npm/ng-packs/dist/core/lib/services/localization.service.d.ts +++ b/npm/ng-packs/dist/core/lib/services/localization.service.d.ts @@ -1,8 +1,14 @@ -import { Store } from '@ngxs/store'; +import { Router } from '@angular/router'; +import { Actions, Store } from '@ngxs/store'; import { Observable } from 'rxjs'; export declare class LocalizationService { private store; - constructor(store: Store); + private router; + private actions; + readonly currentLang: string; + constructor(store: Store, router: Router, actions: Actions, otherInstance: LocalizationService); + private setRouteReuse; + registerLocale(locale: string): Promise; get(keys: string, ...interpolateParams: string[]): Observable; instant(keys: string, ...interpolateParams: string[]): string; } diff --git a/npm/ng-packs/dist/core/lib/services/profile.service.d.ts b/npm/ng-packs/dist/core/lib/services/profile.service.d.ts index 9c1d60be0b..e67c2cdbde 100644 --- a/npm/ng-packs/dist/core/lib/services/profile.service.d.ts +++ b/npm/ng-packs/dist/core/lib/services/profile.service.d.ts @@ -6,5 +6,5 @@ export declare class ProfileService { constructor(rest: RestService); get(): Observable; update(body: Profile.Response): Observable; - changePassword(body: Profile.ChangePasswordRequest, throwErr?: boolean): Observable; + changePassword(body: Profile.ChangePasswordRequest, skipHandleError?: boolean): Observable; } diff --git a/npm/ng-packs/dist/core/lib/states/config.state.d.ts b/npm/ng-packs/dist/core/lib/states/config.state.d.ts index 01a8a90693..b9277b58ef 100644 --- a/npm/ng-packs/dist/core/lib/states/config.state.d.ts +++ b/npm/ng-packs/dist/core/lib/states/config.state.d.ts @@ -9,6 +9,7 @@ export declare class ConfigState { static getApplicationInfo(state: Config.State): any; static getOne(key: string): (state: Config.State) => any; static getDeep(keys: string[] | string): (state: Config.State) => any; + static getRoute(path?: string, name?: string): (state: Config.State) => any; static getApiUrl(key?: string): (state: Config.State) => string; static getSetting(key: string): (state: Config.State) => any; static getGrantedPolicy(condition?: string): (state: Config.State) => boolean; diff --git a/npm/ng-packs/dist/core/lib/states/session.state.d.ts b/npm/ng-packs/dist/core/lib/states/session.state.d.ts index 9df517d1e3..d413a66bbe 100644 --- a/npm/ng-packs/dist/core/lib/states/session.state.d.ts +++ b/npm/ng-packs/dist/core/lib/states/session.state.d.ts @@ -1,10 +1,12 @@ import { StateContext } from '@ngxs/store'; import { SetLanguage, SetTenant } from '../actions/session.actions'; import { ABP, Session } from '../models'; +import { LocalizationService } from '../services/localization.service'; export declare class SessionState { + private localizationService; static getLanguage({ language }: Session.State): string; static getTenant({ tenant }: Session.State): ABP.BasicItem; - constructor(); - setLanguage({ patchState }: StateContext, { payload }: SetLanguage): void; + constructor(localizationService: LocalizationService); + setLanguage({ patchState, dispatch }: StateContext, { payload }: SetLanguage): import("rxjs").Observable<[void, void]>; setTenantId({ patchState }: StateContext, { payload }: SetTenant): void; } diff --git a/npm/ng-packs/dist/core/lib/utils/common-utils.d.ts b/npm/ng-packs/dist/core/lib/utils/common-utils.d.ts new file mode 100644 index 0000000000..3b5d6a3742 --- /dev/null +++ b/npm/ng-packs/dist/core/lib/utils/common-utils.d.ts @@ -0,0 +1 @@ +export declare function noop(): () => void; diff --git a/npm/ng-packs/dist/core/lib/utils/index.d.ts b/npm/ng-packs/dist/core/lib/utils/index.d.ts index e2a72ebd3f..0043152ada 100644 --- a/npm/ng-packs/dist/core/lib/utils/index.d.ts +++ b/npm/ng-packs/dist/core/lib/utils/index.d.ts @@ -1,3 +1,4 @@ +export * from './common-utils'; export * from './generator-utils'; export * from './initial-utils'; export * from './route-utils'; diff --git a/npm/ng-packs/dist/core/lib/utils/initial-utils.d.ts b/npm/ng-packs/dist/core/lib/utils/initial-utils.d.ts index 7237b867ba..2879df3cdc 100644 --- a/npm/ng-packs/dist/core/lib/utils/initial-utils.d.ts +++ b/npm/ng-packs/dist/core/lib/utils/initial-utils.d.ts @@ -1,2 +1,4 @@ import { Injector } from '@angular/core'; export declare function getInitialData(injector: Injector): () => Promise; +export declare function localeInitializer(injector: Injector): () => Promise; +export declare function registerLocale(locale: string): Promise; diff --git a/npm/ng-packs/dist/core/public-api.d.ts b/npm/ng-packs/dist/core/public-api.d.ts index 74dc2a778b..604e8a694e 100644 --- a/npm/ng-packs/dist/core/public-api.d.ts +++ b/npm/ng-packs/dist/core/public-api.d.ts @@ -1,5 +1,6 @@ export * from './lib/actions'; export * from './lib/components'; +export * from './lib/constants'; export * from './lib/directives'; export * from './lib/enums'; export * from './lib/guards'; diff --git a/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json index 7510f82cae..cc2aac7afd 100644 --- a/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json +++ b/npm/ng-packs/dist/feature-management/abp-ng.feature-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/feature-management/feature-management.component"}],"metadata":{"FeatureManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":9,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":9,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":9,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵc"}]]}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-feature-management","template":"\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n
    \n"}]}],"members":{"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"features$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":37,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getFeatures"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":29}]}],"openModal":[{"__symbolic":"method"}],"getFeatures":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"FeatureManagementState","defaults":{"features":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"getFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"updateFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getFeatures":{"__symbolic":"function","parameters":["features"],"value":{"__symbolic":"reference","name":"features"}}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":10,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":56}]}],"getFeatures":[{"__symbolic":"method"}],"updateFeatures":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Provider"}]}]},"statics":{"type":"[FeatureManagement] Get Features"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/feature-management.actions"}]}]},"statics":{"type":"[FeatureManagement] Update Features"}}},"origins":{"FeatureManagementModule":"./lib/feature-management.module","ɵa":"./lib/components/feature-management/feature-management.component","ɵb":"./lib/states","ɵc":"./lib/states/feature-management.state","ɵd":"./lib/services/feature-management.service","ɵe":"./lib/actions/feature-management.actions","ɵf":"./lib/actions/feature-management.actions","ɵg":"./lib/models"},"importAs":"@abp/ng.feature-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/feature-management/feature-management.component"}],"metadata":{"RootFeatureManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":2,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"RootFeatureManagementModule"},"providers":[]}}}},"FeatureManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":9,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":9,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":9,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵc"}]]}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-feature-management","template":"\n \n

    {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n\n \n \n \n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\n \n \n
    \n"}]}],"members":{"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"features$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":37,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getFeatures"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":29}]}],"openModal":[{"__symbolic":"method"}],"getFeatures":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"FeatureManagementState","defaults":{"features":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"getFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"updateFeatures":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}]},"statics":{"getFeatures":{"__symbolic":"function","parameters":["features"],"value":{"__symbolic":"reference","name":"features"}}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":10,"character":28},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":10,"character":56}]}],"getFeatures":[{"__symbolic":"method"}],"updateFeatures":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵg"},"member":"Provider"}]}]},"statics":{"type":"[FeatureManagement] Get Features"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/feature-management.actions"}]}]},"statics":{"type":"[FeatureManagement] Update Features"}}},"origins":{"RootFeatureManagementModule":"./lib/root-feature-management.module","FeatureManagementModule":"./lib/feature-management.module","ɵa":"./lib/components/feature-management/feature-management.component","ɵb":"./lib/states","ɵc":"./lib/states/feature-management.state","ɵd":"./lib/services/feature-management.service","ɵe":"./lib/actions/feature-management.actions","ɵf":"./lib/actions/feature-management.actions","ɵg":"./lib/models"},"importAs":"@abp/ng.feature-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js index 517a026099..8525a26b60 100644 --- a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@angular/core'), require('@ngxs/store'), require('rxjs'), require('rxjs/operators'), require('@angular/forms')) : - typeof define === 'function' && define.amd ? define('@abp/ng.feature-management', ['exports', '@abp/ng.core', '@abp/ng.theme.shared', '@angular/core', '@ngxs/store', 'rxjs', 'rxjs/operators', '@angular/forms'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['feature-management'] = {}), global.ng_core, global.ng_theme_shared, global.ng.core, global.store, global.rxjs, global.rxjs.operators, global.ng.forms)); -}(this, function (exports, ng_core, ng_theme_shared, core, store, rxjs, operators, forms) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@ngxs/store'), require('rxjs'), require('rxjs/operators'), require('@angular/forms')) : + typeof define === 'function' && define.amd ? define('@abp/ng.feature-management', ['exports', '@angular/core', '@abp/ng.core', '@abp/ng.theme.shared', '@ngxs/store', 'rxjs', 'rxjs/operators', '@angular/forms'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['feature-management'] = {}), global.ng.core, global.ng_core, global.ng_theme_shared, global.store, global.rxjs, global.rxjs.operators, global.ng.forms)); +}(this, function (exports, core, ng_core, ng_theme_shared, store, rxjs, operators, forms) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -201,6 +201,31 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootFeatureManagementModule = /** @class */ (function () { + function RootFeatureManagementModule() { + } + /** + * @return {?} + */ + RootFeatureManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + }; + RootFeatureManagementModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootFeatureManagementModule; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -583,6 +608,7 @@ exports.FeatureManagementComponent = FeatureManagementComponent; exports.FeatureManagementModule = FeatureManagementModule; + exports.RootFeatureManagementModule = RootFeatureManagementModule; exports.ɵa = FeatureManagementComponent; exports.ɵb = FeatureManagementState; exports.ɵc = FeatureManagementState; diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map index 2ab31069d5..930d10b5ac 100644 --- a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.feature-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["Injectable","RestService","Store","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","pluck","FormControl","FormGroup","Component","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACjMD;QAEE,qBAAmB,OAAmC;YAAnC,YAAO,GAAP,OAAO,CAA4B;SAAI;QAD1C,gBAAI,GAAG,kCAAkC,CAAC;QAE5D,kBAAC;KAHD,IAGC;;;QAFC,iBAA0D;;QAC9C,8BAA0C;;AAGxD;QAEE,wBAAmB,OAAgE;YAAhE,YAAO,GAAP,OAAO,CAAyD;SAAI;QADvE,mBAAI,GAAG,qCAAqC,CAAC;QAE/D,qBAAC;KAHD,IAGC;;;QAFC,oBAA6D;;QACjD,iCAAuE;;;;;;;;;;;;ACTrF;QAUE,kCAAoB,IAAiB,EAAU,KAAY;YAAvC,SAAI,GAAJ,IAAI,CAAa;YAAU,UAAK,GAAL,KAAK,CAAO;SAAI;;;;;QAE/D,8CAAW;;;;QAAX,UAAY,MAAkC;;gBACtC,OAAO,GAAuB;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,mBAAmB;gBACxB,MAAM,QAAA;aACP;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyD,OAAO,CAAC,CAAC;SAC3F;;;;;QAED,iDAAc;;;;QAAd,UAAe,EAI2C;gBAHxD,sBAAQ,EACR,4BAAW,EACX,8BAAY;;gBAEN,OAAO,GAA6C;gBACxD,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,mBAAmB;gBACxB,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE;gBAClB,MAAM,EAAE,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE;aACtC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmC,OAAO,CAAC,CAAC;SACrE;;oBA3BFA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAPQC,mBAAW;oBACXC,WAAK;;;uCAFd;KAMA,IA4BC;;;;;;QAxBa,wCAAyB;;;;;QAAE,yCAAoB;;;;;;;;QCM3D,gCAAoB,wBAAkD;YAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;SAAI;;;;;QAJnE,kCAAW;;;;QAAlB,UAAmB,EAAqC;gBAAnC,sBAAQ;YAC3B,OAAO,QAAQ,CAAC;SACjB;;;;;;QAKD,4CAAW;;;;;QAAX,UAAY,EAAqD,EAAE,EAAwB;gBAA7E,0BAAU;gBAA6C,oBAAO;YAC1E,OAAO,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5DC,aAAG;;;;YAAC,UAAC,EAAY;oBAAV,sBAAQ;gBACb,OAAA,UAAU,CAAC;oBACT,QAAQ,UAAA;iBACT,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,+CAAc;;;;;QAAd,UAAe,CAAC,EAAE,EAA2B;gBAAzB,oBAAO;YACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAC9D;QAbDC;YADCC,YAAM,CAAC,WAAW,CAAC;;qDAC4D,WAAW;;iEAQ1F;QAGDD;YADCC,YAAM,CAAC,cAAc,CAAC;;qDACQ,cAAc;;oEAE5C;QApBDD;YADCE,cAAQ,EAAE;;;;uDAGV;QAJU,sBAAsB;YAJlCC,WAAK,CAA0B;gBAC9B,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,qBAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAA2B;aACtD,CAAC;6CAO8C,wBAAwB;WAN3D,sBAAsB,CAuBlC;QAAD,6BAAC;KAAA,IAAA;;;;;;QAjBa,0DAA0D;;;;;;;;;;;;;QC4BtE,oCAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YAThC,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAK5C,cAAS,GAAY,KAAK,CAAC;SAIS;QAtBpC,sBACI,+CAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAc;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE/B,IAAI,KAAK;oBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aAC7B;;;WAPA;;;;QAqBD,8CAAS;;;QAAT;YACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;QAED,gDAAW;;;QAAX;YAAA,iBAOC;YANC,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;iBAC7F,IAAI,CAACC,eAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;iBACjD,SAAS;;;;YAAC,UAAA,QAAQ;gBACjB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC1B,EAAC,CAAC;SACN;;;;;QAED,8CAAS;;;;QAAT,UAAU,QAAQ;;gBACV,YAAY,GAAG,EAAE;YAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAIC,iBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC7F;YAED,IAAI,CAAC,IAAI,GAAG,IAAIC,eAAS,CAAC,YAAY,CAAC,CAAC;SACzC;;;;QAED,yCAAI;;;QAAJ;YAAA,iBAsBC;YArBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAElB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAE5E,QAAQ,GAAG,QAAQ,CAAC,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,CAAC,IAAK,QAAC;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACzF,IAAC,EAAC,CAAC;YAEJ,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAI,cAAc,CAAC;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,UAAA;aACT,CAAC,CACH;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAC,CAAC;SACN;;oBAtFFC,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,wvCAAkD;qBACnD;;;;oBAXgBV,WAAK;;;kCAanBW,UAAK;mCAGLA,UAAK;8BAKLA,UAAK;oCAYLC,WAAM;;QAIPV;YADCW,YAAM,CAAC,sBAAsB,CAAC,WAAW,CAAC;sCAChCC,eAAU;qEAA8B;QA0DrD,iCAAC;KAvFD,IAuFC;;;QAlFC,iDACoB;;QAEpB,kDACqB;;;;;QAErB,8CAAmB;;QAcnB,mDAC4C;;QAE5C,+CACmD;;QAEnD,+CAA2B;;QAE3B,0CAAgB;;;;;QAEJ,2CAAoB;;;;;;;AC5ClC;QAOA;SAKuC;;oBALtCC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;wBAC1C,OAAO,EAAE,CAACC,kBAAU,EAAEC,iCAAiB,EAAEC,gBAAU,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBACzF,OAAO,EAAE,CAAC,0BAA0B,CAAC;qBACtC;;QACqC,8BAAC;KALvC;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.feature-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/root-feature-management.module.ts","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootFeatureManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootFeatureManagementModule,\n providers: [],\n };\n }\n}\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["NgModule","Injectable","RestService","Store","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","pluck","FormControl","FormGroup","Component","Input","Output","Select","Observable","CoreModule","ThemeSharedModule","NgxsModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js index 28befa0821..2f086d5102 100644 --- a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@abp/ng.feature-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","@angular/forms"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["feature-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ng.forms)}(this,function(e,t,r,n,a,o,i,u){"use strict";function s(e,t,r,n){var a,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(i=(o<3?a(i):o>3?a(t,r,i):a(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var c=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Get Features",e}();var f=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Update Features",e}();var l=function(){function e(e,t){this.rest=e,this.store=t}return e.prototype.getFeatures=function(e){var t={method:"GET",url:"/api/abp/features",params:e};return this.rest.request(t)},e.prototype.updateFeatures=function(e){var t={method:"PUT",url:"/api/abp/features",body:{features:e.features},params:{providerKey:e.providerKey,providerName:e.providerName}};return this.rest.request(t)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService},{type:a.Store}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService),n.ɵɵinject(a.Store))},token:e,providedIn:"root"}),e}();var d=function(){function e(e){this.featureManagementService=e}return e.getFeatures=function(e){return e.features},e.prototype.getFeatures=function(e,t){var r=e.patchState,n=t.payload;return this.featureManagementService.getFeatures(n).pipe(i.tap(function(e){var t=e.features;return r({features:t})}))},e.prototype.updateFeatures=function(e,t){var r=t.payload;return this.featureManagementService.updateFeatures(r)},s([a.Action(c),p("design:type",Function),p("design:paramtypes",[Object,c]),p("design:returntype",void 0)],e.prototype,"getFeatures",null),s([a.Action(f),p("design:type",Function),p("design:paramtypes",[Object,f]),p("design:returntype",void 0)],e.prototype,"updateFeatures",null),s([a.Selector(),p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",void 0)],e,"getFeatures",null),e=s([a.State({name:"FeatureManagementState",defaults:{features:{}}}),p("design:paramtypes",[l])],e)}();var m=function(){function e(e){this.store=e,this.visibleChange=new n.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e),e&&this.openModal()},enumerable:!0,configurable:!0}),e.prototype.openModal=function(){if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.getFeatures()},e.prototype.getFeatures=function(){var e=this;this.store.dispatch(new c({providerKey:this.providerKey,providerName:this.providerName})).pipe(i.pluck("FeatureManagementState","features")).subscribe(function(t){e.buildForm(t)})},e.prototype.buildForm=function(e){for(var t={},r=0;r\n \n

    {{ \'AbpTenantManagement::Permission:ManageFeatures\' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n\n \n \n \n {{ \'AbpFeatureManagement::Save\' | abpLocalization }}\n \n \n\n'}]}],e.ctorParameters=function(){return[{type:a.Store}]},e.propDecorators={providerKey:[{type:n.Input}],providerName:[{type:n.Input}],visible:[{type:n.Input}],visibleChange:[{type:n.Output}]},s([a.Select(d.getFeatures),p("design:type",o.Observable)],e.prototype,"features$",void 0),e}();var g=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[m],imports:[t.CoreModule,r.ThemeSharedModule,a.NgxsModule.forFeature([d])],exports:[m]}]}],e}();e.FeatureManagementComponent=m,e.FeatureManagementModule=g,e.ɵa=m,e.ɵb=d,e.ɵc=d,e.ɵd=l,e.ɵe=c,e.ɵf=f,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@abp/ng.feature-management",["exports","@angular/core","@abp/ng.core","@abp/ng.theme.shared","@ngxs/store","rxjs","rxjs/operators","@angular/forms"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["feature-management"]={}),e.ng.core,e.ng_core,e.ng_theme_shared,e.store,e.rxjs,e.rxjs.operators,e.ng.forms)}(this,function(e,t,r,n,a,o,i,u){"use strict";function s(e,t,r,n){var a,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(i=(o<3?a(i):o>3?a(t,r,i):a(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var c=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{}]}],e}(),f=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Get Features",e}();var l=function(){function e(e){this.payload=e}return e.type="[FeatureManagement] Update Features",e}();var d=function(){function e(e,t){this.rest=e,this.store=t}return e.prototype.getFeatures=function(e){var t={method:"GET",url:"/api/abp/features",params:e};return this.rest.request(t)},e.prototype.updateFeatures=function(e){var t={method:"PUT",url:"/api/abp/features",body:{features:e.features},params:{providerKey:e.providerKey,providerName:e.providerName}};return this.rest.request(t)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:r.RestService},{type:a.Store}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(r.RestService),t.ɵɵinject(a.Store))},token:e,providedIn:"root"}),e}();var m=function(){function e(e){this.featureManagementService=e}return e.getFeatures=function(e){return e.features},e.prototype.getFeatures=function(e,t){var r=e.patchState,n=t.payload;return this.featureManagementService.getFeatures(n).pipe(i.tap(function(e){var t=e.features;return r({features:t})}))},e.prototype.updateFeatures=function(e,t){var r=t.payload;return this.featureManagementService.updateFeatures(r)},s([a.Action(f),p("design:type",Function),p("design:paramtypes",[Object,f]),p("design:returntype",void 0)],e.prototype,"getFeatures",null),s([a.Action(l),p("design:type",Function),p("design:paramtypes",[Object,l]),p("design:returntype",void 0)],e.prototype,"updateFeatures",null),s([a.Selector(),p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",void 0)],e,"getFeatures",null),e=s([a.State({name:"FeatureManagementState",defaults:{features:{}}}),p("design:paramtypes",[d])],e)}();var g=function(){function e(e){this.store=e,this.visibleChange=new t.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e),e&&this.openModal()},enumerable:!0,configurable:!0}),e.prototype.openModal=function(){if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.getFeatures()},e.prototype.getFeatures=function(){var e=this;this.store.dispatch(new f({providerKey:this.providerKey,providerName:this.providerName})).pipe(i.pluck("FeatureManagementState","features")).subscribe(function(t){e.buildForm(t)})},e.prototype.buildForm=function(e){for(var t={},r=0;r\n \n

    {{ \'AbpTenantManagement::Permission:ManageFeatures\' | abpLocalization }}

    \n
    \n\n \n
    \n \n
    {{ feature.name }}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n\n \n \n \n {{ \'AbpFeatureManagement::Save\' | abpLocalization }}\n \n \n\n'}]}],e.ctorParameters=function(){return[{type:a.Store}]},e.propDecorators={providerKey:[{type:t.Input}],providerName:[{type:t.Input}],visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},s([a.Select(m.getFeatures),p("design:type",o.Observable)],e.prototype,"features$",void 0),e}();var v=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[g],imports:[r.CoreModule,n.ThemeSharedModule,a.NgxsModule.forFeature([m])],exports:[g]}]}],e}();e.FeatureManagementComponent=g,e.FeatureManagementModule=v,e.RootFeatureManagementModule=c,e.ɵa=g,e.ɵb=m,e.ɵc=m,e.ɵd=d,e.ɵe=f,e.ɵf=l,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.feature-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map index aeaeeb062f..b7ef2d387c 100644 --- a/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map +++ b/npm/ng-packs/dist/feature-management/bundles/abp-ng.feature-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetFeatures","payload","this","type","UpdateFeatures","FeatureManagementService","rest","store","prototype","getFeatures","params","request","method","url","updateFeatures","_a","body","features","providerKey","providerName","Injectable","args","providedIn","RestService","Store","FeatureManagementState","featureManagementService","_b","patchState","pipe","tap","_","tslib_1.__decorate","Action","Selector","State","name","defaults","FeatureManagementComponent","visibleChange","EventEmitter","modalBusy","_visible","value","emit","openModal","Error","_this","dispatch","pluck","subscribe","buildForm","formGroupObj","FormControl","form","FormGroup","save","selectSnapshot","map","feature","visible","Component","selector","template","Input","Output","Select","Observable","FeatureManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.feature-management/lib/root-feature-management.module.ts","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","RootFeatureManagementModule","forRoot","ngModule","providers","NgModule","args","GetFeatures","payload","this","type","UpdateFeatures","FeatureManagementService","rest","store","prototype","getFeatures","params","request","method","url","updateFeatures","_a","body","features","providerKey","providerName","Injectable","providedIn","RestService","Store","FeatureManagementState","featureManagementService","_b","patchState","pipe","tap","_","tslib_1.__decorate","Action","Selector","State","name","defaults","FeatureManagementComponent","visibleChange","EventEmitter","modalBusy","_visible","value","emit","openModal","Error","_this","dispatch","pluck","subscribe","buildForm","formGroupObj","FormControl","form","FormGroup","save","selectSnapshot","map","feature","visible","Component","selector","template","Input","Output","Select","Observable","FeatureManagementModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootFeatureManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootFeatureManagementModule,\n providers: [],\n };\n }\n}\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js index c84f215508..6c3065bfed 100644 --- a/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js +++ b/npm/ng-packs/dist/feature-management/esm2015/abp-ng.feature-management.js @@ -5,10 +5,10 @@ /** * Generated bundle index. Do not edit. */ -export { FeatureManagementModule, FeatureManagementComponent } from './public-api'; +export { RootFeatureManagementModule, FeatureManagementModule, FeatureManagementComponent } from './public-api'; export { GetFeatures as ɵe, UpdateFeatures as ɵf } from './lib/actions/feature-management.actions'; export { FeatureManagementComponent as ɵa } from './lib/components/feature-management/feature-management.component'; export { FeatureManagementService as ɵd } from './lib/services/feature-management.service'; export { FeatureManagementState as ɵb } from './lib/states'; export { FeatureManagementState as ɵc } from './lib/states/feature-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb0VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaUdBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/lib/root-feature-management.module.js b/npm/ng-packs/dist/feature-management/esm2015/lib/root-feature-management.module.js new file mode 100644 index 0000000000..fc51fa84e5 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm2015/lib/root-feature-management.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +export class RootFeatureManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + } +} +RootFeatureManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMkJBQTJCOzs7O0lBQ3RDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBUEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSb290RmVhdHVyZU1hbmFnZW1lbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm2015/public-api.js b/npm/ng-packs/dist/feature-management/esm2015/public-api.js index 2ca23efea6..fcbf11e568 100644 --- a/npm/ng-packs/dist/feature-management/esm2015/public-api.js +++ b/npm/ng-packs/dist/feature-management/esm2015/public-api.js @@ -2,6 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { RootFeatureManagementModule } from './lib/root-feature-management.module'; export { FeatureManagementModule } from './lib/feature-management.module'; export { FeatureManagementComponent } from './lib/components'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQWMsc0NBQXNDLENBQUM7QUFDckQsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9yb290LWZlYXR1cmUtbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmVhdHVyZS1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js index c84f215508..6c3065bfed 100644 --- a/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js +++ b/npm/ng-packs/dist/feature-management/esm5/abp-ng.feature-management.js @@ -5,10 +5,10 @@ /** * Generated bundle index. Do not edit. */ -export { FeatureManagementModule, FeatureManagementComponent } from './public-api'; +export { RootFeatureManagementModule, FeatureManagementModule, FeatureManagementComponent } from './public-api'; export { GetFeatures as ɵe, UpdateFeatures as ɵf } from './lib/actions/feature-management.actions'; export { FeatureManagementComponent as ɵa } from './lib/components/feature-management/feature-management.component'; export { FeatureManagementService as ɵd } from './lib/services/feature-management.service'; export { FeatureManagementState as ɵb } from './lib/states'; export { FeatureManagementState as ɵc } from './lib/states/feature-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsb0VBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLmZlYXR1cmUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaUdBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFbEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldEZlYXR1cmVzIGFzIMm1ZSxVcGRhdGVGZWF0dXJlcyBhcyDJtWZ9IGZyb20gJy4vbGliL2FjdGlvbnMvZmVhdHVyZS1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1tYW5hZ2VtZW50L2ZlYXR1cmUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWF0dXJlTWFuYWdlbWVudCBhcyDJtWd9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2ZlYXR1cmUtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7RmVhdHVyZU1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcyc7XG5leHBvcnQge0ZlYXR1cmVNYW5hZ2VtZW50U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdGF0ZXMvZmVhdHVyZS1tYW5hZ2VtZW50LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/lib/root-feature-management.module.js b/npm/ng-packs/dist/feature-management/esm5/lib/root-feature-management.module.js new file mode 100644 index 0000000000..02f160fdaa --- /dev/null +++ b/npm/ng-packs/dist/feature-management/esm5/lib/root-feature-management.module.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +var RootFeatureManagementModule = /** @class */ (function () { + function RootFeatureManagementModule() { + } + /** + * @return {?} + */ + RootFeatureManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + }; + RootFeatureManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootFeatureManagementModule; +}()); +export { RootFeatureManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RDtJQUFBO0lBUUEsQ0FBQzs7OztJQU5RLG1DQUFPOzs7SUFBZDtRQUNFLE9BQU87WUFDTCxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7O2dCQVBGLFFBQVEsU0FBQyxFQUFFOztJQVFaLGtDQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFJvb3RGZWF0dXJlTWFuYWdlbWVudE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/esm5/public-api.js b/npm/ng-packs/dist/feature-management/esm5/public-api.js index 2ca23efea6..fcbf11e568 100644 --- a/npm/ng-packs/dist/feature-management/esm5/public-api.js +++ b/npm/ng-packs/dist/feature-management/esm5/public-api.js @@ -2,6 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { RootFeatureManagementModule } from './lib/root-feature-management.module'; export { FeatureManagementModule } from './lib/feature-management.module'; export { FeatureManagementComponent } from './lib/components'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQWMsc0NBQXNDLENBQUM7QUFDckQsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsMkNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9yb290LWZlYXR1cmUtbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmVhdHVyZS1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js index a761573caf..08f63d224b 100644 --- a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js +++ b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js @@ -1,12 +1,31 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output } from '@angular/core'; import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output, NgModule } from '@angular/core'; import { __decorate, __metadata } from 'tslib'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import { Observable } from 'rxjs'; import { tap, pluck } from 'rxjs/operators'; import { FormControl, FormGroup } from '@angular/forms'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootFeatureManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + } +} +RootFeatureManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -361,5 +380,5 @@ FeatureManagementModule.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { FeatureManagementComponent, FeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; +export { FeatureManagementComponent, FeatureManagementModule, RootFeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; //# sourceMappingURL=abp-ng.feature-management.js.map diff --git a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map index 66b084481e..95e1d29ce1 100644 --- a/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map +++ b/npm/ng-packs/dist/feature-management/fesm2015/abp-ng.feature-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/root-feature-management.module.ts","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootFeatureManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootFeatureManagementModule,\n providers: [],\n };\n }\n}\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js index 92b041d57b..5794ee405b 100644 --- a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js +++ b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js @@ -1,12 +1,37 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output } from '@angular/core'; import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Input, Output, NgModule } from '@angular/core'; import { __decorate, __metadata } from 'tslib'; import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; import { Observable } from 'rxjs'; import { tap, pluck } from 'rxjs/operators'; import { FormControl, FormGroup } from '@angular/forms'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootFeatureManagementModule = /** @class */ (function () { + function RootFeatureManagementModule() { + } + /** + * @return {?} + */ + RootFeatureManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootFeatureManagementModule, + providers: [], + }; + }; + RootFeatureManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootFeatureManagementModule; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -402,5 +427,5 @@ var FeatureManagementModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { FeatureManagementComponent, FeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; +export { FeatureManagementComponent, FeatureManagementModule, RootFeatureManagementModule, FeatureManagementComponent as ɵa, FeatureManagementState as ɵb, FeatureManagementState as ɵc, FeatureManagementService as ɵd, GetFeatures as ɵe, UpdateFeatures as ɵf }; //# sourceMappingURL=abp-ng.feature-management.js.map diff --git a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map index 94ecafeb19..2d1a106f36 100644 --- a/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map +++ b/npm/ng-packs/dist/feature-management/fesm5/abp-ng.feature-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.feature-management.js","sources":["ng://@abp/ng.feature-management/lib/root-feature-management.module.ts","ng://@abp/ng.feature-management/lib/actions/feature-management.actions.ts","ng://@abp/ng.feature-management/lib/services/feature-management.service.ts","ng://@abp/ng.feature-management/lib/states/feature-management.state.ts","ng://@abp/ng.feature-management/lib/components/feature-management/feature-management.component.ts","ng://@abp/ng.feature-management/lib/feature-management.module.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootFeatureManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootFeatureManagementModule,\n providers: [],\n };\n }\n}\n","import { FeatureManagement } from '../models';\n\nexport class GetFeatures {\n static readonly type = '[FeatureManagement] Get Features';\n constructor(public payload: FeatureManagement.Provider) {}\n}\n\nexport class UpdateFeatures {\n static readonly type = '[FeatureManagement] Update Features';\n constructor(public payload: FeatureManagement.Provider & FeatureManagement.Features) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { FeatureManagement } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureManagementService {\n constructor(private rest: RestService, private store: Store) {}\n\n getFeatures(params: FeatureManagement.Provider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/features',\n params,\n };\n return this.rest.request(request);\n }\n\n updateFeatures({\n features,\n providerKey,\n providerName,\n }: FeatureManagement.Provider & FeatureManagement.Features): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/features',\n body: { features },\n params: { providerKey, providerName },\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { GetFeatures, UpdateFeatures } from '../actions/feature-management.actions';\nimport { FeatureManagement } from '../models/feature-management';\nimport { FeatureManagementService } from '../services/feature-management.service';\n\n@State({\n name: 'FeatureManagementState',\n defaults: { features: {} } as FeatureManagement.State,\n})\nexport class FeatureManagementState {\n @Selector()\n static getFeatures({ features }: FeatureManagement.State) {\n return features;\n }\n\n constructor(private featureManagementService: FeatureManagementService) {}\n\n @Action(GetFeatures)\n getFeatures({ patchState }: StateContext, { payload }: GetFeatures) {\n return this.featureManagementService.getFeatures(payload).pipe(\n tap(({ features }) =>\n patchState({\n features,\n }),\n ),\n );\n }\n\n @Action(UpdateFeatures)\n updateFeatures(_, { payload }: UpdateFeatures) {\n return this.featureManagementService.updateFeatures(payload);\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { GetFeatures, UpdateFeatures } from '../../actions';\nimport { FeatureManagement } from '../../models/feature-management';\nimport { FeatureManagementState } from '../../states';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { pluck, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-feature-management',\n templateUrl: './feature-management.component.html',\n})\nexport class FeatureManagementComponent {\n @Input()\n providerKey: string;\n\n @Input()\n providerName: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) this.openModal();\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(FeatureManagementState.getFeatures)\n features$: Observable;\n\n modalBusy: boolean = false;\n\n form: FormGroup;\n\n constructor(private store: Store) {}\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.getFeatures();\n }\n\n getFeatures() {\n this.store\n .dispatch(new GetFeatures({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('FeatureManagementState', 'features'))\n .subscribe(features => {\n this.buildForm(features);\n });\n }\n\n buildForm(features) {\n const formGroupObj = {};\n\n for (let i = 0; i < features.length; i++) {\n formGroupObj[i] = new FormControl(features[i].value === 'false' ? null : features[i].value);\n }\n\n this.form = new FormGroup(formGroupObj);\n }\n\n save() {\n this.modalBusy = true;\n\n let features = this.store.selectSnapshot(FeatureManagementState.getFeatures);\n\n features = features.map((feature, i) => ({\n name: feature.name,\n value: !this.form.value[i] || this.form.value[i] === 'false' ? null : this.form.value[i],\n }));\n\n this.store\n .dispatch(\n new UpdateFeatures({\n providerKey: this.providerKey,\n providerName: this.providerName,\n features,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\nimport { NgxsModule } from '@ngxs/store';\nimport { FeatureManagementState } from './states/feature-management.state';\n\n@NgModule({\n declarations: [FeatureManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([FeatureManagementState])],\n exports: [FeatureManagementComponent],\n})\nexport class FeatureManagementModule {}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/feature-management/lib/root-feature-management.module.d.ts b/npm/ng-packs/dist/feature-management/lib/root-feature-management.module.d.ts new file mode 100644 index 0000000000..03f4c95353 --- /dev/null +++ b/npm/ng-packs/dist/feature-management/lib/root-feature-management.module.d.ts @@ -0,0 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; +export declare class RootFeatureManagementModule { + static forRoot(): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/feature-management/package.json b/npm/ng-packs/dist/feature-management/package.json index 6be326f57a..568d572962 100644 --- a/npm/ng-packs/dist/feature-management/package.json +++ b/npm/ng-packs/dist/feature-management/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.feature-management", - "version": "0.0.83", + "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3", "tslib": "^1.9.0" diff --git a/npm/ng-packs/dist/feature-management/public-api.d.ts b/npm/ng-packs/dist/feature-management/public-api.d.ts index 047ac00914..a13bb6c526 100644 --- a/npm/ng-packs/dist/feature-management/public-api.d.ts +++ b/npm/ng-packs/dist/feature-management/public-api.d.ts @@ -1,2 +1,3 @@ +export * from './lib/root-feature-management.module'; export * from './lib/feature-management.module'; export * from './lib/components'; diff --git a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json index 7386696299..0a7da7c721 100644 --- a/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json +++ b/npm/ng-packs/dist/identity/abp-ng.identity.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":43,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":43,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":14,"character":12},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":60,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":60,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":60,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/models/identity"}],"metadata":{"RootIdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":2,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"RootIdentityModule"},"providers":[]}}}},"IdentityModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RolesComponent"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":17,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"IdentityState"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTabsetModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"@abp/ng.permission-management","name":"PermissionManagementModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":26,"character":4}]}]}],"members":{}},"GetRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Roles"}},"GetRoleById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get Role By Id"}},"DeleteRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete Role"}},"CreateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleSaveRequest"}]}]},"statics":{"type":"[Identity] Create Role"}},"UpdateRole":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"RoleItem"}]}]},"statics":{"type":"[Identity] Update Role"}},"GetUsers":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":30,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[Identity] Get Users"}},"GetUserById":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User By Id"}},"DeleteUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Delete User"}},"CreateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"UserSaveRequest"}]}]},"statics":{"type":"[Identity] Create User"}},"UpdateUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":50,"character":30,"module":"./lib/actions/identity.actions"}]}]},"statics":{"type":"[Identity] Update User"}},"GetUserRoles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Identity] Get User Roles"}},"RolesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"abp-roles","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Roles' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::RoleName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRoles"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":19,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getRolesTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":43,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":43,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"IDENTITY_ROUTES":{"routes":[{"name":"AbpUiNavigation::Menu:Administration","path":"","order":1,"wrapper":true},{"name":"AbpIdentity::Menu:IdentityManagement","path":"identity","order":1,"parentName":"AbpUiNavigation::Menu:Administration","layout":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":15,"character":14},"member":"application"},"iconClass":"fa fa-id-card-o","children":[{"path":"roles","name":"AbpIdentity::Roles","order":2,"requiredPolicy":"AbpIdentity.Roles"},{"path":"users","name":"AbpIdentity::Users","order":1,"requiredPolicy":"AbpIdentity.Users"}]}],"settings":[]},"RoleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}},"IdentityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getRoles":[{"__symbolic":"method"}],"getRoleById":[{"__symbolic":"method"}],"deleteRole":[{"__symbolic":"method"}],"createRole":[{"__symbolic":"method"}],"updateRole":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUserById":[{"__symbolic":"method"}],"getUserRoles":[{"__symbolic":"method"}],"deleteUser":[{"__symbolic":"method"}],"createUser":[{"__symbolic":"method"}],"updateUser":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"IdentityState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":18,"character":1},"arguments":[{"name":"IdentityState","defaults":{"roles":{},"selectedRole":{},"users":{},"selectedUser":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IdentityService"}]}],"getRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoles"}]}]}],"getRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":56,"character":3},"arguments":[{"__symbolic":"reference","name":"GetRoleById"}]}]}],"deleteRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":67,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteRole"}]}]}],"addRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateRole"}]}]}],"updateRole":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":77,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateRole"}]}]}],"getUsers":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":85,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUsers"}]}]}],"getUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":96,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserById"}]}]}],"deleteUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":107,"character":3},"arguments":[{"__symbolic":"reference","name":"DeleteUser"}]}]}],"addUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":112,"character":3},"arguments":[{"__symbolic":"reference","name":"CreateUser"}]}]}],"updateUser":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":117,"character":3},"arguments":[{"__symbolic":"reference","name":"UpdateUser"}]}]}],"getUserRoles":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":125,"character":3},"arguments":[{"__symbolic":"reference","name":"GetUserRoles"}]}]}]},"statics":{"getRoles":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"items"}},"getRolesTotalCount":{"__symbolic":"function","parameters":["roles"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"roles"},"member":"totalCount"}},"getUsers":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"items"}},"getUsersTotalCount":{"__symbolic":"function","parameters":["users"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"users"},"member":"totalCount"}}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"abp-users","template":"
    \n
    \n
    \n
    \n
    {{ 'AbpIdentity::Users' | abpLocalization }}
    \n
    \n
    \n \n {{ 'AbpIdentity::NewUser' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n {{ 'AbpIdentity::UserName' | abpLocalization }}\n {{ 'AbpIdentity::EmailAddress' | abpLocalization }}\n {{ 'AbpIdentity::PhoneNumber' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpIdentity::Actions' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n 'AbpIdentity::Save' | abpLocalization\n }}\n \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":23,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsers"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":26,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"IdentityState"},"member":"getUsersTotalCount"}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":60,"character":43},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":60,"character":76},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":60,"character":104}]}],"onSearch":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onAdd":[{"__symbolic":"method"}],"onEdit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"roles","pathMatch":"full"},{"path":"roles","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":12,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":13,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":13,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Roles"},"children":[{"path":"","component":{"__symbolic":"reference","name":"RolesComponent"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"}]}]},{"path":"users","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":19,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":20,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":20,"character":29}],"data":{"requiredPolicy":"AbpIdentity.Users"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵb"},"resolve":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":34,"character":12}],"providers":[{"__symbolic":"reference","name":"RoleResolver"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"RootIdentityModule":"./lib/root-identity.module","IdentityModule":"./lib/identity.module","GetRoles":"./lib/actions/identity.actions","GetRoleById":"./lib/actions/identity.actions","DeleteRole":"./lib/actions/identity.actions","CreateRole":"./lib/actions/identity.actions","UpdateRole":"./lib/actions/identity.actions","GetUsers":"./lib/actions/identity.actions","GetUserById":"./lib/actions/identity.actions","DeleteUser":"./lib/actions/identity.actions","CreateUser":"./lib/actions/identity.actions","UpdateUser":"./lib/actions/identity.actions","GetUserRoles":"./lib/actions/identity.actions","RolesComponent":"./lib/components/roles/roles.component","IDENTITY_ROUTES":"./lib/constants/routes","RoleResolver":"./lib/resolvers/roles.resolver","IdentityService":"./lib/services/identity.service","IdentityState":"./lib/states/identity.state","ɵa":"./lib/models/identity","ɵb":"./lib/components/users/users.component","ɵc":"./lib/identity-routing.module","ɵd":"./lib/resolvers/users.resolver"},"importAs":"@abp/ng.identity"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js index 02988894e2..2345708ae8 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ngxs/store'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('snq'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.permission-management'), require('primeng/table'), require('@ngx-validate/core'), require('ngx-perfect-scrollbar')) : - typeof define === 'function' && define.amd ? define('@abp/ng.identity', ['exports', '@abp/ng.core', '@angular/core', '@ngxs/store', '@abp/ng.theme.shared', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/router', 'snq', '@ng-bootstrap/ng-bootstrap', '@abp/ng.permission-management', 'primeng/table', '@ngx-validate/core', 'ngx-perfect-scrollbar'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.identity = {}), global.ng_core, global.ng.core, global.store, global.ng_theme_shared, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.router, global.snq, global.ngBootstrap, global.ng_permissionManagement, global.table, global.core$1, global.ngxPerfectScrollbar)); -}(this, function (exports, ng_core, core, store, ng_theme_shared, forms, rxjs, operators, router, snq, ngBootstrap, ng_permissionManagement, table, core$1, ngxPerfectScrollbar) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@ngxs/store'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('snq'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.permission-management'), require('primeng/table'), require('@ngx-validate/core'), require('ngx-perfect-scrollbar')) : + typeof define === 'function' && define.amd ? define('@abp/ng.identity', ['exports', '@angular/core', '@abp/ng.core', '@ngxs/store', '@abp/ng.theme.shared', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/router', 'snq', '@ng-bootstrap/ng-bootstrap', '@abp/ng.permission-management', 'primeng/table', '@ngx-validate/core', 'ngx-perfect-scrollbar'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.identity = {}), global.ng.core, global.ng_core, global.store, global.ng_theme_shared, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.router, global.snq, global.ngBootstrap, global.ng_permissionManagement, global.table, global.core$1, global.ngxPerfectScrollbar)); +}(this, function (exports, core, ng_core, store, ng_theme_shared, forms, rxjs, operators, router, snq, ngBootstrap, ng_permissionManagement, table, core$1, ngxPerfectScrollbar) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -203,6 +203,31 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootIdentityModule = /** @class */ (function () { + function RootIdentityModule() { + } + /** + * @return {?} + */ + RootIdentityModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootIdentityModule, + providers: [], + }; + }; + RootIdentityModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootIdentityModule; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1637,26 +1662,29 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ - var IDENTITY_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, - ])); + var IDENTITY_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ])), + settings: [], + }; /** * @fileoverview added by tsickle @@ -1775,6 +1803,7 @@ exports.IdentityState = IdentityState; exports.RoleResolver = RoleResolver; exports.RolesComponent = RolesComponent; + exports.RootIdentityModule = RootIdentityModule; exports.UpdateRole = UpdateRole; exports.UpdateUser = UpdateUser; exports.ɵb = UsersComponent; diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map index 95983ac34e..19475f991f 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/root-identity.module.ts","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootIdentityModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootIdentityModule,\n providers: [],\n };\n }\n}\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = {\n routes: [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["NgModule","Injectable","RestService","tap","switchMap","pluck","tslib_1.__decorate","Action","Selector","State","FormControl","Validators","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","take","DynamicLayoutComponent","AuthGuard","PermissionGuard","RouterModule","NgxsModule","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js index 41cb0524b4..d838ed8ca1 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@abp/ng.core","@angular/core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng_core,e.ng.core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var g=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}();var v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}();var I=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}();var w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}();var A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}();var R=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}();var U=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}();var S=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}();var C=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}();var L=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}();var N=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}();var x=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RestService}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.RestService))},token:e,providedIn:"root"}),e}();var z=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new g)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new v(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new g)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new R)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new U(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new R)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(g),h("design:type",Function),h("design:paramtypes",[Object,g]),h("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(v),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(I),h("design:type",Function),h("design:paramtypes",[Object,v]),h("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),h("design:type",Function),h("design:paramtypes",[Object,A]),h("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(R),h("design:type",Function),h("design:paramtypes",[Object,R]),h("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(U),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(S),h("design:type",Function),h("design:paramtypes",[Object,U]),h("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(C),h("design:type",Function),h("design:paramtypes",[Object,C]),h("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),h("design:paramtypes",[x])],e)}();var P=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new v(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1}))},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new I(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new g(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getRoles),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getRolesTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var M=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getRoles);return e&&e.length?null:this.store.dispatch(new g)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var k=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.modalBusy=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(z.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new U(e)).pipe(s.switchMap(function(){return t.store.dispatch(new N(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){this.modalBusy=!0;var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new L(m({},this.form.value,{id:this.selected.id,roleNames:n})):new C(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new S(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new R(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:n.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n \'AbpIdentity::Save\' | abpLocalization\n }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(z.getUsers),h("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(z.getUsersTotalCount),h("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(z.getUsers);return e&&e.length?null:this.store.dispatch(new R)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var j,q=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:P,resolve:[M]}]},{path:"users",component:t.DynamicLayoutComponent,canActivate:[t.AuthGuard,t.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:k,resolve:[M,D]}]}],O=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[l.RouterModule.forChild(q)],exports:[l.RouterModule],providers:[M,D]}]}],e}(),F=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[P,k],imports:[o.NgxsModule.forFeature([z]),t.CoreModule,O,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){function t(){}function n(){}function o(){}function r(){}function i(){}function a(){}e.State=t,e.RoleSaveRequest=n,e.RoleItem=o,e.UserItem=r,e.User=i,e.UserSaveRequest=a}(j||(j={})),e.CreateRole=w,e.CreateUser=C,e.DeleteRole=I,e.DeleteUser=S,e.GetRoleById=v,e.GetRoles=g,e.GetUserById=U,e.GetUserRoles=N,e.GetUsers=R,e.IDENTITY_ROUTES=[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],e.IdentityModule=F,e.IdentityService=x,e.IdentityState=z,e.RoleResolver=M,e.RolesComponent=P,e.UpdateRole=A,e.UpdateUser=L,e.ɵb=k,e.ɵc=O,e.ɵd=D,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@abp/ng.core"),require("@ngxs/store"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("snq"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.permission-management"),require("primeng/table"),require("@ngx-validate/core"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.identity",["exports","@angular/core","@abp/ng.core","@ngxs/store","@abp/ng.theme.shared","@angular/forms","rxjs","rxjs/operators","@angular/router","snq","@ng-bootstrap/ng-bootstrap","@abp/ng.permission-management","primeng/table","@ngx-validate/core","ngx-perfect-scrollbar"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.identity={}),e.ng.core,e.ng_core,e.store,e.ng_theme_shared,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.snq,e.ngBootstrap,e.ng_permissionManagement,e.table,e.core$1,e.ngxPerfectScrollbar)}(this,function(e,t,n,o,r,i,a,s,l,p,d,c,u,b,y){"use strict";p=p&&p.hasOwnProperty("default")?p.default:p;var m=function(){return(m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function g(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var h=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{}]}],e}(),v=function(){function e(e){this.payload=e}return e.type="[Identity] Get Roles",e}();var I=function(){function e(e){this.payload=e}return e.type="[Identity] Get Role By Id",e}();var R=function(){function e(e){this.payload=e}return e.type="[Identity] Delete Role",e}();var w=function(){function e(e){this.payload=e}return e.type="[Identity] Create Role",e}();var A=function(){function e(e){this.payload=e}return e.type="[Identity] Update Role",e}();var U=function(){function e(e){this.payload=e}return e.type="[Identity] Get Users",e}();var S=function(){function e(e){this.payload=e}return e.type="[Identity] Get User By Id",e}();var C=function(){function e(e){this.payload=e}return e.type="[Identity] Delete User",e}();var N=function(){function e(e){this.payload=e}return e.type="[Identity] Create User",e}();var L=function(){function e(e){this.payload=e}return e.type="[Identity] Update User",e}();var x=function(){function e(e){this.payload=e}return e.type="[Identity] Get User Roles",e}();var z=function(){function e(e){this.rest=e}return e.prototype.getRoles=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/roles",params:e};return this.rest.request(t)},e.prototype.getRoleById=function(e){var t={method:"GET",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.deleteRole=function(e){var t={method:"DELETE",url:"/api/identity/roles/"+e};return this.rest.request(t)},e.prototype.createRole=function(e){var t={method:"POST",url:"/api/identity/roles",body:e};return this.rest.request(t)},e.prototype.updateRole=function(e){var t="/api/identity/roles/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getUsers=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/identity/users",params:e};return this.rest.request(t)},e.prototype.getUserById=function(e){var t={method:"GET",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.getUserRoles=function(e){var t={method:"GET",url:"/api/identity/users/"+e+"/roles"};return this.rest.request(t)},e.prototype.deleteUser=function(e){var t={method:"DELETE",url:"/api/identity/users/"+e};return this.rest.request(t)},e.prototype.createUser=function(e){var t={method:"POST",url:"/api/identity/users",body:e};return this.rest.request(t)},e.prototype.updateUser=function(e){var t="/api/identity/users/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:n.RestService}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(n.RestService))},token:e,providedIn:"root"}),e}();var M=function(){function e(e){this.identityService=e}return e.getRoles=function(e){return e.roles.items},e.getRolesTotalCount=function(e){return e.roles.totalCount},e.getUsers=function(e){return e.users.items},e.getUsersTotalCount=function(e){return e.users.totalCount},e.prototype.getRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoles(o).pipe(s.tap(function(e){return n({roles:e})}))},e.prototype.getRole=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getRoleById(o).pipe(s.tap(function(e){return n({selectedRole:e})}))},e.prototype.deleteRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.addRole=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createRole(o).pipe(s.switchMap(function(){return n(new v)}))},e.prototype.updateRole=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new I(i.id)).pipe(s.switchMap(function(){return n.identityService.updateRole(m({},o().selectedRole,i))}),s.switchMap(function(){return r(new v)}))},e.prototype.getUsers=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUsers(o).pipe(s.tap(function(e){return n({users:e})}))},e.prototype.getUser=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserById(o).pipe(s.tap(function(e){return n({selectedUser:e})}))},e.prototype.deleteUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.deleteUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.addUser=function(e,t){var n=e.dispatch,o=t.payload;return this.identityService.createUser(o).pipe(s.switchMap(function(){return n(new U)}))},e.prototype.updateUser=function(e,t){var n=this,o=e.getState,r=e.dispatch,i=t.payload;return r(new S(i.id)).pipe(s.switchMap(function(){return n.identityService.updateUser(m({},o().selectedUser,i))}),s.switchMap(function(){return r(new U)}))},e.prototype.getUserRoles=function(e,t){var n=e.patchState,o=t.payload;return this.identityService.getUserRoles(o).pipe(s.pluck("items"),s.tap(function(e){return n({selectedUserRoles:e})}))},f([o.Action(v),g("design:type",Function),g("design:paramtypes",[Object,v]),g("design:returntype",void 0)],e.prototype,"getRoles",null),f([o.Action(I),g("design:type",Function),g("design:paramtypes",[Object,I]),g("design:returntype",void 0)],e.prototype,"getRole",null),f([o.Action(R),g("design:type",Function),g("design:paramtypes",[Object,I]),g("design:returntype",void 0)],e.prototype,"deleteRole",null),f([o.Action(w),g("design:type",Function),g("design:paramtypes",[Object,w]),g("design:returntype",void 0)],e.prototype,"addRole",null),f([o.Action(A),g("design:type",Function),g("design:paramtypes",[Object,A]),g("design:returntype",void 0)],e.prototype,"updateRole",null),f([o.Action(U),g("design:type",Function),g("design:paramtypes",[Object,U]),g("design:returntype",void 0)],e.prototype,"getUsers",null),f([o.Action(S),g("design:type",Function),g("design:paramtypes",[Object,S]),g("design:returntype",void 0)],e.prototype,"getUser",null),f([o.Action(C),g("design:type",Function),g("design:paramtypes",[Object,S]),g("design:returntype",void 0)],e.prototype,"deleteUser",null),f([o.Action(N),g("design:type",Function),g("design:paramtypes",[Object,N]),g("design:returntype",void 0)],e.prototype,"addUser",null),f([o.Action(L),g("design:type",Function),g("design:paramtypes",[Object,L]),g("design:returntype",void 0)],e.prototype,"updateUser",null),f([o.Action(x),g("design:type",Function),g("design:paramtypes",[Object,x]),g("design:returntype",void 0)],e.prototype,"getUserRoles",null),f([o.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],e,"getRoles",null),f([o.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],e,"getRolesTotalCount",null),f([o.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],e,"getUsers",null),f([o.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],e,"getUsersTotalCount",null),e=f([o.State({name:"IdentityState",defaults:{roles:{},selectedRole:{},users:{},selectedUser:{}}}),g("design:paramtypes",[z])],e)}();var P=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createForm=function(){this.form=this.fb.group({name:new i.FormControl({value:this.selected.name||"",disabled:this.selected.isStatic},[i.Validators.required,i.Validators.maxLength(256)]),isDefault:[this.selected.isDefault||!1],isPublic:[this.selected.isPublic||!1]})},e.prototype.openModal=function(){this.createForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new I(e)).pipe(s.pluck("IdentityState","selectedRole")).subscribe(function(e){t.selected=e,t.openModal()})},e.prototype.save=function(){var e=this;this.form.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new A(m({},this.form.value,{id:this.selected.id})):new w(this.form.value)).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1}))},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::RoleDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new R(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new v(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:t.Component,args:[{selector:"abp-roles",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Roles\' | abpLocalization }}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::RoleName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewRole\') | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(M.getRoles),g("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(M.getRolesTotalCount),g("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var k=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(M.getRoles);return e&&e.length?null:this.store.dispatch(new v)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var D=function(){function e(e,t,n){this.confirmationService=e,this.fb=t,this.store=n,this.visiblePermissions=!1,this.pageQuery={sorting:"userName"},this.loading=!1,this.modalBusy=!1,this.trackByFn=function(e,t){return Object.keys(t)[0]||e}}return Object.defineProperty(e.prototype,"roleGroups",{get:function(){var e=this;return p(function(){return e.form.get("roleNames").controls},[])},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.buildForm=function(){var e=this;this.roles=this.store.selectSnapshot(M.getRoles),this.form=this.fb.group({userName:[this.selected.userName||"",[i.Validators.required,i.Validators.maxLength(256)]],email:[this.selected.email||"",[i.Validators.required,i.Validators.email,i.Validators.maxLength(256)]],name:[this.selected.name||"",[i.Validators.maxLength(64)]],surname:[this.selected.surname||"",[i.Validators.maxLength(64)]],phoneNumber:[this.selected.phoneNumber||"",[i.Validators.maxLength(16)]],lockoutEnabled:[this.selected.twoFactorEnabled||!this.selected.id],twoFactorEnabled:[this.selected.twoFactorEnabled||!this.selected.id],roleNames:this.fb.array(this.roles.map(function(t){var n;return e.fb.group(((n={})[t.name]=[!!p(function(){return e.selectedUserRoles.find(function(e){return e.id===t.id})})],n))}))}),this.selected.userName||this.form.addControl("password",new i.FormControl("",[i.Validators.required,i.Validators.maxLength(32)]))},e.prototype.openModal=function(){this.buildForm(),this.isModalVisible=!0},e.prototype.onAdd=function(){this.selected={},this.selectedUserRoles=[],this.openModal()},e.prototype.onEdit=function(e){var t=this;this.store.dispatch(new S(e)).pipe(s.switchMap(function(){return t.store.dispatch(new x(e))}),s.pluck("IdentityState"),s.take(1)).subscribe(function(e){t.selected=e.selectedUser,t.selectedUserRoles=e.selectedUserRoles,t.openModal()})},e.prototype.save=function(){var e=this;if(this.form.valid){this.modalBusy=!0;var t=this.form.value.roleNames,n=p(function(){return t.filter(function(e){return!!e[Object.keys(e)[0]]}).map(function(e){return Object.keys(e)[0]})},[]);this.store.dispatch(this.selected.id?new L(m({},this.form.value,{id:this.selected.id,roleNames:n})):new N(m({},this.form.value,{roleNames:n}))).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1})}},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpIdentity::UserDeletionConfirmationMessage","AbpIdentity::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&n.store.dispatch(new C(e))})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new U(this.pageQuery)).pipe(s.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:t.Component,args:[{selector:"abp-users",template:'
    \n
    \n
    \n
    \n
    {{ \'AbpIdentity::Users\' | abpLocalization }}
    \n
    \n
    \n \n {{ \'AbpIdentity::NewUser\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n {{ \'AbpIdentity::UserName\' | abpLocalization }}\n {{ \'AbpIdentity::EmailAddress\' | abpLocalization }}\n {{ \'AbpIdentity::PhoneNumber\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpIdentity::Actions\' | abpLocalization }}\n \n
    \n \n \n \n
    \n
    \n \n {{ data.userName }}\n {{ data.email }}\n {{ data.phoneNumber }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ (selected?.id ? \'AbpIdentity::Edit\' : \'AbpIdentity::NewUser\') | abpLocalization }}

    \n
    \n\n \n \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n {{\n \'AbpIdentity::Save\' | abpLocalization\n }}\n \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:r.ConfirmationService},{type:i.FormBuilder},{type:o.Store}]},e.propDecorators={modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},f([o.Select(M.getUsers),g("design:type",a.Observable)],e.prototype,"data$",void 0),f([o.Select(M.getUsersTotalCount),g("design:type",a.Observable)],e.prototype,"totalCount$",void 0),e}();var j=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(M.getUsers);return e&&e.length?null:this.store.dispatch(new U)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:o.Store}]},e}();var q,O=[{path:"",redirectTo:"roles",pathMatch:"full"},{path:"roles",component:n.DynamicLayoutComponent,canActivate:[n.AuthGuard,n.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Roles"},children:[{path:"",component:P,resolve:[k]}]},{path:"users",component:n.DynamicLayoutComponent,canActivate:[n.AuthGuard,n.PermissionGuard],data:{requiredPolicy:"AbpIdentity.Users"},children:[{path:"",component:D,resolve:[k,j]}]}],F=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[l.RouterModule.forChild(O)],exports:[l.RouterModule],providers:[k,j]}]}],e}(),T=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[P,D],imports:[o.NgxsModule.forFeature([M]),n.CoreModule,F,d.NgbTabsetModule,r.ThemeSharedModule,u.TableModule,d.NgbDropdownModule,c.PermissionManagementModule,b.NgxValidateCoreModule,y.PerfectScrollbarModule]}]}],e}();!function(e){function t(){}function n(){}function o(){}function r(){}function i(){}function a(){}e.State=t,e.RoleSaveRequest=n,e.RoleItem=o,e.UserItem=r,e.User=i,e.UserSaveRequest=a}(q||(q={})),e.CreateRole=w,e.CreateUser=N,e.DeleteRole=R,e.DeleteUser=C,e.GetRoleById=I,e.GetRoles=v,e.GetUserById=S,e.GetUserRoles=x,e.GetUsers=U,e.IDENTITY_ROUTES={routes:[{name:"AbpUiNavigation::Menu:Administration",path:"",order:1,wrapper:!0},{name:"AbpIdentity::Menu:IdentityManagement",path:"identity",order:1,parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-id-card-o",children:[{path:"roles",name:"AbpIdentity::Roles",order:2,requiredPolicy:"AbpIdentity.Roles"},{path:"users",name:"AbpIdentity::Users",order:1,requiredPolicy:"AbpIdentity.Users"}]}],settings:[]},e.IdentityModule=T,e.IdentityService=z,e.IdentityState=M,e.RoleResolver=k,e.RolesComponent=P,e.RootIdentityModule=h,e.UpdateRole=A,e.UpdateUser=L,e.ɵb=D,e.ɵc=F,e.ɵd=j,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.identity.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map index 4bd3e3e6f5..510fe19420 100644 --- a/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map +++ b/npm/ng-packs/dist/identity/bundles/abp-ng.identity.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","args","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","modalBusy","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","Identity","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","RoleSaveRequest","RoleItem","UserItem","User","UserSaveRequest","order","wrapper","parentName","layout","iconClass"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.identity/lib/root-identity.module.ts","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/models/identity.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","RootIdentityModule","forRoot","ngModule","providers","NgModule","args","GetRoles","payload","type","GetRoleById","DeleteRole","CreateRole","UpdateRole","GetUsers","GetUserById","DeleteUser","CreateUser","UpdateUser","GetUserRoles","IdentityService","rest","getRoles","params","request","method","url","getRoleById","id","deleteRole","createRole","body","updateRole","getUsers","getUserById","getUserRoles","deleteUser","createUser","updateUser","Injectable","providedIn","RestService","IdentityState","identityService","_a","roles","items","getRolesTotalCount","totalCount","users","getUsersTotalCount","_b","patchState","pipe","tap","getRole","selectedRole","dispatch","switchMap","addRole","_this","getState","getUser","selectedUser","addUser","pluck","selectedUserRoles","tslib_1.__decorate","Action","Selector","State","name","defaults","RolesComponent","confirmationService","fb","store","visiblePermissions","pageQuery","sorting","loading","modalBusy","onSearch","value","filter","get","createForm","form","group","FormControl","selected","disabled","isStatic","Validators","required","maxLength","isDefault","isPublic","openModal","isModalVisible","onAdd","onEdit","subscribe","save","valid","delete","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","template","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","RoleResolver","resolve","selectSnapshot","UsersComponent","trackByFn","index","item","keys","snq","buildForm","userName","email","surname","phoneNumber","lockoutEnabled","twoFactorEnabled","roleNames","array","map","role","find","userRole","addControl","take","state","mappedRoleNames","UserResolver","Identity","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","IdentityRoutingModule","imports","RouterModule","forChild","exports","IdentityModule","declarations","NgxsModule","forFeature","CoreModule","NgbTabsetModule","ThemeSharedModule","TableModule","NgbDropdownModule","PermissionManagementModule","NgxValidateCoreModule","PerfectScrollbarModule","RoleSaveRequest","RoleItem","UserItem","User","UserSaveRequest","order","wrapper","parentName","layout","iconClass","settings"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootIdentityModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootIdentityModule,\n providers: [],\n };\n }\n}\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = {\n routes: [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js index 52a29f1f6c..2ccd8a6a10 100644 --- a/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/esm2015/abp-ng.identity.js @@ -5,8 +5,8 @@ /** * Generated bundle index. Do not edit. */ -export { IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; +export { RootIdentityModule, IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; export { UsersComponent as ɵb } from './lib/components/users/users.component'; export { IdentityRoutingModule as ɵc } from './lib/identity-routing.module'; export { UserResolver as ɵd } from './lib/resolvers/users.resolver'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa1BBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc1FBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js index 0e6c70320d..d4dfea58c7 100644 --- a/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js +++ b/npm/ng-packs/dist/identity/esm2015/lib/constants/routes.js @@ -3,24 +3,27 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export const IDENTITY_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLENBQUM7UUFDUixVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELE1BQU0saUNBQXlCO1FBQy9CLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUM1RixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFO1NBQzdGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVMYXlvdXRUeXBlLCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgIHBhdGg6ICdpZGVudGl0eScsXG4gICAgb3JkZXI6IDEsXG4gICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBpY29uQ2xhc3M6ICdmYSBmYS1pZC1jYXJkLW8nLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IHBhdGg6ICdyb2xlcycsIG5hbWU6ICdBYnBJZGVudGl0eTo6Um9sZXMnLCBvcmRlcjogMiwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Sb2xlcycgfSxcbiAgICAgIHsgcGF0aDogJ3VzZXJzJywgbmFtZTogJ0FicElkZW50aXR5OjpVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +export const IDENTITY_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLGVBQWUsR0FBRztJQUM3QixNQUFNLEVBQUUsbUJBQUE7UUFDTjtZQUNFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7UUFDRDtZQUNFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLENBQUM7WUFDUixVQUFVLEVBQUUsc0NBQXNDO1lBQ2xELE1BQU0saUNBQXlCO1lBQy9CLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsUUFBUSxFQUFFO2dCQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzVGLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUU7YUFDN0Y7U0FDRjtLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IElERU5USVRZX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBwYXRoOiAnJyxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgd3JhcHBlcjogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgICAgcGF0aDogJ2lkZW50aXR5JyxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtaWQtY2FyZC1vJyxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHsgcGF0aDogJ3JvbGVzJywgbmFtZTogJ0FicElkZW50aXR5OjpSb2xlcycsIG9yZGVyOiAyLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlJvbGVzJyB9LFxuICAgICAgICB7IHBhdGg6ICd1c2VycycsIG5hbWU6ICdBYnBJZGVudGl0eTo6VXNlcnMnLCBvcmRlcjogMSwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Vc2VycycgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSBhcyBBQlAuRnVsbFJvdXRlW10sXG4gIHNldHRpbmdzOiBbXSxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/lib/root-identity.module.js b/npm/ng-packs/dist/identity/esm2015/lib/root-identity.module.js new file mode 100644 index 0000000000..1c7d2dad4a --- /dev/null +++ b/npm/ng-packs/dist/identity/esm2015/lib/root-identity.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +export class RootIdentityModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootIdentityModule, + providers: [], + }; + } +} +RootIdentityModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1pZGVudGl0eS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jvb3QtaWRlbnRpdHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxNQUFNLE9BQU8sa0JBQWtCOzs7O0lBQzdCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBUEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdElkZW50aXR5TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSb290SWRlbnRpdHlNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm2015/public-api.js b/npm/ng-packs/dist/identity/esm2015/public-api.js index 6863447b22..acd44ac98e 100644 --- a/npm/ng-packs/dist/identity/esm2015/public-api.js +++ b/npm/ng-packs/dist/identity/esm2015/public-api.js @@ -5,6 +5,7 @@ /* * Public API Surface of identity */ +export { RootIdentityModule } from './lib/root-identity.module'; export { IdentityModule } from './lib/identity.module'; export { GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles } from './lib/actions/identity.actions'; export { RolesComponent } from './lib/components/roles/roles.component'; @@ -13,4 +14,4 @@ export {} from './lib/models/identity'; export { RoleResolver } from './lib/resolvers/roles.resolver'; export { IdentityService } from './lib/services/identity.service'; export { IdentityState } from './lib/states/identity.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxtQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtaWRlbnRpdHkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js index 52a29f1f6c..2ccd8a6a10 100644 --- a/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/esm5/abp-ng.identity.js @@ -5,8 +5,8 @@ /** * Generated bundle index. Do not edit. */ -export { IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; +export { RootIdentityModule, IdentityModule, GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles, RolesComponent, IDENTITY_ROUTES, RoleResolver, IdentityService, IdentityState } from './public-api'; export { UsersComponent as ɵb } from './lib/components/users/users.component'; export { IdentityRoutingModule as ɵc } from './lib/identity-routing.module'; export { UserResolver as ɵd } from './lib/resolvers/users.resolver'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa1BBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImFicC1uZy5pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc1FBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VXNlcnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0lkZW50aXR5Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2lkZW50aXR5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SWRlbnRpdHkgYXMgybVhfSBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0IHtVc2VyUmVzb2x2ZXIgYXMgybVkfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdXNlcnMucmVzb2x2ZXInOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js b/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js index 5459cdc50c..9303465e8e 100644 --- a/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js +++ b/npm/ng-packs/dist/identity/esm5/lib/constants/routes.js @@ -3,24 +3,27 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export var IDENTITY_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLGVBQWUsR0FBRyxtQkFBQTtJQUM3QjtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLENBQUM7UUFDUixVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELE1BQU0saUNBQXlCO1FBQy9CLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRTtZQUM1RixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFO1NBQzdGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVMYXlvdXRUeXBlLCBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgcGF0aDogJycsXG4gICAgb3JkZXI6IDEsXG4gICAgd3JhcHBlcjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgIHBhdGg6ICdpZGVudGl0eScsXG4gICAgb3JkZXI6IDEsXG4gICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcbiAgICBpY29uQ2xhc3M6ICdmYSBmYS1pZC1jYXJkLW8nLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IHBhdGg6ICdyb2xlcycsIG5hbWU6ICdBYnBJZGVudGl0eTo6Um9sZXMnLCBvcmRlcjogMiwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Sb2xlcycgfSxcbiAgICAgIHsgcGF0aDogJ3VzZXJzJywgbmFtZTogJ0FicElkZW50aXR5OjpVc2VycycsIG9yZGVyOiAxLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlVzZXJzJyB9LFxuICAgIF0sXG4gIH0sXG5dIGFzIEFCUC5GdWxsUm91dGVbXTtcbiJdfQ== \ No newline at end of file +export var IDENTITY_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5pZGVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLGVBQWUsR0FBRztJQUM3QixNQUFNLEVBQUUsbUJBQUE7UUFDTjtZQUNFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7UUFDRDtZQUNFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLENBQUM7WUFDUixVQUFVLEVBQUUsc0NBQXNDO1lBQ2xELE1BQU0saUNBQXlCO1lBQy9CLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsUUFBUSxFQUFFO2dCQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzVGLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUU7YUFDN0Y7U0FDRjtLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IElERU5USVRZX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBwYXRoOiAnJyxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgd3JhcHBlcjogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdBYnBJZGVudGl0eTo6TWVudTpJZGVudGl0eU1hbmFnZW1lbnQnLFxuICAgICAgcGF0aDogJ2lkZW50aXR5JyxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtaWQtY2FyZC1vJyxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHsgcGF0aDogJ3JvbGVzJywgbmFtZTogJ0FicElkZW50aXR5OjpSb2xlcycsIG9yZGVyOiAyLCByZXF1aXJlZFBvbGljeTogJ0FicElkZW50aXR5LlJvbGVzJyB9LFxuICAgICAgICB7IHBhdGg6ICd1c2VycycsIG5hbWU6ICdBYnBJZGVudGl0eTo6VXNlcnMnLCBvcmRlcjogMSwgcmVxdWlyZWRQb2xpY3k6ICdBYnBJZGVudGl0eS5Vc2VycycgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSBhcyBBQlAuRnVsbFJvdXRlW10sXG4gIHNldHRpbmdzOiBbXSxcbn07XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/lib/root-identity.module.js b/npm/ng-packs/dist/identity/esm5/lib/root-identity.module.js new file mode 100644 index 0000000000..294c5c6ca4 --- /dev/null +++ b/npm/ng-packs/dist/identity/esm5/lib/root-identity.module.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +var RootIdentityModule = /** @class */ (function () { + function RootIdentityModule() { + } + /** + * @return {?} + */ + RootIdentityModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootIdentityModule, + providers: [], + }; + }; + RootIdentityModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootIdentityModule; +}()); +export { RootIdentityModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1pZGVudGl0eS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLmlkZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3Jvb3QtaWRlbnRpdHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RDtJQUFBO0lBUUEsQ0FBQzs7OztJQU5RLDBCQUFPOzs7SUFBZDtRQUNFLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7O2dCQVBGLFFBQVEsU0FBQyxFQUFFOztJQVFaLHlCQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFJvb3RJZGVudGl0eU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdElkZW50aXR5TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/esm5/public-api.js b/npm/ng-packs/dist/identity/esm5/public-api.js index 6863447b22..acd44ac98e 100644 --- a/npm/ng-packs/dist/identity/esm5/public-api.js +++ b/npm/ng-packs/dist/identity/esm5/public-api.js @@ -5,6 +5,7 @@ /* * Public API Surface of identity */ +export { RootIdentityModule } from './lib/root-identity.module'; export { IdentityModule } from './lib/identity.module'; export { GetRoles, GetRoleById, DeleteRole, CreateRole, UpdateRole, GetUsers, GetUserById, DeleteUser, CreateUser, UpdateUser, GetUserRoles } from './lib/actions/identity.actions'; export { RolesComponent } from './lib/components/roles/roles.component'; @@ -13,4 +14,4 @@ export {} from './lib/models/identity'; export { RoleResolver } from './lib/resolvers/roles.resolver'; export { IdentityService } from './lib/services/identity.service'; export { IdentityState } from './lib/states/identity.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuaWRlbnRpdHkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxtQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxtSkFBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyx3Q0FBd0MsQ0FBQztBQUN2RCxnQ0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLHVCQUF1QixDQUFDO0FBQ3RDLDZCQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZGVudGl0eVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtaWRlbnRpdHkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lkZW50aXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL2lkZW50aXR5LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3JvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzL3JvbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGVzL2lkZW50aXR5LnN0YXRlJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js index 57a5f31b70..ae9c547f08 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js @@ -1,5 +1,5 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild } from '@angular/core'; import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata } from 'tslib'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; @@ -14,6 +14,25 @@ import { TableModule } from 'primeng/table'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootIdentityModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootIdentityModule, + providers: [], + }; + } +} +RootIdentityModule.decorators = [ + { type: NgModule, args: [{},] } +]; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1238,26 +1257,29 @@ IdentityModule.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -const IDENTITY_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, -])); +const IDENTITY_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -1371,5 +1393,5 @@ var Identity; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; +export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, RootIdentityModule, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map index 7e7ab82947..c5795fcb71 100644 --- a/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm2015/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/root-identity.module.ts","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootIdentityModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootIdentityModule,\n providers: [],\n };\n }\n}\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = {\n routes: [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js index 114f1ce534..1e1814a7b0 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js @@ -1,5 +1,5 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild } from '@angular/core'; import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __assign, __decorate, __metadata } from 'tslib'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; @@ -14,6 +14,31 @@ import { TableModule } from 'primeng/table'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootIdentityModule = /** @class */ (function () { + function RootIdentityModule() { + } + /** + * @return {?} + */ + RootIdentityModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootIdentityModule, + providers: [], + }; + }; + RootIdentityModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootIdentityModule; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1448,26 +1473,29 @@ var IdentityModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -var IDENTITY_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpUiNavigation::Menu:Administration', - path: '', - order: 1, - wrapper: true, - }, - { - name: 'AbpIdentity::Menu:IdentityManagement', - path: 'identity', - order: 1, - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-id-card-o', - children: [ - { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, - { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, - ], - }, -])); +var IDENTITY_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpUiNavigation::Menu:Administration', + path: '', + order: 1, + wrapper: true, + }, + { + name: 'AbpIdentity::Menu:IdentityManagement', + path: 'identity', + order: 1, + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-id-card-o', + children: [ + { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' }, + { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' }, + ], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -1581,5 +1609,5 @@ var Identity; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; +export { CreateRole, CreateUser, DeleteRole, DeleteUser, GetRoleById, GetRoles, GetUserById, GetUserRoles, GetUsers, IDENTITY_ROUTES, IdentityModule, IdentityService, IdentityState, RoleResolver, RolesComponent, RootIdentityModule, UpdateRole, UpdateUser, UsersComponent as ɵb, IdentityRoutingModule as ɵc, UserResolver as ɵd }; //# sourceMappingURL=abp-ng.identity.js.map diff --git a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map index 058d951806..3dfa266a36 100644 --- a/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map +++ b/npm/ng-packs/dist/identity/fesm5/abp-ng.identity.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.identity.js","sources":["ng://@abp/ng.identity/lib/root-identity.module.ts","ng://@abp/ng.identity/lib/actions/identity.actions.ts","ng://@abp/ng.identity/lib/services/identity.service.ts","ng://@abp/ng.identity/lib/states/identity.state.ts","ng://@abp/ng.identity/lib/components/roles/roles.component.ts","ng://@abp/ng.identity/lib/resolvers/roles.resolver.ts","ng://@abp/ng.identity/lib/components/users/users.component.ts","ng://@abp/ng.identity/lib/resolvers/users.resolver.ts","ng://@abp/ng.identity/lib/identity-routing.module.ts","ng://@abp/ng.identity/lib/identity.module.ts","ng://@abp/ng.identity/lib/constants/routes.ts","ng://@abp/ng.identity/lib/models/identity.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootIdentityModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootIdentityModule,\n providers: [],\n };\n }\n}\n","import { Identity } from '../models/identity';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetRoles {\n static readonly type = '[Identity] Get Roles';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetRoleById {\n static readonly type = '[Identity] Get Role By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteRole {\n static readonly type = '[Identity] Delete Role';\n constructor(public payload: string) {}\n}\n\nexport class CreateRole {\n static readonly type = '[Identity] Create Role';\n constructor(public payload: Identity.RoleSaveRequest) {}\n}\n\nexport class UpdateRole {\n static readonly type = '[Identity] Update Role';\n constructor(public payload: Identity.RoleItem) {}\n}\n\nexport class GetUsers {\n static readonly type = '[Identity] Get Users';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetUserById {\n static readonly type = '[Identity] Get User By Id';\n constructor(public payload: string) {}\n}\n\nexport class DeleteUser {\n static readonly type = '[Identity] Delete User';\n constructor(public payload: string) {}\n}\n\nexport class CreateUser {\n static readonly type = '[Identity] Create User';\n constructor(public payload: Identity.UserSaveRequest) {}\n}\n\nexport class UpdateUser {\n static readonly type = '[Identity] Update User';\n constructor(public payload: Identity.UserSaveRequest & { id: string }) {}\n}\n\nexport class GetUserRoles {\n static readonly type = '[Identity] Get User Roles';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { Identity } from '../models/identity';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityService {\n constructor(private rest: RestService) {}\n\n getRoles(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/roles',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getRoleById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteRole(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/roles/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createRole(body: Identity.RoleSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/roles',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateRole(body: Identity.RoleItem): Observable {\n const url = `/api/identity/roles/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getUsers(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/identity/users',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getUserById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n getUserRoles(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/identity/users/${id}/roles`,\n };\n\n return this.rest.request(request);\n }\n\n deleteUser(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/identity/users/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createUser(body: Identity.UserSaveRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: '/api/identity/users',\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateUser(body: Identity.UserItem): Observable {\n const url = `/api/identity/users/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap, pluck } from 'rxjs/operators';\nimport {\n CreateRole,\n CreateUser,\n DeleteRole,\n DeleteUser,\n GetRoleById,\n GetRoles,\n GetUserById,\n GetUsers,\n UpdateRole,\n UpdateUser,\n GetUserRoles,\n} from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityService } from '../services/identity.service';\n\n@State({\n name: 'IdentityState',\n defaults: { roles: {}, selectedRole: {}, users: {}, selectedUser: {} } as Identity.State,\n})\nexport class IdentityState {\n @Selector()\n static getRoles({ roles }: Identity.State): Identity.RoleItem[] {\n return roles.items;\n }\n\n @Selector()\n static getRolesTotalCount({ roles }: Identity.State): number {\n return roles.totalCount;\n }\n\n @Selector()\n static getUsers({ users }: Identity.State): Identity.UserItem[] {\n return users.items;\n }\n\n @Selector()\n static getUsersTotalCount({ users }: Identity.State): number {\n return users.totalCount;\n }\n\n constructor(private identityService: IdentityService) {}\n\n @Action(GetRoles)\n getRoles({ patchState }: StateContext, { payload }: GetRoles) {\n return this.identityService.getRoles(payload).pipe(\n tap(roles =>\n patchState({\n roles,\n }),\n ),\n );\n }\n\n @Action(GetRoleById)\n getRole({ patchState }: StateContext, { payload }: GetRoleById) {\n return this.identityService.getRoleById(payload).pipe(\n tap(selectedRole =>\n patchState({\n selectedRole,\n }),\n ),\n );\n }\n\n @Action(DeleteRole)\n deleteRole({ dispatch }: StateContext, { payload }: GetRoleById) {\n return this.identityService.deleteRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(CreateRole)\n addRole({ dispatch }: StateContext, { payload }: CreateRole) {\n return this.identityService.createRole(payload).pipe(switchMap(() => dispatch(new GetRoles())));\n }\n\n @Action(UpdateRole)\n updateRole({ getState, dispatch }: StateContext, { payload }: UpdateRole) {\n return dispatch(new GetRoleById(payload.id)).pipe(\n switchMap(() => this.identityService.updateRole({ ...getState().selectedRole, ...payload })),\n switchMap(() => dispatch(new GetRoles())),\n );\n }\n\n @Action(GetUsers)\n getUsers({ patchState }: StateContext, { payload }: GetUsers) {\n return this.identityService.getUsers(payload).pipe(\n tap(users =>\n patchState({\n users,\n }),\n ),\n );\n }\n\n @Action(GetUserById)\n getUser({ patchState }: StateContext, { payload }: GetUserById) {\n return this.identityService.getUserById(payload).pipe(\n tap(selectedUser =>\n patchState({\n selectedUser,\n }),\n ),\n );\n }\n\n @Action(DeleteUser)\n deleteUser({ dispatch }: StateContext, { payload }: GetUserById) {\n return this.identityService.deleteUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(CreateUser)\n addUser({ dispatch }: StateContext, { payload }: CreateUser) {\n return this.identityService.createUser(payload).pipe(switchMap(() => dispatch(new GetUsers())));\n }\n\n @Action(UpdateUser)\n updateUser({ getState, dispatch }: StateContext, { payload }: UpdateUser) {\n return dispatch(new GetUserById(payload.id)).pipe(\n switchMap(() => this.identityService.updateUser({ ...getState().selectedUser, ...payload })),\n switchMap(() => dispatch(new GetUsers())),\n );\n }\n\n @Action(GetUserRoles)\n getUserRoles({ patchState }: StateContext, { payload }: GetUserRoles) {\n return this.identityService.getUserRoles(payload).pipe(\n pluck('items'),\n tap(selectedUserRoles =>\n patchState({\n selectedUserRoles,\n }),\n ),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck } from 'rxjs/operators';\nimport { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole } from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent {\n @Select(IdentityState.getRoles)\n data$: Observable;\n\n @Select(IdentityState.getRolesTotalCount)\n totalCount$: Observable;\n\n form: FormGroup;\n\n selected: Identity.RoleItem;\n\n isModalVisible: boolean;\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n createForm() {\n this.form = this.fb.group({\n name: new FormControl({ value: this.selected.name || '', disabled: this.selected.isStatic }, [\n Validators.required,\n Validators.maxLength(256),\n ]),\n isDefault: [this.selected.isDefault || false],\n isPublic: [this.selected.isPublic || false],\n });\n }\n\n openModal() {\n this.createForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.RoleItem;\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetRoleById(id))\n .pipe(pluck('IdentityState', 'selectedRole'))\n .subscribe(selectedRole => {\n this.selected = selectedRole;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateRole({ ...this.form.value, id: this.selected.id })\n : new CreateRole(this.form.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteRole(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetRoles(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetRoles } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class RoleResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const roles = this.store.selectSnapshot(IdentityState.getRoles);\n return roles && roles.length ? null : this.store.dispatch(new GetRoles());\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport snq from 'snq';\nimport {\n CreateUser,\n DeleteUser,\n GetUserById,\n GetUserRoles,\n GetUsers,\n UpdateUser,\n} from '../../actions/identity.actions';\nimport { Identity } from '../../models/identity';\nimport { IdentityState } from '../../states/identity.state';\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n})\nexport class UsersComponent {\n @Select(IdentityState.getUsers)\n data$: Observable;\n\n @Select(IdentityState.getUsersTotalCount)\n totalCount$: Observable;\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n selected: Identity.UserItem;\n\n selectedUserRoles: Identity.RoleItem[];\n\n roles: Identity.RoleItem[];\n\n visiblePermissions: boolean = false;\n\n providerKey: string;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'userName',\n };\n\n isModalVisible: boolean;\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index;\n\n get roleGroups(): FormGroup[] {\n return snq(() => (this.form.get('roleNames') as FormArray).controls as FormGroup[], []);\n }\n\n constructor(private confirmationService: ConfirmationService, private fb: FormBuilder, private store: Store) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n buildForm() {\n this.roles = this.store.selectSnapshot(IdentityState.getRoles);\n this.form = this.fb.group({\n userName: [this.selected.userName || '', [Validators.required, Validators.maxLength(256)]],\n email: [this.selected.email || '', [Validators.required, Validators.email, Validators.maxLength(256)]],\n name: [this.selected.name || '', [Validators.maxLength(64)]],\n surname: [this.selected.surname || '', [Validators.maxLength(64)]],\n phoneNumber: [this.selected.phoneNumber || '', [Validators.maxLength(16)]],\n lockoutEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n twoFactorEnabled: [this.selected.twoFactorEnabled || (this.selected.id ? false : true)],\n roleNames: this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [!!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))],\n }),\n ),\n ),\n });\n if (!this.selected.userName) {\n this.form.addControl('password', new FormControl('', [Validators.required, Validators.maxLength(32)]));\n }\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n onAdd() {\n this.selected = {} as Identity.UserItem;\n this.selectedUserRoles = [] as Identity.RoleItem[];\n this.openModal();\n }\n\n onEdit(id: string) {\n this.store\n .dispatch(new GetUserById(id))\n .pipe(\n switchMap(() => this.store.dispatch(new GetUserRoles(id))),\n pluck('IdentityState'),\n take(1),\n )\n .subscribe((state: Identity.State) => {\n this.selected = state.selectedUser;\n this.selectedUserRoles = state.selectedUserRoles;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { roleNames } = this.form.value;\n const mappedRoleNames = snq(\n () => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]),\n [],\n );\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateUser({\n ...this.form.value,\n id: this.selected.id,\n roleNames: mappedRoleNames,\n })\n : new CreateUser({\n ...this.form.value,\n roleNames: mappedRoleNames,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteUser(id));\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetUsers(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetUsers } from '../actions/identity.actions';\nimport { Identity } from '../models/identity';\nimport { IdentityState } from '../states/identity.state';\n\n@Injectable()\nexport class UserResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const users = this.store.selectSnapshot(IdentityState.getUsers);\n return users && users.length ? null : this.store.dispatch(new GetUsers());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { RoleResolver } from './resolvers/roles.resolver';\nimport { DynamicLayoutComponent, AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { UsersComponent } from './components/users/users.component';\nimport { UserResolver } from './resolvers/users.resolver';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\n {\n path: 'roles',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Roles' },\n children: [{ path: '', component: RolesComponent, resolve: [RoleResolver] }],\n },\n {\n path: 'users',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpIdentity.Users' },\n children: [\n {\n path: '',\n component: UsersComponent,\n resolve: [RoleResolver, UserResolver],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [RoleResolver, UserResolver],\n})\nexport class IdentityRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { RolesComponent } from './components/roles/roles.component';\nimport { IdentityRoutingModule } from './identity-routing.module';\nimport { IdentityState } from './states/identity.state';\nimport { NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { UsersComponent } from './components/users/users.component';\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\nimport { TableModule } from 'primeng/table';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [RolesComponent, UsersComponent],\n imports: [\n NgxsModule.forFeature([IdentityState]),\n CoreModule,\n IdentityRoutingModule,\n NgbTabsetModule,\n ThemeSharedModule,\n TableModule,\n NgbDropdownModule,\n PermissionManagementModule,\n NgxValidateCoreModule,\n PerfectScrollbarModule,\n ],\n})\nexport class IdentityModule {}\n","import { eLayoutType, ABP } from '@abp/ng.core';\n\nexport const IDENTITY_ROUTES = {\n routes: [\n {\n name: 'AbpUiNavigation::Menu:Administration',\n path: '',\n order: 1,\n wrapper: true,\n },\n {\n name: 'AbpIdentity::Menu:IdentityManagement',\n path: 'identity',\n order: 1,\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-id-card-o',\n children: [\n { path: 'roles', name: 'AbpIdentity::Roles', order: 2, requiredPolicy: 'AbpIdentity.Roles' },\n { path: 'users', name: 'AbpIdentity::Users', order: 1, requiredPolicy: 'AbpIdentity.Users' },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace Identity {\n export interface State {\n roles: RoleResponse;\n users: UserResponse;\n selectedRole: RoleItem;\n selectedUser: UserItem;\n selectedUserRoles: RoleItem[];\n }\n\n export type RoleResponse = ABP.PagedResponse;\n\n export interface RoleSaveRequest {\n name: string;\n isDefault: boolean;\n isPublic: boolean;\n }\n\n export interface RoleItem extends RoleSaveRequest {\n isStatic: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export type UserResponse = ABP.PagedResponse;\n\n export interface UserItem extends User {\n tenantId: string;\n emailConfirmed: boolean;\n phoneNumberConfirmed: boolean;\n isLockedOut: boolean;\n concurrencyStamp: string;\n id: string;\n }\n\n export interface User {\n userName: string;\n name: string;\n surname: string;\n email: string;\n phoneNumber: string;\n twoFactorEnabled: true;\n lockoutEnabled: true;\n }\n\n export interface UserSaveRequest extends User {\n password: string;\n roleNames: string[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/identity/lib/constants/routes.d.ts b/npm/ng-packs/dist/identity/lib/constants/routes.d.ts index 9fe0a8c565..9d60f8f0d5 100644 --- a/npm/ng-packs/dist/identity/lib/constants/routes.d.ts +++ b/npm/ng-packs/dist/identity/lib/constants/routes.d.ts @@ -1,2 +1,5 @@ import { ABP } from '@abp/ng.core'; -export declare const IDENTITY_ROUTES: ABP.FullRoute[]; +export declare const IDENTITY_ROUTES: { + routes: ABP.FullRoute[]; + settings: any[]; +}; diff --git a/npm/ng-packs/dist/identity/lib/root-identity.module.d.ts b/npm/ng-packs/dist/identity/lib/root-identity.module.d.ts new file mode 100644 index 0000000000..4729506ce6 --- /dev/null +++ b/npm/ng-packs/dist/identity/lib/root-identity.module.d.ts @@ -0,0 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; +export declare class RootIdentityModule { + static forRoot(): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/identity/public-api.d.ts b/npm/ng-packs/dist/identity/public-api.d.ts index f6ead168bc..1d8e510195 100644 --- a/npm/ng-packs/dist/identity/public-api.d.ts +++ b/npm/ng-packs/dist/identity/public-api.d.ts @@ -1,3 +1,4 @@ +export * from './lib/root-identity.module'; export * from './lib/identity.module'; export * from './lib/actions/identity.actions'; export * from './lib/components/roles/roles.component'; diff --git a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json index 81ad357603..67781c7e2e 100644 --- a/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json +++ b/npm/ng-packs/dist/permission-management/abp-ng.permission-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":88,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":88,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"isGrantedByRole":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/permission-management.state"}],"metadata":{"RootPermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":2,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"RootPermissionManagementModule"},"providers":[]}}}},"PermissionManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":10,"character":12},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":10,"character":24},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":10,"character":43},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"ngx-perfect-scrollbar","name":"PerfectScrollbarModule","line":10,"character":95}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"abp-permission-management","template":"\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n"}]}],"members":{"providerName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"providerKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"groups$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":52,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getPermissionGroups"}]}]}],"entityName$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":55,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getEntitiyDisplayName"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":88,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":88,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"isGrantedByRole":[{"__symbolic":"method"}],"onClickCheckbox":[{"__symbolic":"method"}],"setTabCheckboxState":[{"__symbolic":"method"}],"setGrantCheckboxState":[{"__symbolic":"method"}],"onClickSelectThisTab":[{"__symbolic":"method"}],"onClickSelectAll":[{"__symbolic":"method"}],"onChangeGroup":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"initModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"PermissionManagementState","defaults":{"permissionRes":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"permissionManagementGet":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"permissionManagementUpdate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":34,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}]},"statics":{"getPermissionGroups":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"groups"},"right":[]}},"getEntitiyDisplayName":{"__symbolic":"function","parameters":["permissionRes"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"permissionRes"},"member":"entityDisplayName"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getPermissions":[{"__symbolic":"method"}],"updatePermissions":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵf"},"member":"GrantedProvider"}]}]},"statics":{"type":"[PermissionManagement] Get Permissions"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":30,"module":"./lib/actions/permission-management.actions"}]}]},"statics":{"type":"[PermissionManagement] Update Permissions"}}},"origins":{"RootPermissionManagementModule":"./lib/root-permission-management.module","PermissionManagementModule":"./lib/permission-management.module","ɵa":"./lib/components/permission-management.component","ɵb":"./lib/states/permission-management.state","ɵc":"./lib/services/permission-management.service","ɵd":"./lib/actions/permission-management.actions","ɵe":"./lib/actions/permission-management.actions","ɵf":"./lib/models/permission-management"},"importAs":"@abp/ng.permission-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js index e77395058c..d3d04be1cb 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@angular/core'), require('@ngxs/store'), require('rxjs'), require('rxjs/operators'), require('ngx-perfect-scrollbar')) : - typeof define === 'function' && define.amd ? define('@abp/ng.permission-management', ['exports', '@abp/ng.core', '@abp/ng.theme.shared', '@angular/core', '@ngxs/store', 'rxjs', 'rxjs/operators', 'ngx-perfect-scrollbar'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['permission-management'] = {}), global.ng_core, global.ng_theme_shared, global.ng.core, global.store, global.rxjs, global.rxjs.operators, global.ngxPerfectScrollbar)); -}(this, function (exports, ng_core, ng_theme_shared, core, store, rxjs, operators, ngxPerfectScrollbar) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@ngxs/store'), require('rxjs'), require('rxjs/operators'), require('ngx-perfect-scrollbar')) : + typeof define === 'function' && define.amd ? define('@abp/ng.permission-management', ['exports', '@angular/core', '@abp/ng.core', '@abp/ng.theme.shared', '@ngxs/store', 'rxjs', 'rxjs/operators', 'ngx-perfect-scrollbar'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['permission-management'] = {}), global.ng.core, global.ng_core, global.ng_theme_shared, global.store, global.rxjs, global.rxjs.operators, global.ngxPerfectScrollbar)); +}(this, function (exports, core, ng_core, ng_theme_shared, store, rxjs, operators, ngxPerfectScrollbar) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -201,6 +201,31 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootPermissionManagementModule = /** @class */ (function () { + function RootPermissionManagementModule() { + } + /** + * @return {?} + */ + RootPermissionManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + }; + RootPermissionManagementModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootPermissionManagementModule; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -688,7 +713,7 @@ /** * @return {?} */ - PermissionManagementComponent.prototype.onSubmit = /** + PermissionManagementComponent.prototype.submit = /** * @return {?} */ function () { @@ -793,7 +818,7 @@ PermissionManagementComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -1007,6 +1032,7 @@ exports.PermissionManagementModule = PermissionManagementModule; exports.PermissionManagementService = PermissionManagementService; exports.PermissionManagementState = PermissionManagementState; + exports.RootPermissionManagementModule = RootPermissionManagementModule; exports.UpdatePermissions = UpdatePermissions; exports.ɵa = PermissionManagementComponent; exports.ɵb = PermissionManagementState; diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map index 9f01b5311e..b221849c1f 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","NgModule","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACjMD;QAEE,wBAAmB,OAA6C;YAA7C,YAAO,GAAP,OAAO,CAAsC;SAAI;QADpD,mBAAI,GAAG,wCAAwC,CAAC;QAElE,qBAAC;KAHD,IAGC;;;QAFC,oBAAgE;;QACpD,iCAAoD;;AAGlE;QAEE,2BAAmB,OAAkF;YAAlF,YAAO,GAAP,OAAO,CAA2E;SAAI;QADzF,sBAAI,GAAG,2CAA2C,CAAC;QAErE,wBAAC;KAHD,IAGC;;;QAFC,uBAAmE;;QACvD,oCAAyF;;;;;;;ACTvG;QASE,qCAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;SAAI;;;;;QAEzC,oDAAc;;;;QAAd,UAAe,MAA4C;;gBACnD,OAAO,GAAuD;gBAClE,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,sBAAsB;gBAC3B,MAAM,QAAA;aACP;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsE,OAAO,CAAC,CAAC;SACxG;;;;;QAED,uDAAiB;;;;QAAjB,UAAkB,EAI0D;gBAH1E,4BAAW,EACX,4BAAW,EACX,8BAAY;;gBAEN,OAAO,GAAqD;gBAChE,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,sBAAsB;gBAC3B,IAAI,EAAE,EAAE,WAAW,aAAA,EAAE;gBACrB,MAAM,EAAE,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE;aACtC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2C,OAAO,CAAC,CAAC;SAC7E;;oBA7BFA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBANQC,mBAAW;;;0CADpB;KAKA,IA8BC;;;;;;QA1Ba,2CAAyB;;;;;;;;QCYrC,mCAAoB,2BAAwD;YAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;SAAI;;;;;QATzE,6CAAmB;;;;QAA1B,UAA2B,EAA6C;gBAA3C,gCAAa;YACxC,OAAO,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;SACnC;;;;;QAGM,+CAAqB;;;;QAA5B,UAA6B,EAA6C;gBAA3C,gCAAa;YAC1C,OAAO,aAAa,CAAC,iBAAiB,CAAC;SACxC;;;;;;QAKD,2DAAuB;;;;;QAAvB,UAAwB,EAAwD,EAAE,EAA2B;gBAAnF,0BAAU;gBAAgD,oBAAO;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAClEC,aAAG;;;;YAAC,UAAA,kBAAkB;gBACpB,OAAA,UAAU,CAAC;oBACT,aAAa,EAAE,kBAAkB;iBAClC,CAAC;aAAA,EACH,CACF,CAAC;SACH;;;;;;QAGD,8DAA0B;;;;;QAA1B,UAA2B,CAAC,EAAE,EAA8B;gBAA5B,oBAAO;YACrC,OAAO,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACpE;QAbDC;YADCC,YAAM,CAAC,cAAc,CAAC;;qDACwE,cAAc;;gFAQ5G;QAGDD;YADCC,YAAM,CAAC,iBAAiB,CAAC;;qDACiB,iBAAiB;;mFAE3D;QAzBDD;YADCE,cAAQ,EAAE;;;;kEAGV;QAGDF;YADCE,cAAQ,EAAE;;;;oEAGV;QATU,yBAAyB;YAJrCC,WAAK,CAA6B;gBACjC,IAAI,EAAE,2BAA2B;gBACjC,QAAQ,qBAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAA8B;aAC9D,CAAC;6CAYiD,2BAA2B;WAXjE,yBAAyB,CA4BrC;QAAD,gCAAC;KAAA,IAAA;;;;;;QAjBa,gEAAgE;;;;;;;;QCmE5E,uCAAoB,KAAY,EAAU,QAAmB;YAAzC,UAAK,GAAL,KAAK,CAAO;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAtC7D,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAU5C,gBAAW,GAAsC,EAAE,CAAC;YAEpD,kBAAa,GAAY,KAAK,CAAC;YAE/B,iBAAY,GAAY,KAAK,CAAC;YAE9B,cAAS,GAAY,KAAK,CAAC;YAE3B,cAAS;;;;;YAAgD,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,GAAA,EAAC;SAoBf;QAvDjE,sBACI,kDAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAc;gBACxB,IAAI,CAAC,IAAI,CAAC,aAAa;oBAAE,OAAO;gBAEhC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE/B,IAAI,CAAC,KAAK,EAAE;oBACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;aACF;;;WAXA;QAkCD,sBAAI,oEAAyB;;;;YAA7B;gBAAA,iBAgBC;gBAfC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtBC,aAAG;;;;gBAAC,UAAA,MAAM;oBACR,OAAA,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;;;;oBAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,IAAI,KAAK,KAAI,CAAC,aAAa,CAAC,IAAI,GAAA,EAAC,CAAC,WAAW,GAAG,EAAE;iBAAA,EACnG,EACDA,aAAG;;;;gBAA4D,UAAA,WAAW;oBACxE,OAAA,WAAW,CAAC,GAAG;;;;oBACb,UAAA,UAAU;wBACR,4DACK,UAAU,IACb,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3C,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,IAAI;;;;4BAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,GAAA,EAAC,CAAC,SAAS;qBAC/C,EACrC;iBAAA,EACF,CACF,CAAC;aACH;;;WAAA;;;;QAID,gDAAQ;;;QAAR,eAAmB;;;;;QAEnB,kDAAU;;;;QAAV,UAAW,IAAY;YACrB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;;;;YAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;SAC5F;;;;;QAED,uDAAe;;;;QAAf,UAAgB,gBAAwD;YACtE,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,OAAO,gBAAgB,CAAC,SAAS;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,KAAK,MAAM,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;aACxE;YACD,OAAO,KAAK,CAAC;SACd;;;;;;QAED,uDAAe;;;;;QAAf,UAAgB,iBAAkD,EAAE,KAAK;YAAzE,iBAmBC;YAlBC,IAAI,iBAAiB,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBAAE,OAAO;YAEpG,UAAU;;;YAAC;gBACT,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG;;;;gBAAC,UAAA,GAAG;oBACzC,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE;wBACvC,oBAAY,GAAG,IAAE,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAG;qBAC9C;yBAAM,IAAI,iBAAiB,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,IAAI,iBAAiB,CAAC,SAAS,EAAE;wBACnF,oBAAY,GAAG,IAAE,SAAS,EAAE,KAAK,IAAG;qBACrC;yBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;wBACpF,oBAAY,GAAG,IAAE,SAAS,EAAE,IAAI,IAAG;qBACpC;oBAED,OAAO,GAAG,CAAC;iBACZ,EAAC,CAAC;gBAEH,KAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,KAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B,GAAE,CAAC,CAAC,CAAC;SACP;;;;QAED,2DAAmB;;;QAAnB;YAAA,iBAeC;YAdC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,WAAW;;oBAC1D,mBAAmB,GAAG,WAAW,CAAC,MAAM;;;;gBAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,SAAS,GAAA,EAAC;;oBAC9D,OAAO,sBAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAO;gBAEzE,IAAI,mBAAmB,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;oBACrD,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;qBAAM,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3C,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;qBAAM;oBACL,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC9B;aACF,EAAC,CAAC;SACJ;;;;QAED,6DAAqB;;;QAArB;;gBACQ,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;;;;YAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,SAAS,GAAA,EAAC;;gBACtE,eAAe,sBAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAO;YAEhF,IAAI,sBAAsB,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBAC7D,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBAAM,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;iBAAM;gBACL,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;aACtC;SACF;;;;QAED,4DAAoB;;;QAApB;YAAA,iBAgBC;YAfC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAACA,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,WAAW;gBAChE,WAAW,CAAC,OAAO;;;;gBAAC,UAAA,UAAU;oBAC5B,IAAI,UAAU,CAAC,SAAS,IAAI,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;wBAAE,OAAO;;wBAEhF,KAAK,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS;;;;oBAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,GAAA,EAAC;oBAE7E,KAAI,CAAC,WAAW,YACX,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;qCAC9B,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAE,SAAS,EAAE,CAAC,KAAI,CAAC,aAAa;uBACzD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CACrC,CAAC;iBACH,EAAC,CAAC;aACJ,EAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;;;;QAED,wDAAgB;;;QAAhB;YAAA,iBAIC;YAHC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;;;;YAAC,UAAA,UAAU,IAAI,qBAAM,UAAU,IAAE,SAAS,EAAE,CAAC,KAAI,CAAC,YAAY,OAAG,EAAC,CAAC;YAE1G,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;SACzC;;;;;QAED,qDAAa;;;;QAAb,UAAc,KAAiC;YAC7C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;;;;QAED,gDAAQ;;;QAAR;YAAA,iBA6BC;YA5BC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAChB,oBAAoB,GAAG,cAAc,CACzC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CACzE;;gBAEK,kBAAkB,GAA6C,IAAI,CAAC,WAAW;iBAClF,MAAM;;;;YAAC,UAAA,GAAG;gBACT,OAAA,oBAAoB,CAAC,IAAI;;;;gBAAC,UAAA,SAAS,IAAI,OAAA,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAA,EAAC,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI;aAAA,EAC/G;iBACA,GAAG;;;;YAAC,UAAC,EAAmB;oBAAjB,cAAI,EAAE,wBAAS;gBAAO,QAAC,EAAE,IAAI,MAAA,EAAE,SAAS,WAAA,EAAE;aAAC,EAAC;YAEtD,IAAI,kBAAkB,CAAC,MAAM,EAAE;gBAC7B,IAAI,CAAC,KAAK;qBACP,QAAQ,CACP,IAAI,iBAAiB,CAAC;oBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,WAAW,EAAE,kBAAkB;iBAChC,CAAC,CACH;qBACA,SAAS;;;gBAAC;oBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;;;QAED,iDAAS;;;QAAT;YAAA,iBAcC;YAbC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAI,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;iBAChG,IAAI,CAACC,eAAK,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;iBACzD,SAAS;;;;YAAC,UAAC,aAA4C;gBACtD,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7C,KAAI,CAAC,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAExD,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB,EAAC,CAAC;SACN;;;;QAED,iDAAS;;;QAAT;YACE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;;;;;QAED,mDAAW;;;;QAAX,UAAY,EAA0B;gBAAxB,oBAAO;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBAjOFC,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;wBACrC,u/HAAqD;qBACtD;;;;oBAZgBC,WAAK;oBAJpBC,cAAS;;;mCAkBRC,UAAK;kCAGLA,UAAK;8BAKLA,UAAK;oCAgBLC,WAAM;;QAIPZ;YADCa,YAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;sCAC7CC,eAAU;sEAA+B;QAGlDd;YADCa,YAAM,CAAC,yBAAyB,CAAC,qBAAqB,CAAC;sCAC3CC,eAAU;0EAAS;QA8LlC,oCAAC;KAlOD,IAkOC;;;QA7NC,qDACqB;;QAErB,oDACoB;;;;;QAEpB,iDAAmB;;QAkBnB,sDAC4C;;QAE5C,gDACkD;;QAElD,oDACgC;;QAEhC,sDAA0C;;QAE1C,oDAAoD;;QAEpD,sDAA+B;;QAE/B,qDAA8B;;QAE9B,kDAA2B;;QAE3B,kDAAgF;;;;;QAoBpE,8CAAoB;;;;;QAAE,iDAA2B;;;;;;;IAgK/D,SAAS,UAAU,CAAC,WAA8C,EAAE,UAA2C;;YACvG,gBAAgB,GAAG,WAAW,CAAC,IAAI;;;;QAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,GAAA,EAAC;QAEpF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,EAAE;;gBAC/C,MAAM,GAAG,EAAE;YACf,QAAQ,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;SAC9D;QAED,OAAO,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC;KAClC;;;;;IAED,SAAS,cAAc,CAAC,MAAoC;QAC1D,OAAO,MAAM,CAAC,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,EAAK,GAAG,CAAC,WAAW,IAAC,GAAE,EAAE,CAAC,CAAC;KACtE;;;;;;ACrQD;QAQA;SAK0C;;oBALzCC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;wBAC7C,OAAO,EAAE,CAACC,kBAAU,EAAEC,iCAAiB,EAAEC,gBAAU,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAEC,0CAAsB,CAAC;wBACpH,OAAO,EAAE,CAAC,6BAA6B,CAAC;qBACzC;;QACwC,iCAAC;KAL1C;;;;;;;;;;;;;;;;ICRA,IAAiB,oBAAoB,CAoCpC;IApCD,WAAiB,oBAAoB;;;;QACnC,oBAEC;;;;YADC,8BAAwB;;;;;QAG1B,uBAGC;;;;YAFC,qCAA0B;;YAC1B,0BAAgB;;;;;QAGlB,oBAIC;;;;YAHC,qBAAa;;YACb,4BAAoB;;YACpB,4BAA0B;;;;;QAG5B,gCAGC;;;;YAFC,iCAAa;;YACb,sCAAmB;;;;;QAGrB,yBAKC;;;;YAJC,iCAAoB;;YACpB,gCAAmB;;YACnB,sCAA2B;;YAC3B,sCAAoC;;;;;QAGtC,8BAGC;;;;YAFC,uCAAqB;;YACrB,sCAAoB;;;;;QAGtB,4BAEC;;;;YADC,oCAAiC;;KAEpC,EApCgB,oBAAoB,KAApB,oBAAoB,QAoCpC;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/root-permission-management.module.ts","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootPermissionManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootPermissionManagementModule,\n providers: [],\n };\n }\n}\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n submit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["NgModule","Injectable","RestService","tap","tslib_1.__decorate","Action","Selector","State","EventEmitter","map","take","pluck","Component","Store","Renderer2","Input","Output","Select","Observable","CoreModule","ThemeSharedModule","NgxsModule","PerfectScrollbarModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js index 2a994c8a21..82f307aaaf 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function p(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n-1},e.prototype.onClickCheckbox=function(e,n){var t=this;e.isGranted&&this.isGrantedByRole(e.grantedProviders)||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!n.isGranted||!e.isGrantedByRole(n.grantedProviders)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.onSubmit=function(){var e=this;this.modalBusy=!0;var n=v(this.store.selectSnapshot(h.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.modalBusy=!1,e.visible=!1}):(this.modalBusy=!1,this.visible=!1)},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new d({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=v(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:i.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:i.Renderer2}]},e.propDecorators={providerName:[{type:i.Input}],providerKey:[{type:i.Input}],visible:[{type:i.Input}],visibleChange:[{type:i.Output}]},l([r.Select(h.getPermissionGroups),p("design:type",s.Observable)],e.prototype,"groups$",void 0),l([r.Select(h.getEntitiyDisplayName),p("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function g(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+g(e,t):t?20:0}function v(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var G,P=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{declarations:[y],imports:[n.CoreModule,t.ThemeSharedModule,r.NgxsModule.forFeature([h]),a.PerfectScrollbarModule],exports:[y]}]}],e}();!function(e){function n(){}function t(){}function i(){}function r(){}function s(){}function o(){}function a(){}e.State=n,e.Response=t,e.Group=i,e.MinimumPermission=r,e.Permission=s,e.GrantedProvider=o,e.UpdateRequest=a}(G||(G={})),e.GetPermissions=d,e.PermissionManagementComponent=y,e.PermissionManagementModule=P,e.PermissionManagementService=f,e.PermissionManagementState=h,e.UpdatePermissions=b,e.ɵa=y,e.ɵb=h,e.ɵc=f,e.ɵd=d,e.ɵe=b,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@ngxs/store"),require("rxjs"),require("rxjs/operators"),require("ngx-perfect-scrollbar")):"function"==typeof define&&define.amd?define("@abp/ng.permission-management",["exports","@angular/core","@abp/ng.core","@abp/ng.theme.shared","@ngxs/store","rxjs","rxjs/operators","ngx-perfect-scrollbar"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["permission-management"]={}),e.ng.core,e.ng_core,e.ng_theme_shared,e.store,e.rxjs,e.rxjs.operators,e.ngxPerfectScrollbar)}(this,function(e,n,t,i,r,s,o,a){"use strict";var c=function(){return(c=Object.assign||function(e){for(var n,t=1,i=arguments.length;t=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(n,t,o):r(n,t))||o);return s>3&&o&&Object.defineProperty(n,t,o),o}function p(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function u(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var i,r,s=t.call(e),o=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],n=0;n-1},e.prototype.onClickCheckbox=function(e,n){var t=this;e.isGranted&&this.isGrantedByRole(e.grantedProviders)||setTimeout(function(){t.permissions=t.permissions.map(function(n){return e.name===n.name?c({},n,{isGranted:!n.isGranted}):e.name===n.parentName&&e.isGranted?c({},n,{isGranted:!1}):e.parentName!==n.name||e.isGranted?n:c({},n,{isGranted:!0})}),t.setTabCheckboxState(),t.setGrantCheckboxState()},0)},e.prototype.setTabCheckboxState=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){var t=n.filter(function(e){return e.isGranted}),i=document.querySelector("#select-all-in-this-tabs");t.length===n.length?(i.indeterminate=!1,e.selectThisTab=!0):0===t.length?(i.indeterminate=!1,e.selectThisTab=!1):i.indeterminate=!0})},e.prototype.setGrantCheckboxState=function(){var e=this.permissions.filter(function(e){return e.isGranted}),n=document.querySelector("#select-all-in-all-tabs");e.length===this.permissions.length?(n.indeterminate=!1,this.selectAllTab=!0):0===e.length?(n.indeterminate=!1,this.selectAllTab=!1):n.indeterminate=!0},e.prototype.onClickSelectThisTab=function(){var e=this;this.selectedGroupPermissions$.pipe(o.take(1)).subscribe(function(n){n.forEach(function(n){if(!n.isGranted||!e.isGrantedByRole(n.grantedProviders)){var t=e.permissions.findIndex(function(e){return e.name===n.name});e.permissions=m(e.permissions.slice(0,t),[c({},e.permissions[t],{isGranted:!e.selectThisTab})],e.permissions.slice(t+1))}})}),this.setGrantCheckboxState()},e.prototype.onClickSelectAll=function(){var e=this;this.permissions=this.permissions.map(function(n){return c({},n,{isGranted:!e.selectAllTab})}),this.selectThisTab=!this.selectAllTab},e.prototype.onChangeGroup=function(e){this.selectedGroup=e,this.setTabCheckboxState()},e.prototype.submit=function(){var e=this;this.modalBusy=!0;var n=G(this.store.selectSnapshot(g.getPermissionGroups)),t=this.permissions.filter(function(e){return n.find(function(n){return n.name===e.name}).isGranted!==e.isGranted}).map(function(e){return{name:e.name,isGranted:e.isGranted}});t.length?this.store.dispatch(new f({providerKey:this.providerKey,providerName:this.providerName,permissions:t})).subscribe(function(){e.modalBusy=!1,e.visible=!1}):(this.modalBusy=!1,this.visible=!1)},e.prototype.openModal=function(){var e=this;if(!this.providerKey||!this.providerName)throw new Error("Provider Key and Provider Name are required.");this.store.dispatch(new b({providerKey:this.providerKey,providerName:this.providerName})).pipe(o.pluck("PermissionManagementState","permissionRes")).subscribe(function(n){e.selectedGroup=n.groups[0],e.permissions=G(n.groups),e.visible=!0})},e.prototype.initModal=function(){this.setTabCheckboxState(),this.setGrantCheckboxState()},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:n.Component,args:[{selector:"abp-permission-management",template:'\n \n \n

    {{ \'AbpPermissionManagement::Permissions\' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.Store},{type:n.Renderer2}]},e.propDecorators={providerName:[{type:n.Input}],providerKey:[{type:n.Input}],visible:[{type:n.Input}],visibleChange:[{type:n.Output}]},l([r.Select(g.getPermissionGroups),p("design:type",s.Observable)],e.prototype,"groups$",void 0),l([r.Select(g.getEntitiyDisplayName),p("design:type",s.Observable)],e.prototype,"entityName$",void 0),e}();function v(e,n){var t=e.find(function(e){return e.name===n.parentName});return t&&t.parentName?20+v(e,t):t?20:0}function G(e){return e.reduce(function(e,n){return m(e,n.permissions)},[])}var P,k=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[y],imports:[t.CoreModule,i.ThemeSharedModule,r.NgxsModule.forFeature([g]),a.PerfectScrollbarModule],exports:[y]}]}],e}();!function(e){function n(){}function t(){}function i(){}function r(){}function s(){}function o(){}function a(){}e.State=n,e.Response=t,e.Group=i,e.MinimumPermission=r,e.Permission=s,e.GrantedProvider=o,e.UpdateRequest=a}(P||(P={})),e.GetPermissions=b,e.PermissionManagementComponent=y,e.PermissionManagementModule=k,e.PermissionManagementService=h,e.PermissionManagementState=g,e.RootPermissionManagementModule=d,e.UpdatePermissions=f,e.ɵa=y,e.ɵb=g,e.ɵc=h,e.ɵd=b,e.ɵe=f,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.permission-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map index 1576ce19da..6d0a556bba 100644 --- a/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map +++ b/npm/ng-packs/dist/permission-management/bundles/abp-ng.permission-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","args","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","modalBusy","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","isGrantedByRole","grantedProviders","findIndex","onClickCheckbox","clickedPermission","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","slice","onClickSelectAll","onChangeGroup","onSubmit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports","Response","Group","MinimumPermission","Permission","GrantedProvider","UpdateRequest"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.permission-management/lib/root-permission-management.module.ts","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","RootPermissionManagementModule","forRoot","ngModule","providers","NgModule","args","GetPermissions","payload","type","UpdatePermissions","PermissionManagementService","rest","getPermissions","params","request","method","url","updatePermissions","_a","body","permissions","providerKey","providerName","Injectable","providedIn","RestService","PermissionManagementState","permissionManagementService","getPermissionGroups","permissionRes","groups","getEntitiyDisplayName","entityDisplayName","permissionManagementGet","_b","patchState","pipe","tap","permissionResponse","permissionManagementUpdate","_","tslib_1.__decorate","Action","Selector","State","name","defaults","PermissionManagementComponent","store","renderer","visibleChange","EventEmitter","selectThisTab","selectAllTab","modalBusy","trackByFn","item","_visible","selectedGroup","emit","_this","groups$","map","find","group","permission","margin","findMargin","isGranted","per","ngOnInit","getChecked","isGrantedByRole","grantedProviders","findIndex","onClickCheckbox","clickedPermission","setTimeout","parentName","setTabCheckboxState","setGrantCheckboxState","selectedGroupPermissions$","take","subscribe","selectedPermissions","filter","element","document","querySelector","indeterminate","selectedAllPermissions","checkboxElement","onClickSelectThisTab","forEach","index","slice","onClickSelectAll","onChangeGroup","submit","unchangedPermissions","selectSnapshot","changedPermissions","unchanged","dispatch","visible","openModal","Error","pluck","initModal","ngOnChanges","currentValue","Component","selector","template","Store","Renderer2","Input","Output","Select","Observable","parentPermission","reduce","acc","val","PermissionManagement","PermissionManagementModule","declarations","imports","CoreModule","ThemeSharedModule","NgxsModule","forFeature","PerfectScrollbarModule","exports","Response","Group","MinimumPermission","Permission","GrantedProvider","UpdateRequest"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootPermissionManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootPermissionManagementModule,\n providers: [],\n };\n }\n}\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n submit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js index a8be4b0a6d..3743c8495f 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/esm2015/abp-ng.permission-management.js @@ -5,9 +5,9 @@ /** * Generated bundle index. Do not edit. */ -export { PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; +export { RootPermissionManagementModule, PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; export { GetPermissions as ɵd, UpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; export { PermissionManagementComponent as ɵa } from './lib/components/permission-management.component'; export { PermissionManagementService as ɵc } from './lib/services/permission-management.service'; export { PermissionManagementState as ɵb } from './lib/states/permission-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUtBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscU1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js index 0497446467..4e2c0fdbf2 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/components/permission-management.component.js @@ -242,7 +242,7 @@ export class PermissionManagementComponent { /** * @return {?} */ - onSubmit() { + submit() { this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); @@ -327,7 +327,7 @@ export class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -419,4 +419,4 @@ function getPermissions(groups) { */ (acc, val) => [...acc, ...val.permissions]), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0V4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7SUFvQmhCLENBQUM7Ozs7SUF2RGpFLElBQ0ksT0FBTztRQUNU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L0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBpc0dyYW50ZWRCeVJvbGUoZ3JhbnRlZFByb3ZpZGVyczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyW10pOiBib29sZWFuIHtcbiAgICBpZiAoZ3JhbnRlZFByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBncmFudGVkUHJvdmlkZXJzLmZpbmRJbmRleChwID0+IHAucHJvdmlkZXJOYW1lID09PSAnUm9sZScpID4gLTE7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uQ2xpY2tDaGVja2JveChjbGlja2VkUGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbiwgdmFsdWUpIHtcbiAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKGNsaWNrZWRQZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMpKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLm1hcChwZXIgPT4ge1xuICAgICAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLm5hbWUpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogIXBlci5pc0dyYW50ZWQgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIucGFyZW50TmFtZSAmJiBjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogZmFsc2UgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5wYXJlbnROYW1lID09PSBwZXIubmFtZSAmJiAhY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2V0VGFiQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tdGhpcy10YWJzJykgYXMgYW55O1xuXG4gICAgICBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IHBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEdyYW50Q2hlY2tib3hTdGF0ZSgpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFsbFBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgIGNvbnN0IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLWFsbC10YWJzJykgYXMgYW55O1xuXG4gICAgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RUaGlzVGFiKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKHBlcm1pc3Npb24gPT4ge1xuICAgICAgICBpZiAocGVybWlzc2lvbi5pc0dyYW50ZWQgJiYgdGhpcy5pc0dyYW50ZWRCeVJvbGUocGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuICAgIGNvbnN0IHVuY2hhbmdlZFBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUuZ2V0UGVybWlzc2lvbkdyb3VwcyksXG4gICAgKTtcblxuICAgIGNvbnN0IGNoYW5nZWRQZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuTWluaW11bVBlcm1pc3Npb25bXSA9IHRoaXMucGVybWlzc2lvbnNcbiAgICAgIC5maWx0ZXIocGVyID0+XG4gICAgICAgIHVuY2hhbmdlZFBlcm1pc3Npb25zLmZpbmQodW5jaGFuZ2VkID0+IHVuY2hhbmdlZC5uYW1lID09PSBwZXIubmFtZSkuaXNHcmFudGVkID09PSBwZXIuaXNHcmFudGVkID8gZmFsc2UgOiB0cnVlLFxuICAgICAgKVxuICAgICAgLm1hcCgoeyBuYW1lLCBpc0dyYW50ZWQgfSkgPT4gKHsgbmFtZSwgaXNHcmFudGVkIH0pKTtcblxuICAgIGlmIChjaGFuZ2VkUGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgICBuZXcgVXBkYXRlUGVybWlzc2lvbnMoe1xuICAgICAgICAgICAgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksXG4gICAgICAgICAgICBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGNoYW5nZWRQZXJtaXNzaW9ucyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvdmlkZXJLZXkgfHwgIXRoaXMucHJvdmlkZXJOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVyIEtleSBhbmQgUHJvdmlkZXIgTmFtZSBhcmUgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQZXJtaXNzaW9ucyh7IHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LCBwcm92aWRlck5hbWU6IHRoaXMucHJvdmlkZXJOYW1lIH0pKVxuICAgICAgLnBpcGUocGx1Y2soJ1Blcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUnLCAncGVybWlzc2lvblJlcycpKVxuICAgICAgLnN1YnNjcmliZSgocGVybWlzc2lvblJlczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gcGVybWlzc2lvblJlcy5ncm91cHNbMF07XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhwZXJtaXNzaW9uUmVzLmdyb3Vwcyk7XG5cbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaW5pdE1vZGFsKCkge1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgIHRoaXMuc2V0R3JhbnRDaGVja2JveFN0YXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXJnaW4ocGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgcGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbikge1xuICBjb25zdCBwYXJlbnRQZXJtaXNzaW9uID0gcGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ucGFyZW50TmFtZSk7XG5cbiAgaWYgKHBhcmVudFBlcm1pc3Npb24gJiYgcGFyZW50UGVybWlzc2lvbi5wYXJlbnROYW1lKSB7XG4gICAgbGV0IG1hcmdpbiA9IDIwO1xuICAgIHJldHVybiAobWFyZ2luICs9IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBhcmVudFBlcm1pc3Npb24pKTtcbiAgfVxuXG4gIHJldHVybiBwYXJlbnRQZXJtaXNzaW9uID8gMjAgOiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQZXJtaXNzaW9ucyhncm91cHM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10pOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10ge1xuICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgoYWNjLCB2YWwpID0+IFsuLi5hY2MsIC4uLnZhbC5wZXJtaXNzaW9uc10sIFtdKTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUWxGLE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0V4QyxZQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7SUFvQmhCLENBQUM7Ozs7SUF2RGpFLElBQ0ksT0FBTztRQUNU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L0QsU0FBUyxVQUFVLENBQUMsV0FBOEMsRUFBRSxVQUEyQzs7VUFDdkcsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFVBQVUsRUFBQztJQUVwRixJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDL0MsTUFBTSxHQUFHLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFvQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdldFBlcm1pc3Npb25zLCBVcGRhdGVQZXJtaXNzaW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBQZXJtaXNzaW9uV2l0aE1hcmdpbiA9IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24gJiB7IG1hcmdpbjogbnVtYmVyIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHcm91cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpXG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8UGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXT47XG5cbiAgQFNlbGVjdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldEVudGl0aXlEaXNwbGF5TmFtZSlcbiAgZW50aXR5TmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBzZWxlY3RlZEdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cDtcblxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdID0gW107XG5cbiAgc2VsZWN0VGhpc1RhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlbGVjdEFsbFRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgZ2V0IHNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uV2l0aE1hcmdpbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzJC5waXBlKFxuICAgICAgbWFwKGdyb3VwcyA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPyBncm91cHMuZmluZChncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXAubmFtZSkucGVybWlzc2lvbnMgOiBbXSxcbiAgICAgICksXG4gICAgICBtYXA8UGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBQZXJtaXNzaW9uV2l0aE1hcmdpbltdPihwZXJtaXNzaW9ucyA9PlxuICAgICAgICBwZXJtaXNzaW9ucy5tYXAoXG4gICAgICAgICAgcGVybWlzc2lvbiA9PlxuICAgICAgICAgICAgKCh7XG4gICAgICAgICAgICAgIC4uLnBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIG1hcmdpbjogZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGVybWlzc2lvbiksXG4gICAgICAgICAgICAgIGlzR3JhbnRlZDogdGhpcy5wZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKS5pc0dyYW50ZWQsXG4gICAgICAgICAgICB9IGFzIGFueSkgYXMgUGVybWlzc2lvbldpdGhNYXJnaW4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0Q2hlY2tlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IG5hbWUpIHx8IHsgaXNHcmFudGVkOiBmYWxzZSB9KS5pc0dyYW50ZWQ7XG4gIH1cblxuICBpc0dyYW50ZWRCeVJvbGUoZ3JhbnRlZFByb3ZpZGVyczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JhbnRlZFByb3ZpZGVyW10pOiBib29sZWFuIHtcbiAgICBpZiAoZ3JhbnRlZFByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBncmFudGVkUHJvdmlkZXJzLmZpbmRJbmRleChwID0+IHAucHJvdmlkZXJOYW1lID09PSAnUm9sZScpID4gLTE7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uQ2xpY2tDaGVja2JveChjbGlja2VkUGVybWlzc2lvbjogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbiwgdmFsdWUpIHtcbiAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKGNsaWNrZWRQZXJtaXNzaW9uLmdyYW50ZWRQcm92aWRlcnMpKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLm1hcChwZXIgPT4ge1xuICAgICAgICBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLm5hbWUpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogIXBlci5pc0dyYW50ZWQgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5uYW1lID09PSBwZXIucGFyZW50TmFtZSAmJiBjbGlja2VkUGVybWlzc2lvbi5pc0dyYW50ZWQpIHtcbiAgICAgICAgICByZXR1cm4geyAuLi5wZXIsIGlzR3JhbnRlZDogZmFsc2UgfTtcbiAgICAgICAgfSBlbHNlIGlmIChjbGlja2VkUGVybWlzc2lvbi5wYXJlbnROYW1lID09PSBwZXIubmFtZSAmJiAhY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2V0VGFiQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zLmZpbHRlcihwZXIgPT4gcGVyLmlzR3JhbnRlZCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdC1hbGwtaW4tdGhpcy10YWJzJykgYXMgYW55O1xuXG4gICAgICBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IHBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEdyYW50Q2hlY2tib3hTdGF0ZSgpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFsbFBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgIGNvbnN0IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLWFsbC10YWJzJykgYXMgYW55O1xuXG4gICAgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWxsUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjaGVja2JveEVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RBbGxUYWIgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RUaGlzVGFiKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBlcm1pc3Npb25zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKHBlcm1pc3Npb24gPT4ge1xuICAgICAgICBpZiAocGVybWlzc2lvbi5pc0dyYW50ZWQgJiYgdGhpcy5pc0dyYW50ZWRCeVJvbGUocGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kSW5kZXgocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLm5hbWUpO1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBbXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgeyAuLi50aGlzLnBlcm1pc3Npb25zW2luZGV4XSwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RUaGlzVGFiIH0sXG4gICAgICAgICAgLi4udGhpcy5wZXJtaXNzaW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgb25DbGlja1NlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiAoeyAuLi5wZXJtaXNzaW9uLCBpc0dyYW50ZWQ6ICF0aGlzLnNlbGVjdEFsbFRhYiB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSAhdGhpcy5zZWxlY3RBbGxUYWI7XG4gIH1cblxuICBvbkNoYW5nZUdyb3VwKGdyb3VwOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IGdyb3VwO1xuICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBjb25zdCB1bmNoYW5nZWRQZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBjaGFuZ2VkUGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lk1pbmltdW1QZXJtaXNzaW9uW10gPSB0aGlzLnBlcm1pc3Npb25zXG4gICAgICAuZmlsdGVyKHBlciA9PlxuICAgICAgICB1bmNoYW5nZWRQZXJtaXNzaW9ucy5maW5kKHVuY2hhbmdlZCA9PiB1bmNoYW5nZWQubmFtZSA9PT0gcGVyLm5hbWUpLmlzR3JhbnRlZCA9PT0gcGVyLmlzR3JhbnRlZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIClcbiAgICAgIC5tYXAoKHsgbmFtZSwgaXNHcmFudGVkIH0pID0+ICh7IG5hbWUsIGlzR3JhbnRlZCB9KSk7XG5cbiAgICBpZiAoY2hhbmdlZFBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFVwZGF0ZVBlcm1pc3Npb25zKHtcbiAgICAgICAgICAgIHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBjaGFuZ2VkUGVybWlzc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3ZpZGVyS2V5IHx8ICF0aGlzLnByb3ZpZGVyTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlciBLZXkgYW5kIFByb3ZpZGVyIE5hbWUgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UGVybWlzc2lvbnMoeyBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSwgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSB9KSlcbiAgICAgIC5waXBlKHBsdWNrKCdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJywgJ3Blcm1pc3Npb25SZXMnKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25SZXM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IHBlcm1pc3Npb25SZXMuZ3JvdXBzWzBdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMocGVybWlzc2lvblJlcy5ncm91cHMpO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIGluaXRNb2RhbCgpIHtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTWFyZ2luKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10sIHBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24pIHtcbiAgY29uc3QgcGFyZW50UGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLnBhcmVudE5hbWUpO1xuXG4gIGlmIChwYXJlbnRQZXJtaXNzaW9uICYmIHBhcmVudFBlcm1pc3Npb24ucGFyZW50TmFtZSkge1xuICAgIGxldCBtYXJnaW4gPSAyMDtcbiAgICByZXR1cm4gKG1hcmdpbiArPSBmaW5kTWFyZ2luKHBlcm1pc3Npb25zLCBwYXJlbnRQZXJtaXNzaW9uKSk7XG4gIH1cblxuICByZXR1cm4gcGFyZW50UGVybWlzc2lvbiA/IDIwIDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnMoZ3JvdXBzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cFtdKTogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdIHtcbiAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwucGVybWlzc2lvbnNdLCBbXSk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/lib/root-permission-management.module.js b/npm/ng-packs/dist/permission-management/esm2015/lib/root-permission-management.module.js new file mode 100644 index 0000000000..bc99d2c309 --- /dev/null +++ b/npm/ng-packs/dist/permission-management/esm2015/lib/root-permission-management.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +export class RootPermissionManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + } +} +RootPermissionManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxNQUFNLE9BQU8sOEJBQThCOzs7O0lBQ3pDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBUEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdFBlcm1pc3Npb25NYW5hZ2VtZW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSb290UGVybWlzc2lvbk1hbmFnZW1lbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm2015/public-api.js b/npm/ng-packs/dist/permission-management/esm2015/public-api.js index 9d041be370..35502dc49e 100644 --- a/npm/ng-packs/dist/permission-management/esm2015/public-api.js +++ b/npm/ng-packs/dist/permission-management/esm2015/public-api.js @@ -5,10 +5,11 @@ /* * Public API Surface of permission-management */ +export { RootPermissionManagementModule } from './lib/root-permission-management.module'; export { PermissionManagementModule } from './lib/permission-management.module'; export { GetPermissions, UpdatePermissions } from './lib/actions'; export { PermissionManagementComponent } from './lib/components'; export {} from './lib/models'; export { PermissionManagementService } from './lib/services'; export { PermissionManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0NBQWMseUNBQXlDLENBQUM7QUFDeEQsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Blcm1pc3Npb24tbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js index a8be4b0a6d..3743c8495f 100644 --- a/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/esm5/abp-ng.permission-management.js @@ -5,9 +5,9 @@ /** * Generated bundle index. Do not edit. */ -export { PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; +export { RootPermissionManagementModule, PermissionManagementModule, GetPermissions, UpdatePermissions, PermissionManagementComponent, PermissionManagementService, PermissionManagementState } from './public-api'; export { GetPermissions as ɵd, UpdatePermissions as ɵe } from './lib/actions/permission-management.actions'; export { PermissionManagementComponent as ɵa } from './lib/components/permission-management.component'; export { PermissionManagementService as ɵc } from './lib/services/permission-management.service'; export { PermissionManagementState as ɵb } from './lib/states/permission-management.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscUtBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnBlcm1pc3Npb24tbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscU1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0dldFBlcm1pc3Npb25zIGFzIMm1ZCxVcGRhdGVQZXJtaXNzaW9ucyBhcyDJtWV9IGZyb20gJy4vbGliL2FjdGlvbnMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuZXhwb3J0IHtQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5leHBvcnQge1Blcm1pc3Npb25NYW5hZ2VtZW50U2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7UGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy9wZXJtaXNzaW9uLW1hbmFnZW1lbnQuc3RhdGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js index d56f9a35e5..729f703b4a 100644 --- a/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js +++ b/npm/ng-packs/dist/permission-management/esm5/lib/components/permission-management.component.js @@ -287,7 +287,7 @@ var PermissionManagementComponent = /** @class */ (function () { /** * @return {?} */ - PermissionManagementComponent.prototype.onSubmit = /** + PermissionManagementComponent.prototype.submit = /** * @return {?} */ function () { @@ -392,7 +392,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -487,4 +487,4 @@ function getPermissions(groups) { */ function (acc, val) { return tslib_1.__spread(acc, val.permissions); }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBb0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxVQUFDLENBQUMsRUFBRSxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFULENBQVMsRUFBQztJQW9CaEIsQ0FBQztJQXZEakUsc0JBQ0ksa0RBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0JBQUUsT0FBTztZQUVoQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUvQixJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQzs7O09BWEE7SUFrQ0Qsc0JBQUksb0VBQXlCOzs7O1FBQTdCO1lBQUEsaUJBZ0JDO1lBZkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsR0FBRzs7OztZQUFDLFVBQUEsTUFBTTtnQkFDUixPQUFBLEtBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJOzs7O2dCQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBdEMsQ0FBc0MsRUFBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUFsRyxDQUFrRyxFQUNuRyxFQUNELEdBQUc7Ozs7WUFBNEQsVUFBQSxXQUFXO2dCQUN4RSxPQUFBLFdBQVcsQ0FBQyxHQUFHOzs7O2dCQUNiLFVBQUEsVUFBVTtvQkFDUixPQUFBLENBQUMsbUJBQUEsQ0FBQyx3Q0FDRyxVQUFVLElBQ2IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLFNBQVMsRUFBRSxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7d0JBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQTVCLENBQTRCLEVBQUMsQ0FBQyxTQUFTLEtBQ3pFLENBQUMsRUFBd0IsQ0FBQztnQkFKbEMsQ0FJa0MsRUFDckM7WUFQRCxDQU9DLEVBQ0YsQ0FDRixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7SUFJRCxnREFBUTs7O0lBQVIsY0FBa0IsQ0FBQzs7Ozs7SUFFbkIsa0RBQVU7Ozs7SUFBVixVQUFXLElBQVk7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQWpCLENBQWlCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RixDQUFDOzs7OztJQUVELHVEQUFlOzs7O0lBQWYsVUFBZ0IsZ0JBQXdEO1FBQ3RFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUzs7OztZQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQXpCLENBQXlCLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7O0lBRUQsdURBQWU7Ozs7O0lBQWYsVUFBZ0IsaUJBQWtELEVBQUUsS0FBSztRQUF6RSxpQkFtQkM7UUFsQkMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztZQUFFLE9BQU87UUFFcEcsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsV0FBVyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRzs7OztZQUFDLFVBQUEsR0FBRztnQkFDekMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtvQkFDdkMsNEJBQVksR0FBRyxJQUFFLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUc7aUJBQzlDO3FCQUFNLElBQUksaUJBQWlCLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxVQUFVLElBQUksaUJBQWlCLENBQUMsU0FBUyxFQUFFO29CQUNuRiw0QkFBWSxHQUFHLElBQUUsU0FBUyxFQUFFLEtBQUssSUFBRztpQkFDckM7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtvQkFDcEYsNEJBQVksR0FBRyxJQUFFLFNBQVMsRUFBRSxJQUFJLElBQUc7aUJBQ3BDO2dCQUVELE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFDLENBQUM7WUFFSCxLQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixLQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7O0lBRUQsMkRBQW1COzs7SUFBbkI7UUFBQSxpQkFlQztRQWRDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsV0FBVzs7Z0JBQzFELG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsU0FBUyxFQUFiLENBQWEsRUFBQzs7Z0JBQzlELE9BQU8sR0FBRyxtQkFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLEVBQU87WUFFekUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckQsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLEtBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO2lCQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLEtBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsNkRBQXFCOzs7SUFBckI7O1lBQ1Esc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsU0FBUyxFQUFiLENBQWEsRUFBQzs7WUFDdEUsZUFBZSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUVoRixJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3RCxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0wsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7O0lBRUQsNERBQW9COzs7SUFBcEI7UUFBQSxpQkFnQkM7UUFmQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLFdBQVc7WUFDaEUsV0FBVyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLFVBQVU7Z0JBQzVCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxLQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFBRSxPQUFPOztvQkFFaEYsS0FBSyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7OztnQkFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksRUFBNUIsQ0FBNEIsRUFBQztnQkFFN0UsS0FBSSxDQUFDLFdBQVcsb0JBQ1gsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQzt5Q0FDOUIsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFJLENBQUMsYUFBYTttQkFDekQsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUNyQyxDQUFDO1lBQ0osQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCx3REFBZ0I7OztJQUFoQjtRQUFBLGlCQUlDO1FBSEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFBLFVBQVUsSUFBSSxPQUFBLHNCQUFNLFVBQVUsSUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFJLENBQUMsWUFBWSxJQUFHLEVBQWxELENBQWtELEVBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVELHFEQUFhOzs7O0lBQWIsVUFBYyxLQUFpQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7O0lBRUQsZ0RBQVE7OztJQUFSO1FBQUEsaUJBNkJDO1FBNUJDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOztZQUNoQixvQkFBb0IsR0FBRyxjQUFjLENBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLENBQ3pFOztZQUVLLGtCQUFrQixHQUE2QyxJQUFJLENBQUMsV0FBVzthQUNsRixNQUFNOzs7O1FBQUMsVUFBQSxHQUFHO1lBQ1QsT0FBQSxvQkFBb0IsQ0FBQyxJQUFJOzs7O1lBQUMsVUFBQSxTQUFTLElBQUksT0FBQSxTQUFTLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQTNCLENBQTJCLEVBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQTlHLENBQThHLEVBQy9HO2FBQ0EsR0FBRzs7OztRQUFDLFVBQUMsRUFBbUI7Z0JBQWpCLGNBQUksRUFBRSx3QkFBUztZQUFPLE9BQUEsQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLFNBQVMsV0FBQSxFQUFFLENBQUM7UUFBckIsQ0FBcUIsRUFBQztRQUV0RCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSztpQkFDUCxRQUFRLENBQ1AsSUFBSSxpQkFBaUIsQ0FBQztnQkFDcEIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFdBQVcsRUFBRSxrQkFBa0I7YUFDaEMsQ0FBQyxDQUNIO2lCQUNBLFNBQVM7OztZQUFDO2dCQUNULEtBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLEVBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7Ozs7SUFFRCxpREFBUzs7O0lBQVQ7UUFBQSxpQkFjQztRQWJDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFFRCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQzthQUNoRyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQ3pELFNBQVM7Ozs7UUFBQyxVQUFDLGFBQTRDO1lBQ3RELEtBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxLQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFeEQsS0FBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsaURBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCxtREFBVzs7OztJQUFYLFVBQVksRUFBMEI7WUFBeEIsb0JBQU87UUFDbkIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDOztnQkFqT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHUvSEFBcUQ7aUJBQ3REOzs7O2dCQVpnQixLQUFLO2dCQUpwQixTQUFTOzs7K0JBa0JSLEtBQUs7OEJBR0wsS0FBSzswQkFLTCxLQUFLO2dDQWdCTCxNQUFNOztJQUlQO1FBREMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDOzBDQUM3QyxVQUFVO2tFQUErQjtJQUdsRDtRQURDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQzswQ0FDM0MsVUFBVTtzRUFBUztJQThMbEMsb0NBQUM7Q0FBQSxBQWxPRCxJQWtPQztTQTlOWSw2QkFBNkI7OztJQUN4QyxxREFDcUI7O0lBRXJCLG9EQUNvQjs7Ozs7SUFFcEIsaURBQW1COztJQWtCbkIsc0RBQzRDOztJQUU1QyxnREFDa0Q7O0lBRWxELG9EQUNnQzs7SUFFaEMsc0RBQTBDOztJQUUxQyxvREFBb0Q7O0lBRXBELHNEQUErQjs7SUFFL0IscURBQThCOztJQUU5QixrREFBMkI7O0lBRTNCLGtEQUFnRjs7Ozs7SUFvQnBFLDhDQUFvQjs7Ozs7SUFBRSxpREFBMkI7Ozs7Ozs7QUFnSy9ELFNBQVMsVUFBVSxDQUFDLFdBQThDLEVBQUUsVUFBMkM7O1FBQ3ZHLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxVQUFVLEVBQWxDLENBQWtDLEVBQUM7SUFFcEYsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7O1lBQy9DLE1BQU0sR0FBRyxFQUFFO1FBQ2YsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztLQUM5RDtJQUVELE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7Ozs7O0FBRUQsU0FBUyxjQUFjLENBQUMsTUFBb0M7SUFDMUQsT0FBTyxNQUFNLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssd0JBQUksR0FBRyxFQUFLLEdBQUcsQ0FBQyxXQUFXLEdBQTNCLENBQTRCLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXRQZXJtaXNzaW9ucywgVXBkYXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgUGVybWlzc2lvbldpdGhNYXJnaW4gPSBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uICYgeyBtYXJnaW46IG51bWJlciB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwcm92aWRlck5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkR3JvdXApIHJldHVybjtcblxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKVxuICBncm91cHMkOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10+O1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRFbnRpdGl5RGlzcGxheU5hbWUpXG4gIGVudGl0eU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2VsZWN0ZWRHcm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXA7XG5cbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSA9IFtdO1xuXG4gIHNlbGVjdFRoaXNUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzZWxlY3RBbGxUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cD4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGdldCBzZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbldpdGhNYXJnaW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwcyQucGlwZShcbiAgICAgIG1hcChncm91cHMgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID8gZ3JvdXBzLmZpbmQoZ3JvdXAgPT4gZ3JvdXAubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwLm5hbWUpLnBlcm1pc3Npb25zIDogW10sXG4gICAgICApLFxuICAgICAgbWFwPFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgUGVybWlzc2lvbldpdGhNYXJnaW5bXT4ocGVybWlzc2lvbnMgPT5cbiAgICAgICAgcGVybWlzc2lvbnMubWFwKFxuICAgICAgICAgIHBlcm1pc3Npb24gPT5cbiAgICAgICAgICAgICgoe1xuICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBtYXJnaW46IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBlcm1pc3Npb24pLFxuICAgICAgICAgICAgICBpc0dyYW50ZWQ6IHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSkuaXNHcmFudGVkLFxuICAgICAgICAgICAgfSBhcyBhbnkpIGFzIFBlcm1pc3Npb25XaXRoTWFyZ2luKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldENoZWNrZWQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLnBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBuYW1lKSB8fCB7IGlzR3JhbnRlZDogZmFsc2UgfSkuaXNHcmFudGVkO1xuICB9XG5cbiAgaXNHcmFudGVkQnlSb2xlKGdyYW50ZWRQcm92aWRlcnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGdyYW50ZWRQcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZ3JhbnRlZFByb3ZpZGVycy5maW5kSW5kZXgocCA9PiBwLnByb3ZpZGVyTmFtZSA9PT0gJ1JvbGUnKSA+IC0xO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiB0aGlzLmlzR3JhbnRlZEJ5Um9sZShjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVyID0+IHtcbiAgICAgICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6ICFwZXIuaXNHcmFudGVkIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLnBhcmVudE5hbWUgJiYgY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IGZhbHNlIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ucGFyZW50TmFtZSA9PT0gcGVyLm5hbWUgJiYgIWNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFRhYkNoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLXRoaXMtdGFicycpIGFzIGFueTtcblxuICAgICAgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSBwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRHcmFudENoZWNrYm94U3RhdGUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICBjb25zdCBjaGVja2JveEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi1hbGwtdGFicycpIGFzIGFueTtcblxuICAgIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gdGhpcy5wZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0VGhpc1RhYigpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaChwZXJtaXNzaW9uID0+IHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKHBlcm1pc3Npb24uZ3JhbnRlZFByb3ZpZGVycykpIHJldHVybjtcblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucGVybWlzc2lvbnMuZmluZEluZGV4KHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKTtcblxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gW1xuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIHsgLi4udGhpcy5wZXJtaXNzaW9uc1tpbmRleF0sIGlzR3JhbnRlZDogIXRoaXMuc2VsZWN0VGhpc1RhYiB9LFxuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICAgICAgXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlcm1pc3Npb24gPT4gKHsgLi4ucGVybWlzc2lvbiwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RBbGxUYWIgfSkpO1xuXG4gICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gIXRoaXMuc2VsZWN0QWxsVGFiO1xuICB9XG5cbiAgb25DaGFuZ2VHcm91cChncm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXApIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBncm91cDtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBjb25zdCB1bmNoYW5nZWRQZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlLmdldFBlcm1pc3Npb25Hcm91cHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBjaGFuZ2VkUGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50Lk1pbmltdW1QZXJtaXNzaW9uW10gPSB0aGlzLnBlcm1pc3Npb25zXG4gICAgICAuZmlsdGVyKHBlciA9PlxuICAgICAgICB1bmNoYW5nZWRQZXJtaXNzaW9ucy5maW5kKHVuY2hhbmdlZCA9PiB1bmNoYW5nZWQubmFtZSA9PT0gcGVyLm5hbWUpLmlzR3JhbnRlZCA9PT0gcGVyLmlzR3JhbnRlZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIClcbiAgICAgIC5tYXAoKHsgbmFtZSwgaXNHcmFudGVkIH0pID0+ICh7IG5hbWUsIGlzR3JhbnRlZCB9KSk7XG5cbiAgICBpZiAoY2hhbmdlZFBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFVwZGF0ZVBlcm1pc3Npb25zKHtcbiAgICAgICAgICAgIHByb3ZpZGVyS2V5OiB0aGlzLnByb3ZpZGVyS2V5LFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBjaGFuZ2VkUGVybWlzc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3ZpZGVyS2V5IHx8ICF0aGlzLnByb3ZpZGVyTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlciBLZXkgYW5kIFByb3ZpZGVyIE5hbWUgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UGVybWlzc2lvbnMoeyBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSwgcHJvdmlkZXJOYW1lOiB0aGlzLnByb3ZpZGVyTmFtZSB9KSlcbiAgICAgIC5waXBlKHBsdWNrKCdQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlJywgJ3Blcm1pc3Npb25SZXMnKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25SZXM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cCA9IHBlcm1pc3Npb25SZXMuZ3JvdXBzWzBdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnMocGVybWlzc2lvblJlcy5ncm91cHMpO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIGluaXRNb2RhbCgpIHtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgICB0aGlzLnNldEdyYW50Q2hlY2tib3hTdGF0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTWFyZ2luKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uW10sIHBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24pIHtcbiAgY29uc3QgcGFyZW50UGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBwZXJtaXNzaW9uLnBhcmVudE5hbWUpO1xuXG4gIGlmIChwYXJlbnRQZXJtaXNzaW9uICYmIHBhcmVudFBlcm1pc3Npb24ucGFyZW50TmFtZSkge1xuICAgIGxldCBtYXJnaW4gPSAyMDtcbiAgICByZXR1cm4gKG1hcmdpbiArPSBmaW5kTWFyZ2luKHBlcm1pc3Npb25zLCBwYXJlbnRQZXJtaXNzaW9uKSk7XG4gIH1cblxuICByZXR1cm4gcGFyZW50UGVybWlzc2lvbiA/IDIwIDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnMoZ3JvdXBzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cFtdKTogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdIHtcbiAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWwucGVybWlzc2lvbnNdLCBbXSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGVybWlzc2lvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxGO0lBb0VFLHVDQUFvQixLQUFZLEVBQVUsUUFBbUI7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVU1QyxnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTOzs7OztRQUFnRCxVQUFDLENBQUMsRUFBRSxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFULENBQVMsRUFBQztJQW9CaEIsQ0FBQztJQXZEakUsc0JBQ0ksa0RBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFB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ImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXRQZXJtaXNzaW9ucywgVXBkYXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb24tbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBlcm1pc3Npb25NYW5hZ2VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vc3RhdGVzL3Blcm1pc3Npb24tbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgUGVybWlzc2lvbldpdGhNYXJnaW4gPSBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uICYgeyBtYXJnaW46IG51bWJlciB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwcm92aWRlck5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkR3JvdXApIHJldHVybjtcblxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKVxuICBncm91cHMkOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25NYW5hZ2VtZW50Lkdyb3VwW10+O1xuXG4gIEBTZWxlY3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRFbnRpdGl5RGlzcGxheU5hbWUpXG4gIGVudGl0eU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2VsZWN0ZWRHcm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXA7XG5cbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSA9IFtdO1xuXG4gIHNlbGVjdFRoaXNUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzZWxlY3RBbGxUYWI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxQZXJtaXNzaW9uTWFuYWdlbWVudC5Hcm91cD4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGdldCBzZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbldpdGhNYXJnaW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwcyQucGlwZShcbiAgICAgIG1hcChncm91cHMgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwID8gZ3JvdXBzLmZpbmQoZ3JvdXAgPT4gZ3JvdXAubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwLm5hbWUpLnBlcm1pc3Npb25zIDogW10sXG4gICAgICApLFxuICAgICAgbWFwPFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSwgUGVybWlzc2lvbldpdGhNYXJnaW5bXT4ocGVybWlzc2lvbnMgPT5cbiAgICAgICAgcGVybWlzc2lvbnMubWFwKFxuICAgICAgICAgIHBlcm1pc3Npb24gPT5cbiAgICAgICAgICAgICgoe1xuICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBtYXJnaW46IGZpbmRNYXJnaW4ocGVybWlzc2lvbnMsIHBlcm1pc3Npb24pLFxuICAgICAgICAgICAgICBpc0dyYW50ZWQ6IHRoaXMucGVybWlzc2lvbnMuZmluZChwZXIgPT4gcGVyLm5hbWUgPT09IHBlcm1pc3Npb24ubmFtZSkuaXNHcmFudGVkLFxuICAgICAgICAgICAgfSBhcyBhbnkpIGFzIFBlcm1pc3Npb25XaXRoTWFyZ2luKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldENoZWNrZWQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLnBlcm1pc3Npb25zLmZpbmQocGVyID0+IHBlci5uYW1lID09PSBuYW1lKSB8fCB7IGlzR3JhbnRlZDogZmFsc2UgfSkuaXNHcmFudGVkO1xuICB9XG5cbiAgaXNHcmFudGVkQnlSb2xlKGdyYW50ZWRQcm92aWRlcnM6IFBlcm1pc3Npb25NYW5hZ2VtZW50LkdyYW50ZWRQcm92aWRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGdyYW50ZWRQcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZ3JhbnRlZFByb3ZpZGVycy5maW5kSW5kZXgocCA9PiBwLnByb3ZpZGVyTmFtZSA9PT0gJ1JvbGUnKSA+IC0xO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrQ2hlY2tib3goY2xpY2tlZFBlcm1pc3Npb246IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb24sIHZhbHVlKSB7XG4gICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCAmJiB0aGlzLmlzR3JhbnRlZEJ5Um9sZShjbGlja2VkUGVybWlzc2lvbi5ncmFudGVkUHJvdmlkZXJzKSkgcmV0dXJuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5tYXAocGVyID0+IHtcbiAgICAgICAgaWYgKGNsaWNrZWRQZXJtaXNzaW9uLm5hbWUgPT09IHBlci5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6ICFwZXIuaXNHcmFudGVkIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ubmFtZSA9PT0gcGVyLnBhcmVudE5hbWUgJiYgY2xpY2tlZFBlcm1pc3Npb24uaXNHcmFudGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucGVyLCBpc0dyYW50ZWQ6IGZhbHNlIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2xpY2tlZFBlcm1pc3Npb24ucGFyZW50TmFtZSA9PT0gcGVyLm5hbWUgJiYgIWNsaWNrZWRQZXJtaXNzaW9uLmlzR3JhbnRlZCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnBlciwgaXNHcmFudGVkOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0VGFiQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFRhYkNoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGVybWlzc2lvbnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5pc0dyYW50ZWQpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzZWxlY3QtYWxsLWluLXRoaXMtdGFicycpIGFzIGFueTtcblxuICAgICAgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSBwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0VGhpc1RhYiA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdFRoaXNUYWIgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRHcmFudENoZWNrYm94U3RhdGUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBbGxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKHBlciA9PiBwZXIuaXNHcmFudGVkKTtcbiAgICBjb25zdCBjaGVja2JveEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0LWFsbC1pbi1hbGwtdGFicycpIGFzIGFueTtcblxuICAgIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gdGhpcy5wZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdEFsbFRhYiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZEFsbFBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2hlY2tib3hFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsVGFiID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoZWNrYm94RWxlbWVudC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0VGhpc1RhYigpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBQZXJtaXNzaW9ucyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGVybWlzc2lvbnMgPT4ge1xuICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaChwZXJtaXNzaW9uID0+IHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb24uaXNHcmFudGVkICYmIHRoaXMuaXNHcmFudGVkQnlSb2xlKHBlcm1pc3Npb24uZ3JhbnRlZFByb3ZpZGVycykpIHJldHVybjtcblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucGVybWlzc2lvbnMuZmluZEluZGV4KHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5uYW1lKTtcblxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gW1xuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgIHsgLi4udGhpcy5wZXJtaXNzaW9uc1tpbmRleF0sIGlzR3JhbnRlZDogIXRoaXMuc2VsZWN0VGhpc1RhYiB9LFxuICAgICAgICAgIC4uLnRoaXMucGVybWlzc2lvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICAgICAgXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2tTZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMubWFwKHBlcm1pc3Npb24gPT4gKHsgLi4ucGVybWlzc2lvbiwgaXNHcmFudGVkOiAhdGhpcy5zZWxlY3RBbGxUYWIgfSkpO1xuXG4gICAgdGhpcy5zZWxlY3RUaGlzVGFiID0gIXRoaXMuc2VsZWN0QWxsVGFiO1xuICB9XG5cbiAgb25DaGFuZ2VHcm91cChncm91cDogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXApIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBncm91cDtcbiAgICB0aGlzLnNldFRhYkNoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG4gICAgY29uc3QgdW5jaGFuZ2VkUGVybWlzc2lvbnMgPSBnZXRQZXJtaXNzaW9ucyhcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZS5nZXRQZXJtaXNzaW9uR3JvdXBzKSxcbiAgICApO1xuXG4gICAgY29uc3QgY2hhbmdlZFBlcm1pc3Npb25zOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5NaW5pbXVtUGVybWlzc2lvbltdID0gdGhpcy5wZXJtaXNzaW9uc1xuICAgICAgLmZpbHRlcihwZXIgPT5cbiAgICAgICAgdW5jaGFuZ2VkUGVybWlzc2lvbnMuZmluZCh1bmNoYW5nZWQgPT4gdW5jaGFuZ2VkLm5hbWUgPT09IHBlci5uYW1lKS5pc0dyYW50ZWQgPT09IHBlci5pc0dyYW50ZWQgPyBmYWxzZSA6IHRydWUsXG4gICAgICApXG4gICAgICAubWFwKCh7IG5hbWUsIGlzR3JhbnRlZCB9KSA9PiAoeyBuYW1lLCBpc0dyYW50ZWQgfSkpO1xuXG4gICAgaWYgKGNoYW5nZWRQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVQZXJtaXNzaW9ucyh7XG4gICAgICAgICAgICBwcm92aWRlcktleTogdGhpcy5wcm92aWRlcktleSxcbiAgICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogY2hhbmdlZFBlcm1pc3Npb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIGlmICghdGhpcy5wcm92aWRlcktleSB8fCAhdGhpcy5wcm92aWRlck5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZXIgS2V5IGFuZCBQcm92aWRlciBOYW1lIGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFBlcm1pc3Npb25zKHsgcHJvdmlkZXJLZXk6IHRoaXMucHJvdmlkZXJLZXksIHByb3ZpZGVyTmFtZTogdGhpcy5wcm92aWRlck5hbWUgfSkpXG4gICAgICAucGlwZShwbHVjaygnUGVybWlzc2lvbk1hbmFnZW1lbnRTdGF0ZScsICdwZXJtaXNzaW9uUmVzJykpXG4gICAgICAuc3Vic2NyaWJlKChwZXJtaXNzaW9uUmVzOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSBwZXJtaXNzaW9uUmVzLmdyb3Vwc1swXTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGdldFBlcm1pc3Npb25zKHBlcm1pc3Npb25SZXMuZ3JvdXBzKTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRUYWJDaGVja2JveFN0YXRlKCk7XG4gICAgdGhpcy5zZXRHcmFudENoZWNrYm94U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE1hcmdpbihwZXJtaXNzaW9uczogUGVybWlzc2lvbk1hbmFnZW1lbnQuUGVybWlzc2lvbltdLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTWFuYWdlbWVudC5QZXJtaXNzaW9uKSB7XG4gIGNvbnN0IHBhcmVudFBlcm1pc3Npb24gPSBwZXJtaXNzaW9ucy5maW5kKHBlciA9PiBwZXIubmFtZSA9PT0gcGVybWlzc2lvbi5wYXJlbnROYW1lKTtcblxuICBpZiAocGFyZW50UGVybWlzc2lvbiAmJiBwYXJlbnRQZXJtaXNzaW9uLnBhcmVudE5hbWUpIHtcbiAgICBsZXQgbWFyZ2luID0gMjA7XG4gICAgcmV0dXJuIChtYXJnaW4gKz0gZmluZE1hcmdpbihwZXJtaXNzaW9ucywgcGFyZW50UGVybWlzc2lvbikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFBlcm1pc3Npb24gPyAyMCA6IDA7XG59XG5cbmZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGdyb3VwczogUGVybWlzc2lvbk1hbmFnZW1lbnQuR3JvdXBbXSk6IFBlcm1pc3Npb25NYW5hZ2VtZW50LlBlcm1pc3Npb25bXSB7XG4gIHJldHVybiBncm91cHMucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsLnBlcm1pc3Npb25zXSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/lib/root-permission-management.module.js b/npm/ng-packs/dist/permission-management/esm5/lib/root-permission-management.module.js new file mode 100644 index 0000000000..4faa733001 --- /dev/null +++ b/npm/ng-packs/dist/permission-management/esm5/lib/root-permission-management.module.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +var RootPermissionManagementModule = /** @class */ (function () { + function RootPermissionManagementModule() { + } + /** + * @return {?} + */ + RootPermissionManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + }; + RootPermissionManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootPermissionManagementModule; +}()); +export { RootPermissionManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RDtJQUFBO0lBUUEsQ0FBQzs7OztJQU5RLHNDQUFPOzs7SUFBZDtRQUNFLE9BQU87WUFDTCxRQUFRLEVBQUUsOEJBQThCO1lBQ3hDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7O2dCQVBGLFFBQVEsU0FBQyxFQUFFOztJQVFaLHFDQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFJvb3RQZXJtaXNzaW9uTWFuYWdlbWVudE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdFBlcm1pc3Npb25NYW5hZ2VtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/esm5/public-api.js b/npm/ng-packs/dist/permission-management/esm5/public-api.js index 9d041be370..35502dc49e 100644 --- a/npm/ng-packs/dist/permission-management/esm5/public-api.js +++ b/npm/ng-packs/dist/permission-management/esm5/public-api.js @@ -5,10 +5,11 @@ /* * Public API Surface of permission-management */ +export { RootPermissionManagementModule } from './lib/root-permission-management.module'; export { PermissionManagementModule } from './lib/permission-management.module'; export { GetPermissions, UpdatePermissions } from './lib/actions'; export { PermissionManagementComponent } from './lib/components'; export {} from './lib/models'; export { PermissionManagementService } from './lib/services'; export { PermissionManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlcyc7XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0NBQWMseUNBQXlDLENBQUM7QUFDeEQsMkNBQWMsb0NBQW9DLENBQUM7QUFDbkQsa0RBQWMsZUFBZSxDQUFDO0FBQzlCLDhDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGVBQWMsY0FBYyxDQUFDO0FBQzdCLDRDQUFjLGdCQUFnQixDQUFDO0FBQy9CLDBDQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVybWlzc2lvbi1tYW5hZ2VtZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm9vdC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Blcm1pc3Npb24tbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js index bd5fe91708..a43dfcc507 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js @@ -1,12 +1,31 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output } from '@angular/core'; import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata } from 'tslib'; import { Observable } from 'rxjs'; import { tap, map, take, pluck } from 'rxjs/operators'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootPermissionManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + } +} +RootPermissionManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -423,7 +442,7 @@ class PermissionManagementComponent { /** * @return {?} */ - onSubmit() { + submit() { this.modalBusy = true; /** @type {?} */ const unchangedPermissions = getPermissions(this.store.selectSnapshot(PermissionManagementState.getPermissionGroups)); @@ -508,7 +527,7 @@ class PermissionManagementComponent { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -737,5 +756,5 @@ var PermissionManagement; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; +export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, RootPermissionManagementModule, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map index 55787086eb..5592c4d712 100644 --- a/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm2015/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/root-permission-management.module.ts","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootPermissionManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootPermissionManagementModule,\n providers: [],\n };\n }\n}\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n submit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js index 78fb5d2943..03eaa9e317 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js @@ -1,12 +1,37 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output } from '@angular/core'; import { RestService, CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, Renderer2, Input, Output, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __decorate, __metadata, __assign, __spread } from 'tslib'; import { Observable } from 'rxjs'; import { tap, map, take, pluck } from 'rxjs/operators'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootPermissionManagementModule = /** @class */ (function () { + function RootPermissionManagementModule() { + } + /** + * @return {?} + */ + RootPermissionManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootPermissionManagementModule, + providers: [], + }; + }; + RootPermissionManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootPermissionManagementModule; +}()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -494,7 +519,7 @@ var PermissionManagementComponent = /** @class */ (function () { /** * @return {?} */ - PermissionManagementComponent.prototype.onSubmit = /** + PermissionManagementComponent.prototype.submit = /** * @return {?} */ function () { @@ -599,7 +624,7 @@ var PermissionManagementComponent = /** @class */ (function () { PermissionManagementComponent.decorators = [ { type: Component, args: [{ selector: 'abp-permission-management', - template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" + template: "\n \n \n

    {{ 'AbpPermissionManagement::Permissions' | abpLocalization }} - {{ data.entityName }}

    \n
    \n \n
    \n \n \n
    \n\n
    \n
    \n
    \n
      \n \n
    • \n {{ group?.displayName }}\n
    • \n
      \n
    \n
    \n
    \n

    {{ selectedGroup?.displayName }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ permission.displayName }}\n {{ provider.providerName }}: {{ provider.providerKey }}\n
    \n \n
    \n
    \n \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n
    \n" }] } ]; /** @nocollapse */ @@ -833,5 +858,5 @@ var PermissionManagement; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; +export { GetPermissions, PermissionManagementComponent, PermissionManagementModule, PermissionManagementService, PermissionManagementState, RootPermissionManagementModule, UpdatePermissions, PermissionManagementComponent as ɵa, PermissionManagementState as ɵb, PermissionManagementService as ɵc, GetPermissions as ɵd, UpdatePermissions as ɵe }; //# sourceMappingURL=abp-ng.permission-management.js.map diff --git a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map index dbc74fdd13..a8cb227ccd 100644 --- a/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map +++ b/npm/ng-packs/dist/permission-management/fesm5/abp-ng.permission-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n onSubmit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.permission-management.js","sources":["ng://@abp/ng.permission-management/lib/root-permission-management.module.ts","ng://@abp/ng.permission-management/lib/actions/permission-management.actions.ts","ng://@abp/ng.permission-management/lib/services/permission-management.service.ts","ng://@abp/ng.permission-management/lib/states/permission-management.state.ts","ng://@abp/ng.permission-management/lib/components/permission-management.component.ts","ng://@abp/ng.permission-management/lib/permission-management.module.ts","ng://@abp/ng.permission-management/lib/models/permission-management.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootPermissionManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootPermissionManagementModule,\n providers: [],\n };\n }\n}\n","import { PermissionManagement } from '../models/permission-management';\n\nexport class GetPermissions {\n static readonly type = '[PermissionManagement] Get Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider) {}\n}\n\nexport class UpdatePermissions {\n static readonly type = '[PermissionManagement] Update Permissions';\n constructor(public payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest) {}\n}\n","import { Injectable } from '@angular/core';\nimport { RestService, Rest } from '@abp/ng.core';\nimport { Observable } from 'rxjs';\nimport { PermissionManagement } from '../models/permission-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionManagementService {\n constructor(private rest: RestService) {}\n\n getPermissions(params: PermissionManagement.GrantedProvider): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/abp/permissions',\n params,\n };\n\n return this.rest.request(request);\n }\n\n updatePermissions({\n permissions,\n providerKey,\n providerName,\n }: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest): Observable {\n const request: Rest.Request = {\n method: 'PUT',\n url: '/api/abp/permissions',\n body: { permissions },\n params: { providerKey, providerName },\n };\n\n return this.rest.request(request);\n }\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementService } from '../services/permission-management.service';\nimport { tap } from 'rxjs/operators';\n\n@State({\n name: 'PermissionManagementState',\n defaults: { permissionRes: {} } as PermissionManagement.State,\n})\nexport class PermissionManagementState {\n @Selector()\n static getPermissionGroups({ permissionRes }: PermissionManagement.State) {\n return permissionRes.groups || [];\n }\n\n @Selector()\n static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string {\n return permissionRes.entityDisplayName;\n }\n\n constructor(private permissionManagementService: PermissionManagementService) {}\n\n @Action(GetPermissions)\n permissionManagementGet({ patchState }: StateContext, { payload }: GetPermissions) {\n return this.permissionManagementService.getPermissions(payload).pipe(\n tap(permissionResponse =>\n patchState({\n permissionRes: permissionResponse,\n }),\n ),\n );\n }\n\n @Action(UpdatePermissions)\n permissionManagementUpdate(_, { payload }: UpdatePermissions) {\n return this.permissionManagementService.updatePermissions(payload);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TrackByFunction,\n} from '@angular/core';\nimport { Select, Store } from '@ngxs/store';\nimport { from, Observable } from 'rxjs';\nimport { map, pluck, take } from 'rxjs/operators';\nimport { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';\nimport { PermissionManagement } from '../models/permission-management';\nimport { PermissionManagementState } from '../states/permission-management.state';\n\ntype PermissionWithMargin = PermissionManagement.Permission & { margin: number };\n\n@Component({\n selector: 'abp-permission-management',\n templateUrl: './permission-management.component.html',\n})\nexport class PermissionManagementComponent implements OnInit, OnChanges {\n @Input()\n providerName: string;\n\n @Input()\n providerKey: string;\n\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n if (!this.selectedGroup) return;\n\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (!value) {\n this.selectedGroup = null;\n }\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(PermissionManagementState.getPermissionGroups)\n groups$: Observable;\n\n @Select(PermissionManagementState.getEntitiyDisplayName)\n entityName$: Observable;\n\n selectedGroup: PermissionManagement.Group;\n\n permissions: PermissionManagement.Permission[] = [];\n\n selectThisTab: boolean = false;\n\n selectAllTab: boolean = false;\n\n modalBusy: boolean = false;\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n get selectedGroupPermissions$(): Observable {\n return this.groups$.pipe(\n map(groups =>\n this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [],\n ),\n map(permissions =>\n permissions.map(\n permission =>\n (({\n ...permission,\n margin: findMargin(permissions, permission),\n isGranted: this.permissions.find(per => per.name === permission.name).isGranted,\n } as any) as PermissionWithMargin),\n ),\n ),\n );\n }\n\n constructor(private store: Store, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n\n getChecked(name: string) {\n return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;\n }\n\n isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {\n if (grantedProviders.length) {\n return grantedProviders.findIndex(p => p.providerName === 'Role') > -1;\n }\n return false;\n }\n\n onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {\n if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;\n\n setTimeout(() => {\n this.permissions = this.permissions.map(per => {\n if (clickedPermission.name === per.name) {\n return { ...per, isGranted: !per.isGranted };\n } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) {\n return { ...per, isGranted: false };\n } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {\n return { ...per, isGranted: true };\n }\n\n return per;\n });\n\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }, 0);\n }\n\n setTabCheckboxState() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n const selectedPermissions = permissions.filter(per => per.isGranted);\n const element = document.querySelector('#select-all-in-this-tabs') as any;\n\n if (selectedPermissions.length === permissions.length) {\n element.indeterminate = false;\n this.selectThisTab = true;\n } else if (selectedPermissions.length === 0) {\n element.indeterminate = false;\n this.selectThisTab = false;\n } else {\n element.indeterminate = true;\n }\n });\n }\n\n setGrantCheckboxState() {\n const selectedAllPermissions = this.permissions.filter(per => per.isGranted);\n const checkboxElement = document.querySelector('#select-all-in-all-tabs') as any;\n\n if (selectedAllPermissions.length === this.permissions.length) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = true;\n } else if (selectedAllPermissions.length === 0) {\n checkboxElement.indeterminate = false;\n this.selectAllTab = false;\n } else {\n checkboxElement.indeterminate = true;\n }\n }\n\n onClickSelectThisTab() {\n this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {\n permissions.forEach(permission => {\n if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;\n\n const index = this.permissions.findIndex(per => per.name === permission.name);\n\n this.permissions = [\n ...this.permissions.slice(0, index),\n { ...this.permissions[index], isGranted: !this.selectThisTab },\n ...this.permissions.slice(index + 1),\n ];\n });\n });\n\n this.setGrantCheckboxState();\n }\n\n onClickSelectAll() {\n this.permissions = this.permissions.map(permission => ({ ...permission, isGranted: !this.selectAllTab }));\n\n this.selectThisTab = !this.selectAllTab;\n }\n\n onChangeGroup(group: PermissionManagement.Group) {\n this.selectedGroup = group;\n this.setTabCheckboxState();\n }\n\n submit() {\n this.modalBusy = true;\n const unchangedPermissions = getPermissions(\n this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),\n );\n\n const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions\n .filter(per =>\n unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true,\n )\n .map(({ name, isGranted }) => ({ name, isGranted }));\n\n if (changedPermissions.length) {\n this.store\n .dispatch(\n new UpdatePermissions({\n providerKey: this.providerKey,\n providerName: this.providerName,\n permissions: changedPermissions,\n }),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n });\n } else {\n this.modalBusy = false;\n this.visible = false;\n }\n }\n\n openModal() {\n if (!this.providerKey || !this.providerName) {\n throw new Error('Provider Key and Provider Name are required.');\n }\n\n this.store\n .dispatch(new GetPermissions({ providerKey: this.providerKey, providerName: this.providerName }))\n .pipe(pluck('PermissionManagementState', 'permissionRes'))\n .subscribe((permissionRes: PermissionManagement.Response) => {\n this.selectedGroup = permissionRes.groups[0];\n this.permissions = getPermissions(permissionRes.groups);\n\n this.visible = true;\n });\n }\n\n initModal() {\n this.setTabCheckboxState();\n this.setGrantCheckboxState();\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n\nfunction findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) {\n const parentPermission = permissions.find(per => per.name === permission.parentName);\n\n if (parentPermission && parentPermission.parentName) {\n let margin = 20;\n return (margin += findMargin(permissions, parentPermission));\n }\n\n return parentPermission ? 20 : 0;\n}\n\nfunction getPermissions(groups: PermissionManagement.Group[]): PermissionManagement.Permission[] {\n return groups.reduce((acc, val) => [...acc, ...val.permissions], []);\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { PermissionManagementComponent } from './components/permission-management.component';\nimport { PermissionManagementState } from './states/permission-management.state';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n declarations: [PermissionManagementComponent],\n imports: [CoreModule, ThemeSharedModule, NgxsModule.forFeature([PermissionManagementState]), PerfectScrollbarModule],\n exports: [PermissionManagementComponent],\n})\nexport class PermissionManagementModule {}\n","export namespace PermissionManagement {\n export interface State {\n permissionRes: Response;\n }\n\n export interface Response {\n entityDisplayName: string;\n groups: Group[];\n }\n\n export interface Group {\n name: string;\n displayName: string;\n permissions: Permission[];\n }\n\n export interface MinimumPermission {\n name: string;\n isGranted: boolean;\n }\n\n export interface Permission extends MinimumPermission {\n displayName: string;\n parentName: string;\n allowedProviders: string[];\n grantedProviders: GrantedProvider[];\n }\n\n export interface GrantedProvider {\n providerName: string;\n providerKey: string;\n }\n\n export interface UpdateRequest {\n permissions: MinimumPermission[];\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts index 570fdc3590..964d049e2b 100644 --- a/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts +++ b/npm/ng-packs/dist/permission-management/lib/components/permission-management.component.d.ts @@ -32,7 +32,7 @@ export declare class PermissionManagementComponent implements OnInit, OnChanges onClickSelectThisTab(): void; onClickSelectAll(): void; onChangeGroup(group: PermissionManagement.Group): void; - onSubmit(): void; + submit(): void; openModal(): void; initModal(): void; ngOnChanges({ visible }: SimpleChanges): void; diff --git a/npm/ng-packs/dist/permission-management/lib/root-permission-management.module.d.ts b/npm/ng-packs/dist/permission-management/lib/root-permission-management.module.d.ts new file mode 100644 index 0000000000..9156f28744 --- /dev/null +++ b/npm/ng-packs/dist/permission-management/lib/root-permission-management.module.d.ts @@ -0,0 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; +export declare class RootPermissionManagementModule { + static forRoot(): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/permission-management/public-api.d.ts b/npm/ng-packs/dist/permission-management/public-api.d.ts index 47632ca4cd..a4f7fa2c23 100644 --- a/npm/ng-packs/dist/permission-management/public-api.d.ts +++ b/npm/ng-packs/dist/permission-management/public-api.d.ts @@ -1,3 +1,4 @@ +export * from './lib/root-permission-management.module'; export * from './lib/permission-management.module'; export * from './lib/actions'; export * from './lib/components'; diff --git a/npm/ng-packs/dist/setting-management/README.md b/npm/ng-packs/dist/setting-management/README.md new file mode 100644 index 0000000000..54044cc8c0 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/README.md @@ -0,0 +1 @@ +

     @abp/ng.setting-management

    \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/abp-ng.setting-management.d.ts b/npm/ng-packs/dist/setting-management/abp-ng.setting-management.d.ts new file mode 100644 index 0000000000..7a8413f02b --- /dev/null +++ b/npm/ng-packs/dist/setting-management/abp-ng.setting-management.d.ts @@ -0,0 +1,7 @@ +/** + * Generated bundle index. Do not edit. + */ +export * from './public-api'; +export { InitialService as ɵb } from './lib/components/services/initial.service'; +export { SettingComponent as ɵa } from './lib/components/setting/setting.component'; +export { SettingManagementRoutingModule as ɵc } from './lib/setting-management-routing.module'; diff --git a/npm/ng-packs/dist/setting-management/abp-ng.setting-management.metadata.json b/npm/ng-packs/dist/setting-management/abp-ng.setting-management.metadata.json new file mode 100644 index 0000000000..556144f39b --- /dev/null +++ b/npm/ng-packs/dist/setting-management/abp-ng.setting-management.metadata.json @@ -0,0 +1 @@ +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/routes"}],"metadata":{"RootSettingManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":2,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"RootSettingManagementModule"},"providers":[]}}}},"SettingManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":9,"character":44},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":9,"character":56}],"providers":[{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":13,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ɵb"}]}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-setting","template":"
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":9,"character":30}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":14,"character":12},"member":"forChild"},"arguments":[[{"path":"","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":8,"character":15},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":12}]}]}],"members":{}}},"origins":{"RootSettingManagementModule":"./lib/root-setting-management.module","SettingManagementModule":"./lib/setting-management.module","ɵa":"./lib/components/setting/setting.component","ɵb":"./lib/components/services/initial.service","ɵc":"./lib/setting-management-routing.module"},"importAs":"@abp/ng.setting-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js new file mode 100644 index 0000000000..8f55023469 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js @@ -0,0 +1,407 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@angular/router'), require('snq'), require('@abp/ng.theme.shared')) : + typeof define === 'function' && define.amd ? define('@abp/ng.setting-management', ['exports', '@angular/core', '@abp/ng.core', '@angular/router', 'snq', '@abp/ng.theme.shared'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['setting-management'] = {}), global.ng.core, global.ng_core, global.ng.router, global.snq, global.ng_theme_shared)); +}(this, function (exports, core, ng_core, router, snq, ng_theme_shared) { 'use strict'; + + snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + } + + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + } + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + + function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + } + + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + } + + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + } + + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + } + + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result.default = mod; + return result; + } + + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootSettingManagementModule = /** @class */ (function () { + function RootSettingManagementModule() { + } + /** + * @return {?} + */ + RootSettingManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + }; + RootSettingManagementModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootSettingManagementModule; + }()); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var InitialService = /** @class */ (function () { + function InitialService(router) { + this.router = router; + this.settings = this.router.config + .map((/** + * @param {?} route + * @return {?} + */ + function (route) { return snq((/** + * @return {?} + */ + function () { return route.data.routes.settings; })); })) + .filter((/** + * @param {?} settings + * @return {?} + */ + function (settings) { return settings && settings.length; })) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return __spread(acc, val); }), []) + .sort((/** + * @param {?} a + * @param {?} b + * @return {?} + */ + function (a, b) { return a.order - b.order; })); + } + InitialService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + InitialService.ctorParameters = function () { return [ + { type: router.Router } + ]; }; + return InitialService; + }()); + if (false) { + /** @type {?} */ + InitialService.prototype.settings; + /** + * @type {?} + * @private + */ + InitialService.prototype.router; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SettingComponent = /** @class */ (function () { + function SettingComponent(initialService) { + this.initialService = initialService; + this.selected = (/** @type {?} */ ({})); + } + /** + * @return {?} + */ + SettingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + }; + SettingComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-setting', + template: "
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n" + }] } + ]; + /** @nocollapse */ + SettingComponent.ctorParameters = function () { return [ + { type: InitialService } + ]; }; + return SettingComponent; + }()); + if (false) { + /** @type {?} */ + SettingComponent.prototype.settings; + /** @type {?} */ + SettingComponent.prototype.selected; + /** + * @type {?} + * @private + */ + SettingComponent.prototype.initialService; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var routes = [ + { + path: '', + component: ng_core.DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, + ]; + var SettingManagementRoutingModule = /** @class */ (function () { + function SettingManagementRoutingModule() { + } + SettingManagementRoutingModule.decorators = [ + { type: core.NgModule, args: [{ + imports: [router.RouterModule.forChild(routes)], + exports: [router.RouterModule], + },] } + ]; + return SettingManagementRoutingModule; + }()); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SettingManagementModule = /** @class */ (function () { + function SettingManagementModule(initialService) { + } + SettingManagementModule.decorators = [ + { type: core.NgModule, args: [{ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, ng_core.CoreModule, ng_theme_shared.ThemeSharedModule], + providers: [InitialService], + },] } + ]; + /** @nocollapse */ + SettingManagementModule.ctorParameters = function () { return [ + { type: InitialService, decorators: [{ type: core.Self }] } + ]; }; + return SettingManagementModule; + }()); + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var SETTING_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + order: 6, + iconClass: 'fa fa-cog', + }, + ])), + settings: [], + }; + + exports.RootSettingManagementModule = RootSettingManagementModule; + exports.SETTING_MANAGEMENT_ROUTES = SETTING_MANAGEMENT_ROUTES; + exports.SettingComponent = SettingComponent; + exports.SettingManagementModule = SettingManagementModule; + exports.ɵa = SettingComponent; + exports.ɵb = InitialService; + exports.ɵc = SettingManagementRoutingModule; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=abp-ng.setting-management.umd.js.map diff --git a/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js.map b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js.map new file mode 100644 index 0000000000..ce94abda1b --- /dev/null +++ b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.setting-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.setting-management/lib/root-setting-management.module.ts","ng://@abp/ng.setting-management/lib/components/services/initial.service.ts","ng://@abp/ng.setting-management/lib/components/setting/setting.component.ts","ng://@abp/ng.setting-management/lib/setting-management-routing.module.ts","ng://@abp/ng.setting-management/lib/setting-management.module.ts","ng://@abp/ng.setting-management/lib/constants/routes.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootSettingManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootSettingManagementModule,\n providers: [],\n };\n }\n}\n","import { SettingTab } from '@abp/ng.theme.shared';\nimport { Injectable, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport snq from 'snq';\n\n@Injectable()\nexport class InitialService {\n public settings: SettingTab[];\n\n constructor(private router: Router) {\n this.settings = this.router.config\n .map(route => snq(() => route.data.routes.settings))\n .filter(settings => settings && settings.length)\n .reduce((acc, val) => [...acc, ...val], [])\n .sort((a, b) => a.order - b.order);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SettingTab, fade } from '@abp/ng.theme.shared';\nimport { InitialService } from '../services/initial.service';\n\n@Component({\n selector: 'abp-setting',\n templateUrl: './setting.component.html',\n})\nexport class SettingComponent implements OnInit {\n settings: SettingTab[];\n\n selected = {} as SettingTab;\n\n constructor(private initialService: InitialService) {}\n\n ngOnInit() {\n this.settings = this.initialService.settings;\n this.selected = this.settings[0];\n }\n}\n","import { DynamicLayoutComponent } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { SettingComponent } from './components/setting/setting.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: '', component: SettingComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SettingManagementRoutingModule {}\n","import { CoreModule, noop } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER, Self } from '@angular/core';\nimport { SettingComponent } from './components/setting/setting.component';\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { InitialService } from './components/services/initial.service';\n\n@NgModule({\n declarations: [SettingComponent],\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule],\n providers: [InitialService],\n})\nexport class SettingManagementModule {\n constructor(@Self() initialService: InitialService) {}\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const SETTING_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'Settings',\n path: 'setting-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n order: 6,\n iconClass: 'fa fa-cog',\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"],"names":["NgModule","Injectable","Router","Component","DynamicLayoutComponent","RouterModule","CoreModule","ThemeSharedModule","Self"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js new file mode 100644 index 0000000000..1d002c98f4 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js @@ -0,0 +1,2 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@abp/ng.core"),require("@angular/router"),require("snq"),require("@abp/ng.theme.shared")):"function"==typeof define&&define.amd?define("@abp/ng.setting-management",["exports","@angular/core","@abp/ng.core","@angular/router","snq","@abp/ng.theme.shared"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["setting-management"]={}),e.ng.core,e.ng_core,e.ng.router,e.snq,e.ng_theme_shared)}(this,function(e,n,t,r,a,o){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;function i(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,a,o=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(t=o.return)&&t.call(o)}finally{if(a)throw a.error}}return i}var s=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:n.NgModule,args:[{}]}],e}(),c=function(){function e(e){this.router=e,this.settings=this.router.config.map(function(e){return a(function(){return e.data.routes.settings})}).filter(function(e){return e&&e.length}).reduce(function(e,n){return function(){for(var e=[],n=0;n\n
    \n

    {{ \'AbpSettingManagement::Settings\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n'}]}],e.ctorParameters=function(){return[{type:c}]},e}();var d=[{path:"",component:t.DynamicLayoutComponent,children:[{path:"",component:l}]}],u=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[r.RouterModule.forChild(d)],exports:[r.RouterModule]}]}],e}(),p=function(){function e(e){}return e.decorators=[{type:n.NgModule,args:[{declarations:[l],imports:[u,t.CoreModule,o.ThemeSharedModule],providers:[c]}]}],e.ctorParameters=function(){return[{type:c,decorators:[{type:n.Self}]}]},e}();e.RootSettingManagementModule=s,e.SETTING_MANAGEMENT_ROUTES={routes:[{name:"Settings",path:"setting-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",order:6,iconClass:"fa fa-cog"}],settings:[]},e.SettingComponent=l,e.SettingManagementModule=p,e.ɵa=l,e.ɵb=c,e.ɵc=u,Object.defineProperty(e,"__esModule",{value:!0})}); +//# sourceMappingURL=abp-ng.setting-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js.map b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js.map new file mode 100644 index 0000000000..925d347e20 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/bundles/abp-ng.setting-management.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.setting-management/lib/root-setting-management.module.ts","ng://@abp/ng.setting-management/lib/components/services/initial.service.ts","ng://@abp/ng.setting-management/lib/components/setting/setting.component.ts","ng://@abp/ng.setting-management/lib/setting-management-routing.module.ts","ng://@abp/ng.setting-management/lib/setting-management.module.ts","ng://@abp/ng.setting-management/lib/constants/routes.ts"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","RootSettingManagementModule","forRoot","ngModule","providers","NgModule","args","InitialService","router","this","settings","config","map","route","snq","data","routes","filter","length","reduce","acc","val","arguments","concat","__spread","sort","a","b","order","Injectable","Router","SettingComponent","initialService","selected","prototype","ngOnInit","Component","selector","template","path","component","DynamicLayoutComponent","children","SettingManagementRoutingModule","imports","RouterModule","forChild","exports","SettingManagementModule","declarations","CoreModule","ThemeSharedModule","decorators","type","Self","name","parentName","layout","iconClass"],"mappings":"slBAuHO,SAASA,EAAOC,EAAGC,GACtB,IAAIC,EAAsB,mBAAXC,QAAyBH,EAAEG,OAAOC,UACjD,IAAKF,EAAG,OAAOF,EACf,IAAmBK,EAAYC,EAA3BC,EAAIL,EAAEM,KAAKR,GAAOS,EAAK,GAC3B,IACI,WAAc,IAANR,GAAgBA,KAAM,MAAQI,EAAIE,EAAEG,QAAQC,MAAMF,EAAGG,KAAKP,EAAEQ,OAExE,MAAOC,GAASR,EAAI,CAAEQ,MAAOA,GACjC,QACQ,IACQT,IAAMA,EAAEM,OAAST,EAAIK,EAAU,SAAIL,EAAEM,KAAKD,GAE1D,QAAkB,GAAID,EAAG,MAAMA,EAAEQ,OAE7B,OAAOL,ECrIX,IAAAM,EAAA,WAEA,SAAAA,KAQA,OANSA,EAAAC,QAAP,WACE,MAAO,CACLC,SAAUF,EACVG,UAAW,yBALhBC,EAAAA,SAAQC,KAAA,CAAC,MAQVL,EAVA,gBCSE,SAAAM,EAAoBC,GAAAC,KAAAD,OAAAA,EAClBC,KAAKC,SAAWD,KAAKD,OAAOG,OACzBC,IAAG,SAACC,GAAS,OAAAC,EAAG,WAAO,OAAAD,EAAME,KAAKC,OAAON,aACzCO,OAAM,SAACP,GAAY,OAAAA,GAAYA,EAASQ,SACxCC,OAAM,SAAEC,EAAKC,GAAQ,OF2HrB,WACH,IAAK,IAAI1B,EAAK,GAAIF,EAAI,EAAGA,EAAI6B,UAAUJ,OAAQzB,IAC3CE,EAAKA,EAAG4B,OAAOtC,EAAOqC,UAAU7B,KACpC,OAAOE,EE9HiB6B,CAAIJ,EAAQC,IAAM,IACvCI,KAAI,SAAEC,EAAGC,GAAM,OAAAD,EAAEE,MAAQD,EAAEC,QAElC,2BAXCC,EAAAA,sDAHQC,EAAAA,UAcTvB,KChBA,IAAAwB,EAAA,WAaE,SAAAA,EAAoBC,GAAAvB,KAAAuB,eAAAA,EAFpBvB,KAAAwB,SAAQ,GAQV,OAJEF,EAAAG,UAAAC,SAAA,WACE1B,KAAKC,SAAWD,KAAKuB,eAAetB,SACpCD,KAAKwB,SAAWxB,KAAKC,SAAS,wBAbjC0B,EAAAA,UAAS9B,KAAA,CAAC,CACT+B,SAAU,cACVC,SAAA,gtDAJO/B,KAiBTwB,EAnBA,OCKMf,EAAiB,CACrB,CACEuB,KAAM,GACNC,UAAWC,EAAAA,uBACXC,SAAU,CAAC,CAAEH,KAAM,GAAIC,UAAWT,MAItCY,EAAA,WAAA,SAAAA,KAI6C,2BAJ5CtC,EAAAA,SAAQC,KAAA,CAAC,CACRsC,QAAS,CAACC,EAAAA,aAAaC,SAAS9B,IAChC+B,QAAS,CAACF,EAAAA,kBAEiCF,EAJ7C,GCbAK,EAAA,WAaE,SAAAA,EAAoBhB,IACtB,2BAPC3B,EAAAA,SAAQC,KAAA,CAAC,CACR2C,aAAc,CAAClB,GACfa,QAAS,CAACD,EAAgCO,EAAAA,WAAYC,EAAAA,mBACtD/C,UAAW,CAACG,gDALLA,EAAc6C,WAAA,CAAA,CAAAC,KAQRC,EAAAA,UACfN,EAdA,+DCEyC,CACvChC,OAAM,CACJ,CACEuC,KAAM,WACNhB,KAAM,qBACNiB,WAAY,uCACZC,OAAM,cACN7B,MAAO,EACP8B,UAAW,cAGfhD,SAAU","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootSettingManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootSettingManagementModule,\n providers: [],\n };\n }\n}\n","import { SettingTab } from '@abp/ng.theme.shared';\nimport { Injectable, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport snq from 'snq';\n\n@Injectable()\nexport class InitialService {\n public settings: SettingTab[];\n\n constructor(private router: Router) {\n this.settings = this.router.config\n .map(route => snq(() => route.data.routes.settings))\n .filter(settings => settings && settings.length)\n .reduce((acc, val) => [...acc, ...val], [])\n .sort((a, b) => a.order - b.order);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SettingTab, fade } from '@abp/ng.theme.shared';\nimport { InitialService } from '../services/initial.service';\n\n@Component({\n selector: 'abp-setting',\n templateUrl: './setting.component.html',\n})\nexport class SettingComponent implements OnInit {\n settings: SettingTab[];\n\n selected = {} as SettingTab;\n\n constructor(private initialService: InitialService) {}\n\n ngOnInit() {\n this.settings = this.initialService.settings;\n this.selected = this.settings[0];\n }\n}\n","import { DynamicLayoutComponent } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { SettingComponent } from './components/setting/setting.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: '', component: SettingComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SettingManagementRoutingModule {}\n","import { CoreModule, noop } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER, Self } from '@angular/core';\nimport { SettingComponent } from './components/setting/setting.component';\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { InitialService } from './components/services/initial.service';\n\n@NgModule({\n declarations: [SettingComponent],\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule],\n providers: [InitialService],\n})\nexport class SettingManagementModule {\n constructor(@Self() initialService: InitialService) {}\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const SETTING_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'Settings',\n path: 'setting-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n order: 6,\n iconClass: 'fa fa-cog',\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/abp-ng.setting-management.js b/npm/ng-packs/dist/setting-management/esm2015/abp-ng.setting-management.js new file mode 100644 index 0000000000..d310e82ff6 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/abp-ng.setting-management.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * Generated bundle index. Do not edit. + */ +export { RootSettingManagementModule, SettingManagementModule, SettingComponent, SETTING_MANAGEMENT_ROUTES } from './public-api'; +export { InitialService as ɵb } from './lib/components/services/initial.service'; +export { SettingComponent as ɵa } from './lib/components/setting/setting.component'; +export { SettingManagementRoutingModule as ɵc } from './lib/setting-management-routing.module'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtJbml0aWFsU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VydmljZXMvaW5pdGlhbC5zZXJ2aWNlJztcbmV4cG9ydCB7U2V0dGluZ0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQge1NldHRpbmdNYW5hZ2VtZW50Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL3NldHRpbmctbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/components/index.js b/npm/ng-packs/dist/setting-management/esm2015/lib/components/index.js new file mode 100644 index 0000000000..b45a214ce1 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/components/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { SettingComponent } from './setting/setting.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpQ0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/components/services/initial.service.js b/npm/ng-packs/dist/setting-management/esm2015/lib/components/services/initial.service.js new file mode 100644 index 0000000000..eb4e6b6959 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/components/services/initial.service.js @@ -0,0 +1,58 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; +import snq from 'snq'; +export class InitialService { + /** + * @param {?} router + */ + constructor(router) { + this.router = router; + this.settings = this.router.config + .map((/** + * @param {?} route + * @return {?} + */ + route => snq((/** + * @return {?} + */ + () => route.data.routes.settings)))) + .filter((/** + * @param {?} settings + * @return {?} + */ + settings => settings && settings.length)) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + (acc, val) => [...acc, ...val]), []) + .sort((/** + * @param {?} a + * @param {?} b + * @return {?} + */ + (a, b) => a.order - b.order)); + } +} +InitialService.decorators = [ + { type: Injectable } +]; +/** @nocollapse */ +InitialService.ctorParameters = () => [ + { type: Router } +]; +if (false) { + /** @type {?} */ + InitialService.prototype.settings; + /** + * @type {?} + * @private + */ + InitialService.prototype.router; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZXJ2aWNlcy9pbml0aWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUd0QixNQUFNLE9BQU8sY0FBYzs7OztJQUd6QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUMvQixHQUFHOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUMsRUFBQzthQUNuRCxNQUFNOzs7O1FBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBQzthQUMvQyxNQUFNOzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFFLEVBQUUsQ0FBQzthQUMxQyxJQUFJOzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBVkYsVUFBVTs7OztZQUhGLE1BQU07Ozs7SUFLYixrQ0FBOEI7Ozs7O0lBRWxCLGdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldHRpbmdUYWIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbml0aWFsU2VydmljZSB7XG4gIHB1YmxpYyBzZXR0aW5nczogU2V0dGluZ1RhYltdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLnNldHRpbmdzID0gdGhpcy5yb3V0ZXIuY29uZmlnXG4gICAgICAubWFwKHJvdXRlID0+IHNucSgoKSA9PiByb3V0ZS5kYXRhLnJvdXRlcy5zZXR0aW5ncykpXG4gICAgICAuZmlsdGVyKHNldHRpbmdzID0+IHNldHRpbmdzICYmIHNldHRpbmdzLmxlbmd0aClcbiAgICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBbLi4uYWNjLCAuLi52YWxdLCBbXSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/components/setting/setting.component.js b/npm/ng-packs/dist/setting-management/esm2015/lib/components/setting/setting.component.js new file mode 100644 index 0000000000..13536947ca --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/components/setting/setting.component.js @@ -0,0 +1,44 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component } from '@angular/core'; +import { InitialService } from '../services/initial.service'; +export class SettingComponent { + /** + * @param {?} initialService + */ + constructor(initialService) { + this.initialService = initialService; + this.selected = (/** @type {?} */ ({})); + } + /** + * @return {?} + */ + ngOnInit() { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + } +} +SettingComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-setting', + template: "
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n" + }] } +]; +/** @nocollapse */ +SettingComponent.ctorParameters = () => [ + { type: InitialService } +]; +if (false) { + /** @type {?} */ + SettingComponent.prototype.settings; + /** @type {?} */ + SettingComponent.prototype.selected; + /** + * @type {?} + * @private + */ + SettingComponent.prototype.initialService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTTdELE1BQU0sT0FBTyxnQkFBZ0I7Ozs7SUFLM0IsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRmxELGFBQVEsR0FBRyxtQkFBQSxFQUFFLEVBQWMsQ0FBQztJQUV5QixDQUFDOzs7O0lBRXRELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7WUFkRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHN1REFBdUM7YUFDeEM7Ozs7WUFMUSxjQUFjOzs7O0lBT3JCLG9DQUF1Qjs7SUFFdkIsb0NBQTRCOzs7OztJQUVoQiwwQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ1RhYiwgZmFkZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IEluaXRpYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW5pdGlhbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXNldHRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZXR0aW5nczogU2V0dGluZ1RhYltdO1xuXG4gIHNlbGVjdGVkID0ge30gYXMgU2V0dGluZ1RhYjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluaXRpYWxTZXJ2aWNlOiBJbml0aWFsU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHRpbmdzID0gdGhpcy5pbml0aWFsU2VydmljZS5zZXR0aW5ncztcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zZXR0aW5nc1swXTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/constants/index.js b/npm/ng-packs/dist/setting-management/esm2015/lib/constants/index.js new file mode 100644 index 0000000000..296839815f --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/constants/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { SETTING_MANAGEMENT_ROUTES } from './routes'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDBDQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGVzJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/setting-management/esm2015/lib/constants/routes.js new file mode 100644 index 0000000000..1be56c2214 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/constants/routes.js @@ -0,0 +1,19 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +export const SETTING_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + order: 6, + iconClass: 'fa fa-cog', + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL3JvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sT0FBTyx5QkFBeUIsR0FBRztJQUN2QyxNQUFNLEVBQUUsbUJBQUE7UUFDTjtZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFLHNDQUFzQztZQUNsRCxNQUFNLGlDQUF5QjtZQUMvQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsRUFBRSxXQUFXO1NBQ3ZCO0tBQ0YsRUFBbUI7SUFDcEIsUUFBUSxFQUFFLEVBQUU7Q0FDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ1NldHRpbmdzJyxcbiAgICAgIHBhdGg6ICdzZXR0aW5nLW1hbmFnZW1lbnQnLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgb3JkZXI6IDYsXG4gICAgICBpY29uQ2xhc3M6ICdmYSBmYS1jb2cnLFxuICAgIH0sXG4gIF0gYXMgQUJQLkZ1bGxSb3V0ZVtdLFxuICBzZXR0aW5nczogW10sXG59O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/root-setting-management.module.js b/npm/ng-packs/dist/setting-management/esm2015/lib/root-setting-management.module.js new file mode 100644 index 0000000000..3061f28771 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/root-setting-management.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +export class RootSettingManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + } +} +RootSettingManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1zZXR0aW5nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1zZXR0aW5nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMkJBQTJCOzs7O0lBQ3RDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBUEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdFNldHRpbmdNYW5hZ2VtZW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSb290U2V0dGluZ01hbmFnZW1lbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management-routing.module.js b/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management-routing.module.js new file mode 100644 index 0000000000..b1b24b570e --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management-routing.module.js @@ -0,0 +1,25 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { DynamicLayoutComponent } from '@abp/ng.core'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { SettingComponent } from './components/setting/setting.component'; +/** @type {?} */ +const routes = [ + { + path: '', + component: DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, +]; +export class SettingManagementRoutingModule { +} +SettingManagementRoutingModule.decorators = [ + { type: NgModule, args: [{ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], + },] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2V0dGluZy1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O01BRXBFLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7S0FDdEQ7Q0FDRjtBQU1ELE1BQU0sT0FBTyw4QkFBOEI7OztZQUoxQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2V0dGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5nL3NldHRpbmcuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgY2hpbGRyZW46IFt7IHBhdGg6ICcnLCBjb21wb25lbnQ6IFNldHRpbmdDb21wb25lbnQgfV0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ01hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIHt9XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management.module.js b/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management.module.js new file mode 100644 index 0000000000..e1b12f394c --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/lib/setting-management.module.js @@ -0,0 +1,28 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { CoreModule } from '@abp/ng.core'; +import { NgModule, Self } from '@angular/core'; +import { SettingComponent } from './components/setting/setting.component'; +import { SettingManagementRoutingModule } from './setting-management-routing.module'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { InitialService } from './components/services/initial.service'; +export class SettingManagementModule { + /** + * @param {?} initialService + */ + constructor(initialService) { } +} +SettingManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule], + providers: [InitialService], + },] } +]; +/** @nocollapse */ +SettingManagementModule.ctorParameters = () => [ + { type: InitialService, decorators: [{ type: Self }] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3NldHRpbmctbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBd0MsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQU92RSxNQUFNLE9BQU8sdUJBQXVCOzs7O0lBQ2xDLFlBQW9CLGNBQThCLElBQUcsQ0FBQzs7O1lBTnZELFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDaEMsT0FBTyxFQUFFLENBQUMsOEJBQThCLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO2dCQUN4RSxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDNUI7Ozs7WUFOUSxjQUFjLHVCQVFSLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBub29wIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBBUFBfSU5JVElBTElaRVIsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nTWFuYWdlbWVudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3NldHRpbmctbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IEluaXRpYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb21wb25lbnRzL3NlcnZpY2VzL2luaXRpYWwuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NldHRpbmdDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbU2V0dGluZ01hbmFnZW1lbnRSb3V0aW5nTW9kdWxlLCBDb3JlTW9kdWxlLCBUaGVtZVNoYXJlZE1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0luaXRpYWxTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ01hbmFnZW1lbnRNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihAU2VsZigpIGluaXRpYWxTZXJ2aWNlOiBJbml0aWFsU2VydmljZSkge31cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm2015/public-api.js b/npm/ng-packs/dist/setting-management/esm2015/public-api.js new file mode 100644 index 0000000000..dafa05f548 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm2015/public-api.js @@ -0,0 +1,9 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { RootSettingManagementModule } from './lib/root-setting-management.module'; +export { SettingManagementModule } from './lib/setting-management.module'; +export { SettingComponent } from './lib/components'; +export { SETTING_MANAGEMENT_ROUTES } from './lib/constants'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQWMsc0NBQXNDLENBQUM7QUFDckQsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMsMENBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9yb290LXNldHRpbmctbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2V0dGluZy1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/abp-ng.setting-management.js b/npm/ng-packs/dist/setting-management/esm5/abp-ng.setting-management.js new file mode 100644 index 0000000000..d310e82ff6 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/abp-ng.setting-management.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * Generated bundle index. Do not edit. + */ +export { RootSettingManagementModule, SettingManagementModule, SettingComponent, SETTING_MANAGEMENT_ROUTES } from './public-api'; +export { InitialService as ɵb } from './lib/components/services/initial.service'; +export { SettingComponent as ɵa } from './lib/components/setting/setting.component'; +export { SettingManagementRoutingModule as ɵc } from './lib/setting-management-routing.module'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0hBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtJbml0aWFsU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VydmljZXMvaW5pdGlhbC5zZXJ2aWNlJztcbmV4cG9ydCB7U2V0dGluZ0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQge1NldHRpbmdNYW5hZ2VtZW50Um91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL3NldHRpbmctbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/components/index.js b/npm/ng-packs/dist/setting-management/esm5/lib/components/index.js new file mode 100644 index 0000000000..b45a214ce1 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/components/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { SettingComponent } from './setting/setting.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpQ0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/components/services/initial.service.js b/npm/ng-packs/dist/setting-management/esm5/lib/components/services/initial.service.js new file mode 100644 index 0000000000..c37570947e --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/components/services/initial.service.js @@ -0,0 +1,58 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; +import snq from 'snq'; +var InitialService = /** @class */ (function () { + function InitialService(router) { + this.router = router; + this.settings = this.router.config + .map((/** + * @param {?} route + * @return {?} + */ + function (route) { return snq((/** + * @return {?} + */ + function () { return route.data.routes.settings; })); })) + .filter((/** + * @param {?} settings + * @return {?} + */ + function (settings) { return settings && settings.length; })) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return tslib_1.__spread(acc, val); }), []) + .sort((/** + * @param {?} a + * @param {?} b + * @return {?} + */ + function (a, b) { return a.order - b.order; })); + } + InitialService.decorators = [ + { type: Injectable } + ]; + /** @nocollapse */ + InitialService.ctorParameters = function () { return [ + { type: Router } + ]; }; + return InitialService; +}()); +export { InitialService }; +if (false) { + /** @type {?} */ + InitialService.prototype.settings; + /** + * @type {?} + * @private + */ + InitialService.prototype.router; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZXJ2aWNlcy9pbml0aWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEI7SUFJRSx3QkFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDL0IsR0FBRzs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsR0FBRzs7O1FBQUMsY0FBTSxPQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBMUIsQ0FBMEIsRUFBQyxFQUFyQyxDQUFxQyxFQUFDO2FBQ25ELE1BQU07Ozs7UUFBQyxVQUFBLFFBQVEsSUFBSSxPQUFBLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUEzQixDQUEyQixFQUFDO2FBQy9DLE1BQU07Ozs7O1FBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRyxJQUFLLHdCQUFJLEdBQUcsRUFBSyxHQUFHLEdBQWYsQ0FBZ0IsR0FBRSxFQUFFLENBQUM7YUFDMUMsSUFBSTs7Ozs7UUFBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQWpCLENBQWlCLEVBQUMsQ0FBQztJQUN2QyxDQUFDOztnQkFWRixVQUFVOzs7O2dCQUhGLE1BQU07O0lBY2YscUJBQUM7Q0FBQSxBQVhELElBV0M7U0FWWSxjQUFjOzs7SUFDekIsa0NBQThCOzs7OztJQUVsQixnQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXR0aW5nVGFiIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5pdGlhbFNlcnZpY2Uge1xuICBwdWJsaWMgc2V0dGluZ3M6IFNldHRpbmdUYWJbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHRoaXMucm91dGVyLmNvbmZpZ1xuICAgICAgLm1hcChyb3V0ZSA9PiBzbnEoKCkgPT4gcm91dGUuZGF0YS5yb3V0ZXMuc2V0dGluZ3MpKVxuICAgICAgLmZpbHRlcihzZXR0aW5ncyA9PiBzZXR0aW5ncyAmJiBzZXR0aW5ncy5sZW5ndGgpXG4gICAgICAucmVkdWNlKChhY2MsIHZhbCkgPT4gWy4uLmFjYywgLi4udmFsXSwgW10pXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/components/setting/setting.component.js b/npm/ng-packs/dist/setting-management/esm5/lib/components/setting/setting.component.js new file mode 100644 index 0000000000..98d28a526b --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/components/setting/setting.component.js @@ -0,0 +1,46 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component } from '@angular/core'; +import { InitialService } from '../services/initial.service'; +var SettingComponent = /** @class */ (function () { + function SettingComponent(initialService) { + this.initialService = initialService; + this.selected = (/** @type {?} */ ({})); + } + /** + * @return {?} + */ + SettingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + }; + SettingComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-setting', + template: "
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n" + }] } + ]; + /** @nocollapse */ + SettingComponent.ctorParameters = function () { return [ + { type: InitialService } + ]; }; + return SettingComponent; +}()); +export { SettingComponent }; +if (false) { + /** @type {?} */ + SettingComponent.prototype.settings; + /** @type {?} */ + SettingComponent.prototype.selected; + /** + * @type {?} + * @private + */ + SettingComponent.prototype.initialService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEO0lBU0UsMEJBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUZsRCxhQUFRLEdBQUcsbUJBQUEsRUFBRSxFQUFjLENBQUM7SUFFeUIsQ0FBQzs7OztJQUV0RCxtQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDOztnQkFkRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLHN1REFBdUM7aUJBQ3hDOzs7O2dCQUxRLGNBQWM7O0lBaUJ2Qix1QkFBQztDQUFBLEFBZkQsSUFlQztTQVhZLGdCQUFnQjs7O0lBQzNCLG9DQUF1Qjs7SUFFdkIsb0NBQTRCOzs7OztJQUVoQiwwQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ1RhYiwgZmFkZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IEluaXRpYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW5pdGlhbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXNldHRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZXR0aW5nczogU2V0dGluZ1RhYltdO1xuXG4gIHNlbGVjdGVkID0ge30gYXMgU2V0dGluZ1RhYjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluaXRpYWxTZXJ2aWNlOiBJbml0aWFsU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHRpbmdzID0gdGhpcy5pbml0aWFsU2VydmljZS5zZXR0aW5ncztcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zZXR0aW5nc1swXTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/constants/index.js b/npm/ng-packs/dist/setting-management/esm5/lib/constants/index.js new file mode 100644 index 0000000000..296839815f --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/constants/index.js @@ -0,0 +1,6 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { SETTING_MANAGEMENT_ROUTES } from './routes'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDBDQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGVzJztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/constants/routes.js b/npm/ng-packs/dist/setting-management/esm5/lib/constants/routes.js new file mode 100644 index 0000000000..fb704e6d6e --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/constants/routes.js @@ -0,0 +1,19 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +export var SETTING_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + order: 6, + iconClass: 'fa fa-cog', + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzL3JvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sS0FBTyx5QkFBeUIsR0FBRztJQUN2QyxNQUFNLEVBQUUsbUJBQUE7UUFDTjtZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFLHNDQUFzQztZQUNsRCxNQUFNLGlDQUF5QjtZQUMvQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsRUFBRSxXQUFXO1NBQ3ZCO0tBQ0YsRUFBbUI7SUFDcEIsUUFBUSxFQUFFLEVBQUU7Q0FDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ1NldHRpbmdzJyxcbiAgICAgIHBhdGg6ICdzZXR0aW5nLW1hbmFnZW1lbnQnLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgb3JkZXI6IDYsXG4gICAgICBpY29uQ2xhc3M6ICdmYSBmYS1jb2cnLFxuICAgIH0sXG4gIF0gYXMgQUJQLkZ1bGxSb3V0ZVtdLFxuICBzZXR0aW5nczogW10sXG59O1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/root-setting-management.module.js b/npm/ng-packs/dist/setting-management/esm5/lib/root-setting-management.module.js new file mode 100644 index 0000000000..ac9c911697 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/root-setting-management.module.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +var RootSettingManagementModule = /** @class */ (function () { + function RootSettingManagementModule() { + } + /** + * @return {?} + */ + RootSettingManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + }; + RootSettingManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootSettingManagementModule; +}()); +export { RootSettingManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1zZXR0aW5nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvcm9vdC1zZXR0aW5nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RDtJQUFBO0lBUUEsQ0FBQzs7OztJQU5RLG1DQUFPOzs7SUFBZDtRQUNFLE9BQU87WUFDTCxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7O2dCQVBGLFFBQVEsU0FBQyxFQUFFOztJQVFaLGtDQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFJvb3RTZXR0aW5nTWFuYWdlbWVudE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUm9vdFNldHRpbmdNYW5hZ2VtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/setting-management-routing.module.js b/npm/ng-packs/dist/setting-management/esm5/lib/setting-management-routing.module.js new file mode 100644 index 0000000000..2bbad72de2 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/setting-management-routing.module.js @@ -0,0 +1,29 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { DynamicLayoutComponent } from '@abp/ng.core'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { SettingComponent } from './components/setting/setting.component'; +/** @type {?} */ +var routes = [ + { + path: '', + component: DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, +]; +var SettingManagementRoutingModule = /** @class */ (function () { + function SettingManagementRoutingModule() { + } + SettingManagementRoutingModule.decorators = [ + { type: NgModule, args: [{ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], + },] } + ]; + return SettingManagementRoutingModule; +}()); +export { SettingManagementRoutingModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2V0dGluZy1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0lBRXBFLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7S0FDdEQ7Q0FDRjtBQUVEO0lBQUE7SUFJNkMsQ0FBQzs7Z0JBSjdDLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCOztJQUM0QyxxQ0FBQztDQUFBLEFBSjlDLElBSThDO1NBQWpDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxuICAgIGNoaWxkcmVuOiBbeyBwYXRoOiAnJywgY29tcG9uZW50OiBTZXR0aW5nQ29tcG9uZW50IH1dLFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdNYW5hZ2VtZW50Um91dGluZ01vZHVsZSB7fVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/lib/setting-management.module.js b/npm/ng-packs/dist/setting-management/esm5/lib/setting-management.module.js new file mode 100644 index 0000000000..9aa107cfa6 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/lib/setting-management.module.js @@ -0,0 +1,28 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { CoreModule } from '@abp/ng.core'; +import { NgModule, Self } from '@angular/core'; +import { SettingComponent } from './components/setting/setting.component'; +import { SettingManagementRoutingModule } from './setting-management-routing.module'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { InitialService } from './components/services/initial.service'; +var SettingManagementModule = /** @class */ (function () { + function SettingManagementModule(initialService) { + } + SettingManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule], + providers: [InitialService], + },] } + ]; + /** @nocollapse */ + SettingManagementModule.ctorParameters = function () { return [ + { type: InitialService, decorators: [{ type: Self }] } + ]; }; + return SettingManagementModule; +}()); +export { SettingManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3NldHRpbmctbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBd0MsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV2RTtJQU1FLGlDQUFvQixjQUE4QjtJQUFHLENBQUM7O2dCQU52RCxRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLDhCQUE4QixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDeEUsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1Qjs7OztnQkFOUSxjQUFjLHVCQVFSLElBQUk7O0lBQ25CLDhCQUFDO0NBQUEsQUFQRCxJQU9DO1NBRlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgbm9vcCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgQVBQX0lOSVRJQUxJWkVSLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2V0dGluZ01hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9zZXR0aW5nLW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBJbml0aWFsU2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50cy9zZXJ2aWNlcy9pbml0aWFsLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTZXR0aW5nQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1NldHRpbmdNYW5hZ2VtZW50Um91dGluZ01vZHVsZSwgQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtJbml0aWFsU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdNYW5hZ2VtZW50TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQFNlbGYoKSBpbml0aWFsU2VydmljZTogSW5pdGlhbFNlcnZpY2UpIHt9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/esm5/public-api.js b/npm/ng-packs/dist/setting-management/esm5/public-api.js new file mode 100644 index 0000000000..dafa05f548 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/esm5/public-api.js @@ -0,0 +1,9 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +export { RootSettingManagementModule } from './lib/root-setting-management.module'; +export { SettingManagementModule } from './lib/setting-management.module'; +export { SettingComponent } from './lib/components'; +export { SETTING_MANAGEMENT_ROUTES } from './lib/constants'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQWMsc0NBQXNDLENBQUM7QUFDckQsd0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMsMENBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9yb290LXNldHRpbmctbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2V0dGluZy1tYW5hZ2VtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js b/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js new file mode 100644 index 0000000000..5eee600821 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js @@ -0,0 +1,206 @@ +import { NgModule, Injectable, Component, Self } from '@angular/core'; +import { DynamicLayoutComponent, CoreModule } from '@abp/ng.core'; +import { Router, RouterModule } from '@angular/router'; +import snq from 'snq'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootSettingManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + } +} +RootSettingManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class InitialService { + /** + * @param {?} router + */ + constructor(router) { + this.router = router; + this.settings = this.router.config + .map((/** + * @param {?} route + * @return {?} + */ + route => snq((/** + * @return {?} + */ + () => route.data.routes.settings)))) + .filter((/** + * @param {?} settings + * @return {?} + */ + settings => settings && settings.length)) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + (acc, val) => [...acc, ...val]), []) + .sort((/** + * @param {?} a + * @param {?} b + * @return {?} + */ + (a, b) => a.order - b.order)); + } +} +InitialService.decorators = [ + { type: Injectable } +]; +/** @nocollapse */ +InitialService.ctorParameters = () => [ + { type: Router } +]; +if (false) { + /** @type {?} */ + InitialService.prototype.settings; + /** + * @type {?} + * @private + */ + InitialService.prototype.router; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class SettingComponent { + /** + * @param {?} initialService + */ + constructor(initialService) { + this.initialService = initialService; + this.selected = (/** @type {?} */ ({})); + } + /** + * @return {?} + */ + ngOnInit() { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + } +} +SettingComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-setting', + template: "
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n" + }] } +]; +/** @nocollapse */ +SettingComponent.ctorParameters = () => [ + { type: InitialService } +]; +if (false) { + /** @type {?} */ + SettingComponent.prototype.settings; + /** @type {?} */ + SettingComponent.prototype.selected; + /** + * @type {?} + * @private + */ + SettingComponent.prototype.initialService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +const routes = [ + { + path: '', + component: DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, +]; +class SettingManagementRoutingModule { +} +SettingManagementRoutingModule.decorators = [ + { type: NgModule, args: [{ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], + },] } +]; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class SettingManagementModule { + /** + * @param {?} initialService + */ + constructor(initialService) { } +} +SettingManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule], + providers: [InitialService], + },] } +]; +/** @nocollapse */ +SettingManagementModule.ctorParameters = () => [ + { type: InitialService, decorators: [{ type: Self }] } +]; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +const SETTING_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + order: 6, + iconClass: 'fa fa-cog', + }, + ])), + settings: [], +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +export { RootSettingManagementModule, SETTING_MANAGEMENT_ROUTES, SettingComponent, SettingManagementModule, SettingComponent as ɵa, InitialService as ɵb, SettingManagementRoutingModule as ɵc }; +//# sourceMappingURL=abp-ng.setting-management.js.map diff --git a/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js.map b/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js.map new file mode 100644 index 0000000000..ae0e51e008 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/fesm2015/abp-ng.setting-management.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.setting-management.js","sources":["ng://@abp/ng.setting-management/lib/root-setting-management.module.ts","ng://@abp/ng.setting-management/lib/components/services/initial.service.ts","ng://@abp/ng.setting-management/lib/components/setting/setting.component.ts","ng://@abp/ng.setting-management/lib/setting-management-routing.module.ts","ng://@abp/ng.setting-management/lib/setting-management.module.ts","ng://@abp/ng.setting-management/lib/constants/routes.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootSettingManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootSettingManagementModule,\n providers: [],\n };\n }\n}\n","import { SettingTab } from '@abp/ng.theme.shared';\nimport { Injectable, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport snq from 'snq';\n\n@Injectable()\nexport class InitialService {\n public settings: SettingTab[];\n\n constructor(private router: Router) {\n this.settings = this.router.config\n .map(route => snq(() => route.data.routes.settings))\n .filter(settings => settings && settings.length)\n .reduce((acc, val) => [...acc, ...val], [])\n .sort((a, b) => a.order - b.order);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SettingTab, fade } from '@abp/ng.theme.shared';\nimport { InitialService } from '../services/initial.service';\n\n@Component({\n selector: 'abp-setting',\n templateUrl: './setting.component.html',\n})\nexport class SettingComponent implements OnInit {\n settings: SettingTab[];\n\n selected = {} as SettingTab;\n\n constructor(private initialService: InitialService) {}\n\n ngOnInit() {\n this.settings = this.initialService.settings;\n this.selected = this.settings[0];\n }\n}\n","import { DynamicLayoutComponent } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { SettingComponent } from './components/setting/setting.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: '', component: SettingComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SettingManagementRoutingModule {}\n","import { CoreModule, noop } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER, Self } from '@angular/core';\nimport { SettingComponent } from './components/setting/setting.component';\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { InitialService } from './components/services/initial.service';\n\n@NgModule({\n declarations: [SettingComponent],\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule],\n providers: [InitialService],\n})\nexport class SettingManagementModule {\n constructor(@Self() initialService: InitialService) {}\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const SETTING_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'Settings',\n path: 'setting-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n order: 6,\n iconClass: 'fa fa-cog',\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"],"names":[],"mappings":";;;;;;;;;;AAAA,MAGa,2BAA2B;;;;IACtC,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,2BAA2B;YACrC,SAAS,EAAE,EAAE;SACd,CAAC;KACH;;;YAPF,QAAQ,SAAC,EAAE;;;;;;;ACDZ,MAKa,cAAc;;;;IAGzB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;aAC/B,GAAG;;;;QAAC,KAAK,IAAI,GAAG;;;QAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,EAAC;aACnD,MAAM;;;;QAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAC;aAC/C,MAAM;;;;;QAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAE,EAAE,CAAC;aAC1C,IAAI;;;;;QAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAC,CAAC;KACtC;;;YAVF,UAAU;;;;YAHF,MAAM;;;;IAKb,kCAA8B;;;;;IAElB,gCAAsB;;;;;;;ACTpC,MAQa,gBAAgB;;;;IAK3B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFlD,aAAQ,sBAAG,EAAE,EAAc,CAAC;KAE0B;;;;IAEtD,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAClC;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,suDAAuC;aACxC;;;;YALQ,cAAc;;;;IAOrB,oCAAuB;;IAEvB,oCAA4B;;;;;IAEhB,0CAAsC;;;;;;;ACbpD;MAKM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;KACtD;CACF;AAMD,MAAa,8BAA8B;;;YAJ1C,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;;;;;AChBD,MAYa,uBAAuB;;;;IAClC,YAAoB,cAA8B,KAAI;;;YANvD,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;gBAChC,OAAO,EAAE,CAAC,8BAA8B,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBACxE,SAAS,EAAE,CAAC,cAAc,CAAC;aAC5B;;;;YANQ,cAAc,uBAQR,IAAI;;;;;;;;;;;;;ACXnB,MAAa,yBAAyB,GAAG;IACvC,MAAM,qBAAE;QACN;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,sCAAsC;YAClD,MAAM;YACN,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,WAAW;SACvB;KACF,EAAmB;IACpB,QAAQ,EAAE,EAAE;CACb;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js b/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js new file mode 100644 index 0000000000..95bc2e675e --- /dev/null +++ b/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js @@ -0,0 +1,214 @@ +import { NgModule, Injectable, Component, Self } from '@angular/core'; +import { DynamicLayoutComponent, CoreModule } from '@abp/ng.core'; +import { __spread } from 'tslib'; +import { Router, RouterModule } from '@angular/router'; +import snq from 'snq'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootSettingManagementModule = /** @class */ (function () { + function RootSettingManagementModule() { + } + /** + * @return {?} + */ + RootSettingManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootSettingManagementModule, + providers: [], + }; + }; + RootSettingManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootSettingManagementModule; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var InitialService = /** @class */ (function () { + function InitialService(router) { + this.router = router; + this.settings = this.router.config + .map((/** + * @param {?} route + * @return {?} + */ + function (route) { return snq((/** + * @return {?} + */ + function () { return route.data.routes.settings; })); })) + .filter((/** + * @param {?} settings + * @return {?} + */ + function (settings) { return settings && settings.length; })) + .reduce((/** + * @param {?} acc + * @param {?} val + * @return {?} + */ + function (acc, val) { return __spread(acc, val); }), []) + .sort((/** + * @param {?} a + * @param {?} b + * @return {?} + */ + function (a, b) { return a.order - b.order; })); + } + InitialService.decorators = [ + { type: Injectable } + ]; + /** @nocollapse */ + InitialService.ctorParameters = function () { return [ + { type: Router } + ]; }; + return InitialService; +}()); +if (false) { + /** @type {?} */ + InitialService.prototype.settings; + /** + * @type {?} + * @private + */ + InitialService.prototype.router; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var SettingComponent = /** @class */ (function () { + function SettingComponent(initialService) { + this.initialService = initialService; + this.selected = (/** @type {?} */ ({})); + } + /** + * @return {?} + */ + SettingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.settings = this.initialService.settings; + this.selected = this.settings[0]; + }; + SettingComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-setting', + template: "
    \n
    \n

    {{ 'AbpSettingManagement::Settings' | abpLocalization }}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
      \n \n {{ setting.name | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n

    {{ selected.name | abpLocalization }}

    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n" + }] } + ]; + /** @nocollapse */ + SettingComponent.ctorParameters = function () { return [ + { type: InitialService } + ]; }; + return SettingComponent; +}()); +if (false) { + /** @type {?} */ + SettingComponent.prototype.settings; + /** @type {?} */ + SettingComponent.prototype.selected; + /** + * @type {?} + * @private + */ + SettingComponent.prototype.initialService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +var routes = [ + { + path: '', + component: DynamicLayoutComponent, + children: [{ path: '', component: SettingComponent }], + }, +]; +var SettingManagementRoutingModule = /** @class */ (function () { + function SettingManagementRoutingModule() { + } + SettingManagementRoutingModule.decorators = [ + { type: NgModule, args: [{ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], + },] } + ]; + return SettingManagementRoutingModule; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var SettingManagementModule = /** @class */ (function () { + function SettingManagementModule(initialService) { + } + SettingManagementModule.decorators = [ + { type: NgModule, args: [{ + declarations: [SettingComponent], + imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule], + providers: [InitialService], + },] } + ]; + /** @nocollapse */ + SettingManagementModule.ctorParameters = function () { return [ + { type: InitialService, decorators: [{ type: Self }] } + ]; }; + return SettingManagementModule; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** @type {?} */ +var SETTING_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'Settings', + path: 'setting-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + order: 6, + iconClass: 'fa fa-cog', + }, + ])), + settings: [], +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + +export { RootSettingManagementModule, SETTING_MANAGEMENT_ROUTES, SettingComponent, SettingManagementModule, SettingComponent as ɵa, InitialService as ɵb, SettingManagementRoutingModule as ɵc }; +//# sourceMappingURL=abp-ng.setting-management.js.map diff --git a/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js.map b/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js.map new file mode 100644 index 0000000000..15c1436085 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/fesm5/abp-ng.setting-management.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-ng.setting-management.js","sources":["ng://@abp/ng.setting-management/lib/root-setting-management.module.ts","ng://@abp/ng.setting-management/lib/components/services/initial.service.ts","ng://@abp/ng.setting-management/lib/components/setting/setting.component.ts","ng://@abp/ng.setting-management/lib/setting-management-routing.module.ts","ng://@abp/ng.setting-management/lib/setting-management.module.ts","ng://@abp/ng.setting-management/lib/constants/routes.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootSettingManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootSettingManagementModule,\n providers: [],\n };\n }\n}\n","import { SettingTab } from '@abp/ng.theme.shared';\nimport { Injectable, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport snq from 'snq';\n\n@Injectable()\nexport class InitialService {\n public settings: SettingTab[];\n\n constructor(private router: Router) {\n this.settings = this.router.config\n .map(route => snq(() => route.data.routes.settings))\n .filter(settings => settings && settings.length)\n .reduce((acc, val) => [...acc, ...val], [])\n .sort((a, b) => a.order - b.order);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SettingTab, fade } from '@abp/ng.theme.shared';\nimport { InitialService } from '../services/initial.service';\n\n@Component({\n selector: 'abp-setting',\n templateUrl: './setting.component.html',\n})\nexport class SettingComponent implements OnInit {\n settings: SettingTab[];\n\n selected = {} as SettingTab;\n\n constructor(private initialService: InitialService) {}\n\n ngOnInit() {\n this.settings = this.initialService.settings;\n this.selected = this.settings[0];\n }\n}\n","import { DynamicLayoutComponent } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { SettingComponent } from './components/setting/setting.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: DynamicLayoutComponent,\n children: [{ path: '', component: SettingComponent }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SettingManagementRoutingModule {}\n","import { CoreModule, noop } from '@abp/ng.core';\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER, Self } from '@angular/core';\nimport { SettingComponent } from './components/setting/setting.component';\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { InitialService } from './components/services/initial.service';\n\n@NgModule({\n declarations: [SettingComponent],\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule],\n providers: [InitialService],\n})\nexport class SettingManagementModule {\n constructor(@Self() initialService: InitialService) {}\n}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const SETTING_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'Settings',\n path: 'setting-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n order: 6,\n iconClass: 'fa fa-cog',\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;IAEA;KAQC;;;;IANQ,mCAAO;;;IAAd;QACE,OAAO;YACL,QAAQ,EAAE,2BAA2B;YACrC,SAAS,EAAE,EAAE;SACd,CAAC;KACH;;gBAPF,QAAQ,SAAC,EAAE;;IAQZ,kCAAC;CARD;;;;;;;ICOE,wBAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;aAC/B,GAAG;;;;QAAC,UAAA,KAAK,IAAI,OAAA,GAAG;;;QAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAA,EAAC,GAAA,EAAC;aACnD,MAAM;;;;QAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAA,EAAC;aAC/C,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,EAAK,GAAG,IAAC,GAAE,EAAE,CAAC;aAC1C,IAAI;;;;;QAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC,CAAC;KACtC;;gBAVF,UAAU;;;;gBAHF,MAAM;;IAcf,qBAAC;CAXD,IAWC;;;IATC,kCAA8B;;;;;IAElB,gCAAsB;;;;;;;ACTpC;IAaE,0BAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFlD,aAAQ,sBAAG,EAAE,EAAc,CAAC;KAE0B;;;;IAEtD,mCAAQ;;;IAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAClC;;gBAdF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,suDAAuC;iBACxC;;;;gBALQ,cAAc;;IAiBvB,uBAAC;CAfD,IAeC;;;IAVC,oCAAuB;;IAEvB,oCAA4B;;;;;IAEhB,0CAAsC;;;;;;;ACbpD;IAKM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;KACtD;CACF;AAED;IAAA;KAI8C;;gBAJ7C,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;;IAC4C,qCAAC;CAJ9C;;;;;;ACbA;IAaE,iCAAoB,cAA8B;KAAI;;gBANvD,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,8BAA8B,EAAE,UAAU,EAAE,iBAAiB,CAAC;oBACxE,SAAS,EAAE,CAAC,cAAc,CAAC;iBAC5B;;;;gBANQ,cAAc,uBAQR,IAAI;;IACnB,8BAAC;CAPD;;;;;;;;;;;;ACLA,IAAa,yBAAyB,GAAG;IACvC,MAAM,qBAAE;QACN;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,sCAAsC;YAClD,MAAM;YACN,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,WAAW;SACvB;KACF,EAAmB;IACpB,QAAQ,EAAE,EAAE;CACb;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/setting-management/lib/components/index.d.ts b/npm/ng-packs/dist/setting-management/lib/components/index.d.ts new file mode 100644 index 0000000000..4f59d5c056 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/components/index.d.ts @@ -0,0 +1 @@ +export * from './setting/setting.component'; diff --git a/npm/ng-packs/dist/setting-management/lib/components/services/initial.service.d.ts b/npm/ng-packs/dist/setting-management/lib/components/services/initial.service.d.ts new file mode 100644 index 0000000000..13dc6ef71d --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/components/services/initial.service.d.ts @@ -0,0 +1,7 @@ +import { SettingTab } from '@abp/ng.theme.shared'; +import { Router } from '@angular/router'; +export declare class InitialService { + private router; + settings: SettingTab[]; + constructor(router: Router); +} diff --git a/npm/ng-packs/dist/setting-management/lib/components/setting/setting.component.d.ts b/npm/ng-packs/dist/setting-management/lib/components/setting/setting.component.d.ts new file mode 100644 index 0000000000..46b68b6ac0 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/components/setting/setting.component.d.ts @@ -0,0 +1,10 @@ +import { OnInit } from '@angular/core'; +import { SettingTab } from '@abp/ng.theme.shared'; +import { InitialService } from '../services/initial.service'; +export declare class SettingComponent implements OnInit { + private initialService; + settings: SettingTab[]; + selected: SettingTab; + constructor(initialService: InitialService); + ngOnInit(): void; +} diff --git a/npm/ng-packs/dist/setting-management/lib/constants/index.d.ts b/npm/ng-packs/dist/setting-management/lib/constants/index.d.ts new file mode 100644 index 0000000000..a3820983e2 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/constants/index.d.ts @@ -0,0 +1 @@ +export * from './routes'; diff --git a/npm/ng-packs/dist/setting-management/lib/constants/routes.d.ts b/npm/ng-packs/dist/setting-management/lib/constants/routes.d.ts new file mode 100644 index 0000000000..69027a092f --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/constants/routes.d.ts @@ -0,0 +1,5 @@ +import { ABP } from '@abp/ng.core'; +export declare const SETTING_MANAGEMENT_ROUTES: { + routes: ABP.FullRoute[]; + settings: any[]; +}; diff --git a/npm/ng-packs/dist/setting-management/lib/root-setting-management.module.d.ts b/npm/ng-packs/dist/setting-management/lib/root-setting-management.module.d.ts new file mode 100644 index 0000000000..0cc1bac879 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/root-setting-management.module.d.ts @@ -0,0 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; +export declare class RootSettingManagementModule { + static forRoot(): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/setting-management/lib/setting-management-routing.module.d.ts b/npm/ng-packs/dist/setting-management/lib/setting-management-routing.module.d.ts new file mode 100644 index 0000000000..bd40fcbd7c --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/setting-management-routing.module.d.ts @@ -0,0 +1,2 @@ +export declare class SettingManagementRoutingModule { +} diff --git a/npm/ng-packs/dist/setting-management/lib/setting-management.module.d.ts b/npm/ng-packs/dist/setting-management/lib/setting-management.module.d.ts new file mode 100644 index 0000000000..75f02f3c1c --- /dev/null +++ b/npm/ng-packs/dist/setting-management/lib/setting-management.module.d.ts @@ -0,0 +1,4 @@ +import { InitialService } from './components/services/initial.service'; +export declare class SettingManagementModule { + constructor(initialService: InitialService); +} diff --git a/npm/ng-packs/dist/setting-management/package.json b/npm/ng-packs/dist/setting-management/package.json new file mode 100644 index 0000000000..f0c4553121 --- /dev/null +++ b/npm/ng-packs/dist/setting-management/package.json @@ -0,0 +1,21 @@ +{ + "name": "@abp/ng.setting-management", + "version": "0.0.1", + "dependencies": { + "@abp/ng.theme.shared": "^0.8.3", + "tslib": "^1.9.0" + }, + "publishConfig": { + "access": "public" + }, + "main": "bundles/abp-ng.setting-management.umd.js", + "module": "fesm5/abp-ng.setting-management.js", + "es2015": "fesm2015/abp-ng.setting-management.js", + "esm5": "esm5/abp-ng.setting-management.js", + "esm2015": "esm2015/abp-ng.setting-management.js", + "fesm5": "fesm5/abp-ng.setting-management.js", + "fesm2015": "fesm2015/abp-ng.setting-management.js", + "typings": "abp-ng.setting-management.d.ts", + "metadata": "abp-ng.setting-management.metadata.json", + "sideEffects": false +} diff --git a/npm/ng-packs/dist/setting-management/public-api.d.ts b/npm/ng-packs/dist/setting-management/public-api.d.ts new file mode 100644 index 0000000000..6ef085fc8e --- /dev/null +++ b/npm/ng-packs/dist/setting-management/public-api.d.ts @@ -0,0 +1,4 @@ +export * from './lib/root-setting-management.module'; +export * from './lib/setting-management.module'; +export * from './lib/components'; +export * from './lib/constants'; diff --git a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json index f3dccc061f..0e4f70a986 100644 --- a/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json +++ b/npm/ng-packs/dist/tenant-management/abp-ng.tenant-management.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":14,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":16,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":17,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":18,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":71,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":73,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":74,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/tenant-management.state"}],"metadata":{"RootTenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":2,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"RootTenantManagementModule"},"providers":[]}}}},"TenantManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":16,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵb"}]]},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":17,"character":4},{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":19,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":20,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":21,"character":4},{"__symbolic":"reference","module":"@abp/ng.feature-management","name":"FeatureManagementModule","line":22,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-tenants","template":"
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n"}]}],"members":{"data$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":28,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"}]}]}],"totalCount$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":31,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getTenantsTotalCount"}]}]}],"tenantModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":68,"character":3},"arguments":["tenantModalTemplate",{"static":false}]}]}],"connectionStringModalTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":71,"character":3},"arguments":["connectionStringModalTemplate",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ConfirmationService","line":75,"character":33},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":77,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":78,"character":19}]}],"onSearch":[{"__symbolic":"method"}],"createTenantForm":[{"__symbolic":"method"}],"createDefaultConnectionStringForm":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"onEditConnectionString":[{"__symbolic":"method"}],"onAddTenant":[{"__symbolic":"method"}],"onEditTenant":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"saveConnectionString":[{"__symbolic":"method"}],"saveTenant":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"onPageChange":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":13,"character":1},"arguments":[{"name":"TenantManagementState","defaults":{"result":{},"selectedItem":{}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"get":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":30,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"getById":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"delete":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":52,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}],"add":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"update":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":62,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}]},"statics":{"get":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"items"},"right":[]}},"getTenantsTotalCount":{"__symbolic":"function","parameters":["result"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"result"},"member":"totalCount"}}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@abp/ng.core","name":"RestService","line":9,"character":28}]}],"getTenant":[{"__symbolic":"method"}],"getTenantById":[{"__symbolic":"method"}],"deleteTenant":[{"__symbolic":"method"}],"createTenant":[{"__symbolic":"method"}],"updateTenant":[{"__symbolic":"method"}],"getDefaultConnectionString":[{"__symbolic":"method"}],"updateDefaultConnectionString":[{"__symbolic":"method"}],"deleteDefaultConnectionString":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ABP","line":5,"character":31},"member":"PageQueryParams"}]}]},"statics":{"type":"[TenantManagement] Get Tenant"}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Get Tenant By Id"}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"AddRequest"}]}]},"statics":{"type":"[TenantManagement] Create Tenant"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"UpdateRequest"}]}]},"statics":{"type":"[TenantManagement] Update Tenant"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[TenantManagement] Delete Tenant"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":12},"member":"forChild"},"arguments":[[{"path":"","redirectTo":"tenants","pathMatch":"full"},{"path":"tenants","component":{"__symbolic":"reference","module":"@abp/ng.core","name":"DynamicLayoutComponent","line":10,"character":15},"canActivate":[{"__symbolic":"reference","module":"@abp/ng.core","name":"AuthGuard","line":11,"character":18},{"__symbolic":"reference","module":"@abp/ng.core","name":"PermissionGuard","line":11,"character":29}],"data":{"requiredPolicy":"AbpTenantManagement.Tenants"},"children":[{"path":"","component":{"__symbolic":"reference","name":"ɵa"},"resolve":[{"__symbolic":"reference","name":"ɵk"}]}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":19,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":9,"character":29}]}],"resolve":[{"__symbolic":"method"}]}}},"origins":{"RootTenantManagementModule":"./lib/root-tenant-management.module","TenantManagementModule":"./lib/tenant-management.module","ɵa":"./lib/components/tenants/tenants.component","ɵb":"./lib/states/tenant-management.state","ɵc":"./lib/services/tenant-management.service","ɵd":"./lib/actions/tenant-management.actions","ɵe":"./lib/actions/tenant-management.actions","ɵf":"./lib/actions/tenant-management.actions","ɵg":"./lib/actions/tenant-management.actions","ɵh":"./lib/actions/tenant-management.actions","ɵi":"./lib/models/tenant-management","ɵj":"./lib/tenant-management-routing.module","ɵk":"./lib/resolvers/tenants.resolver"},"importAs":"@abp/ng.tenant-management"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js index 2260d7c7e5..9bb95106d8 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@ngxs/store'), require('primeng/table'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/router')) : - typeof define === 'function' && define.amd ? define('@abp/ng.tenant-management', ['exports', '@abp/ng.core', '@abp/ng.theme.shared', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@ngxs/store', 'primeng/table', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/router'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['tenant-management'] = {}), global.ng_core, global.ng_theme_shared, global.ng.core, global.ngBootstrap, global.store, global.table, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.router)); -}(this, function (exports, ng_core, ng_theme_shared, core, ngBootstrap, store, table, forms, rxjs, operators, router) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@ng-bootstrap/ng-bootstrap'), require('@ngxs/store'), require('primeng/table'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('@abp/ng.feature-management'), require('@ngx-validate/core')) : + typeof define === 'function' && define.amd ? define('@abp/ng.tenant-management', ['exports', '@angular/core', '@abp/ng.core', '@abp/ng.theme.shared', '@ng-bootstrap/ng-bootstrap', '@ngxs/store', 'primeng/table', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/router', '@abp/ng.feature-management', '@ngx-validate/core'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng['tenant-management'] = {}), global.ng.core, global.ng_core, global.ng_theme_shared, global.ngBootstrap, global.store, global.table, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.router, global.ng_featureManagement, global.core$1)); +}(this, function (exports, core, ng_core, ng_theme_shared, ngBootstrap, store, table, forms, rxjs, operators, router, ng_featureManagement, core$1) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -201,6 +201,31 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RootTenantManagementModule = /** @class */ (function () { + function RootTenantManagementModule() { + } + /** + * @return {?} + */ + RootTenantManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + }; + RootTenantManagementModule.decorators = [ + { type: core.NgModule, args: [{},] } + ]; + return RootTenantManagementModule; + }()); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -414,7 +439,7 @@ */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -648,6 +673,7 @@ this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.visibleFeatures = false; this.pageQuery = { sorting: 'name', }; @@ -710,7 +736,7 @@ function () { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || ''], }); }; /** @@ -822,27 +848,31 @@ function () { var _this = this; this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(operators.take(1)) + .pipe(operators.take(1), operators.finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(operators.take(1)) + .pipe(operators.take(1), operators.finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -930,7 +960,7 @@ TenantsComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -972,6 +1002,10 @@ /** @type {?} */ TenantsComponent.prototype.selectedModalContent; /** @type {?} */ + TenantsComponent.prototype.visibleFeatures; + /** @type {?} */ + TenantsComponent.prototype.providerKey; + /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ TenantsComponent.prototype.pageQuery; @@ -1083,10 +1117,12 @@ imports: [ TenantManagementRoutingModule, store.NgxsModule.forFeature([TenantManagementState]), + core$1.NgxValidateCoreModule, ng_core.CoreModule, table.TableModule, ng_theme_shared.ThemeSharedModule, ngBootstrap.NgbDropdownModule, + ng_featureManagement.FeatureManagementModule, ], },] } ]; @@ -1108,23 +1144,26 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ - var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, - ])); + var TENANT_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ])), + settings: [], + }; /** * @fileoverview added by tsickle @@ -1194,6 +1233,7 @@ exports.DeleteTenant = DeleteTenant; exports.GetTenantById = GetTenantById; exports.GetTenants = GetTenants; + exports.RootTenantManagementModule = RootTenantManagementModule; exports.TENANT_MANAGEMENT_ROUTES = TENANT_MANAGEMENT_ROUTES; exports.TenantManagementModule = TenantManagementModule; exports.TenantManagementService = TenantManagementService; diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map index bc72c438e2..743b4c5e8e 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","NgModule","RouterModule","NgxsModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/root-tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootTenantManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootTenantManagementModule,\n providers: [],\n };\n }\n}\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n visibleFeatures: boolean = false;\n\n providerKey: string;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: [this.defaultConnectionString || ''],\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\nimport { FeatureManagementModule } from '@abp/ng.feature-management';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n NgxValidateCoreModule,\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n FeatureManagementModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["NgModule","Injectable","RestService","tap","switchMap","tslib_1.__decorate","Action","Selector","State","Validators","pluck","take","finalize","Component","ConfirmationService","FormBuilder","Store","ViewChild","Select","Observable","DynamicLayoutComponent","AuthGuard","PermissionGuard","RouterModule","NgxsModule","NgxValidateCoreModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","FeatureManagementModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js index 49b0735ef3..5ff2541677 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}();var f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}();var b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}();var h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}();var y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}();var v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}();var T=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new f(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new m)}))},d([r.Action(m),g("design:type",Function),g("design:paramtypes",[Object,m]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}();var S=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.modalBusy=!0,this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new h(u({},this.tenantForm.value,{id:this.selected.id})):new b(this.tenantForm.value)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}))},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&(n.store.dispatch(new y(t)),n.modalBusy=!1)})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new m(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(T.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(T.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}();var M=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(T.get);return t&&t.length?null:this.store.dispatch(new m)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}();var C,A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:S,resolve:[M]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[M]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[S],imports:[D,r.NgxsModule.forFeature([T]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){function e(){}function n(){}function a(){}function o(){}function r(){}t.State=e,t.Item=n,t.AddRequest=a,t.UpdateRequest=o,t.DefaultConnectionStringRequest=r}(C||(C={})),t.CreateTenant=b,t.DeleteTenant=y,t.GetTenantById=f,t.GetTenants=m,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=T,t.TenantsComponent=S,t.TenantsResolver=M,t.UpdateTenant=h,t.ɵa=S,t.ɵb=T,t.ɵc=v,t.ɵd=m,t.ɵe=f,t.ɵf=b,t.ɵg=h,t.ɵh=y,t.ɵj=D,t.ɵk=M,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@abp/ng.feature-management"),require("@ngx-validate/core")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@angular/core","@abp/ng.core","@abp/ng.theme.shared","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router","@abp/ng.feature-management","@ngx-validate/core"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng["tenant-management"]={}),e.ng.core,e.ng_core,e.ng_theme_shared,e.ngBootstrap,e.store,e.table,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.ng_featureManagement,e.core$1)}(this,function(e,t,n,a,o,r,i,s,p,c,l,u,d){"use strict";var g=function(){return(g=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=0;s--)(o=e[s])&&(i=(r<3?o(i):r>3?o(t,n,i):o(t,n))||i);return r>3&&i&&Object.defineProperty(t,n,i),i}function b(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var f=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{}]}],e}(),h=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Get Tenant",e}();var y=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Get Tenant By Id",e}();var v=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Create Tenant",e}();var T=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Update Tenant",e}();var M=function(){function e(e){this.payload=e}return e.type="[TenantManagement] Delete Tenant",e}();var S=function(){function e(e){this.rest=e}return e.prototype.getTenant=function(e){void 0===e&&(e={});var t={method:"GET",url:"/api/multi-tenancy/tenants",params:e};return this.rest.request(t)},e.prototype.getTenantById=function(e){var t={method:"GET",url:"/api/multi-tenancy/tenants/"+e};return this.rest.request(t)},e.prototype.deleteTenant=function(e){var t={method:"DELETE",url:"/api/multi-tenancy/tenants/"+e};return this.rest.request(t)},e.prototype.createTenant=function(e){var t={method:"POST",url:"/api/multi-tenancy/tenants",body:e};return this.rest.request(t)},e.prototype.updateTenant=function(e){var t="/api/multi-tenancy/tenants/"+e.id;delete e.id;var n={method:"PUT",url:t,body:e};return this.rest.request(n)},e.prototype.getDefaultConnectionString=function(e){var t={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+e+"/default-connection-string"};return this.rest.request(t)},e.prototype.updateDefaultConnectionString=function(e){var t={method:"PUT",url:"/api/multi-tenancy/tenants/"+e.id+"/default-connection-string",params:{defaultConnectionString:e.defaultConnectionString}};return this.rest.request(t)},e.prototype.deleteDefaultConnectionString=function(e){var t={method:"DELETE",url:"/api/multi-tenancy/tenants/"+e+"/default-connection-string"};return this.rest.request(t)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:n.RestService}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(n.RestService))},token:e,providedIn:"root"}),e}();var C=function(){function e(e){this.tenantManagementService=e}return e.get=function(e){return e.result.items||[]},e.getTenantsTotalCount=function(e){return e.result.totalCount},e.prototype.get=function(e,t){var n=e.patchState,a=t.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(e){return n({result:e})}))},e.prototype.getById=function(e,t){var n=e.patchState,a=t.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(e){return n({selectedItem:e})}))},e.prototype.delete=function(e,t){var n=e.dispatch,a=t.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new h)}))},e.prototype.add=function(e,t){var n=e.dispatch,a=t.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new h)}))},e.prototype.update=function(e,t){var n=this,a=e.dispatch,o=e.getState,r=t.payload;return a(new y(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(g({},o().selectedItem,r))}),c.switchMap(function(){return a(new h)}))},m([r.Action(h),b("design:type",Function),b("design:paramtypes",[Object,h]),b("design:returntype",void 0)],e.prototype,"get",null),m([r.Action(y),b("design:type",Function),b("design:paramtypes",[Object,y]),b("design:returntype",void 0)],e.prototype,"getById",null),m([r.Action(M),b("design:type",Function),b("design:paramtypes",[Object,M]),b("design:returntype",void 0)],e.prototype,"delete",null),m([r.Action(v),b("design:type",Function),b("design:paramtypes",[Object,v]),b("design:returntype",void 0)],e.prototype,"add",null),m([r.Action(T),b("design:type",Function),b("design:paramtypes",[Object,T]),b("design:returntype",void 0)],e.prototype,"update",null),m([r.Selector(),b("design:type",Function),b("design:paramtypes",[Object]),b("design:returntype",Array)],e,"get",null),m([r.Selector(),b("design:type",Function),b("design:paramtypes",[Object]),b("design:returntype",Number)],e,"getTenantsTotalCount",null),e=m([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),b("design:paramtypes",[S])],e)}();var A=function(){function e(e,t,n,a){this.confirmationService=e,this.tenantService=t,this.fb=n,this.store=a,this.selectedModalContent={},this.visibleFeatures=!1,this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return Object.defineProperty(e.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),e.prototype.onSearch=function(e){this.pageQuery.filter=e,this.get()},e.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},e.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:[this.defaultConnectionString||""]})},e.prototype.openModal=function(e,t,n){this.selectedModalContent={title:e,template:t,type:n},this.isModalVisible=!0},e.prototype.onEditConnectionString=function(e){var t=this;this.store.dispatch(new y(e)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return t.selected=n,t.tenantService.getDefaultConnectionString(e)})).subscribe(function(e){t._useSharedDatabase=!e,t.defaultConnectionString=e||"",t.createDefaultConnectionStringForm(),t.openModal("AbpTenantManagement::ConnectionStrings",t.connectionStringModalTemplate,"saveConnStr")})},e.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},e.prototype.onEditTenant=function(e){var t=this;this.store.dispatch(new y(e)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(e){t.selected=e,t.createTenantForm(),t.openModal("AbpTenantManagement::Edit",t.tenantModalTemplate,"saveTenant")})},e.prototype.save=function(){var e=this.selectedModalContent.type;e&&("saveTenant"===e?this.saveTenant():"saveConnStr"===e&&this.saveConnectionString())},e.prototype.saveConnectionString=function(){var e=this;this.modalBusy=!0,this.useSharedDatabase||!this.useSharedDatabase&&!this.connectionString?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1),c.finalize(function(){return e.modalBusy=!1})).subscribe(function(){e.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1),c.finalize(function(){return e.modalBusy=!1})).subscribe(function(){e.isModalVisible=!1})},e.prototype.saveTenant=function(){var e=this;this.tenantForm.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new T(g({},this.tenantForm.value,{id:this.selected.id})):new v(this.tenantForm.value)).subscribe(function(){e.modalBusy=!1,e.isModalVisible=!1}))},e.prototype.delete=function(e,t){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[t]}).subscribe(function(t){"confirm"===t&&(n.store.dispatch(new M(e)),n.modalBusy=!1)})},e.prototype.onPageChange=function(e){this.pageQuery.skipCount=e.first,this.pageQuery.maxResultCount=e.rows,this.get()},e.prototype.get=function(){var e=this;this.loading=!0,this.store.dispatch(new h(this.pageQuery)).pipe(c.finalize(function(){return e.loading=!1})).subscribe()},e.decorators=[{type:t.Component,args:[{selector:"abp-tenants",template:'
    \n
    \n
    \n
    \n
    \n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n {{ \'AbpTenantManagement::TenantName\' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n \n
    \n \n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Permission:ManageConnectionStrings\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Permission:ManageFeatures\' | abpLocalization }}\n \n \n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n'}]}],e.ctorParameters=function(){return[{type:a.ConfirmationService},{type:S},{type:s.FormBuilder},{type:r.Store}]},e.propDecorators={tenantModalTemplate:[{type:t.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:t.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},m([r.Select(C.get),b("design:type",p.Observable)],e.prototype,"data$",void 0),m([r.Select(C.getTenantsTotalCount),b("design:type",p.Observable)],e.prototype,"totalCount$",void 0),e}();var D=function(){function e(e){this.store=e}return e.prototype.resolve=function(){var e=this.store.selectSnapshot(C.get);return e&&e.length?null:this.store.dispatch(new h)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:r.Store}]},e}();var w,F=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:n.DynamicLayoutComponent,canActivate:[n.AuthGuard,n.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:A,resolve:[D]}]}],j=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[l.RouterModule.forChild(F)],exports:[l.RouterModule],providers:[D]}]}],e}(),q=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[A],imports:[j,r.NgxsModule.forFeature([C]),d.NgxValidateCoreModule,n.CoreModule,i.TableModule,a.ThemeSharedModule,o.NgbDropdownModule,u.FeatureManagementModule]}]}],e}();!function(e){function t(){}function n(){}function a(){}function o(){}function r(){}e.State=t,e.Item=n,e.AddRequest=a,e.UpdateRequest=o,e.DefaultConnectionStringRequest=r}(w||(w={})),e.CreateTenant=v,e.DeleteTenant=M,e.GetTenantById=y,e.GetTenants=h,e.RootTenantManagementModule=f,e.TENANT_MANAGEMENT_ROUTES={routes:[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],settings:[]},e.TenantManagementModule=q,e.TenantManagementService=S,e.TenantManagementState=C,e.TenantsComponent=A,e.TenantsResolver=D,e.UpdateTenant=T,e.ɵa=A,e.ɵb=C,e.ɵc=S,e.ɵd=h,e.ɵe=y,e.ɵf=v,e.ɵg=T,e.ɵh=M,e.ɵj=j,e.ɵk=D,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.tenant-management.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map index 69b2974e4f..93325d3f71 100644 --- a/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map +++ b/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","args","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","pageQuery","sorting","loading","modalBusy","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","take","connectionString","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","finalize","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","TenantManagement","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","NgModule","imports","RouterModule","forChild","exports","providers","TenantManagementModule","declarations","NgxsModule","forFeature","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","Item","AddRequest","UpdateRequest","DefaultConnectionStringRequest","parentName","layout","iconClass","order"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.tenant-management/lib/root-tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","RootTenantManagementModule","forRoot","ngModule","providers","NgModule","args","GetTenants","payload","type","GetTenantById","CreateTenant","UpdateTenant","DeleteTenant","TenantManagementService","rest","getTenant","params","request","method","url","getTenantById","id","deleteTenant","createTenant","body","updateTenant","getDefaultConnectionString","responseType","updateDefaultConnectionString","defaultConnectionString","deleteDefaultConnectionString","Injectable","providedIn","RestService","TenantManagementState","tenantManagementService","get","_a","result","items","getTenantsTotalCount","totalCount","_b","patchState","pipe","tap","getById","selectedItem","delete","dispatch","switchMap","add","update","_this","getState","tslib_1.__decorate","Action","Selector","State","name","defaults","TenantsComponent","confirmationService","tenantService","fb","store","selectedModalContent","visibleFeatures","pageQuery","sorting","loading","modalBusy","defaultConnectionStringForm","value","onSearch","filter","createTenantForm","tenantForm","group","selected","Validators","required","maxLength","createDefaultConnectionStringForm","useSharedDatabase","_useSharedDatabase","openModal","title","template","isModalVisible","onEditConnectionString","pluck","subscribe","fetchedConnectionString","connectionStringModalTemplate","onAddTenant","tenantModalTemplate","onEditTenant","save","saveTenant","saveConnectionString","connectionString","take","finalize","valid","warn","messageLocalizationParams","status","onPageChange","data","skipCount","first","maxResultCount","rows","Component","selector","ConfirmationService","FormBuilder","Store","ViewChild","static","Select","Observable","TenantsResolver","resolve","selectSnapshot","TenantManagement","routes","path","redirectTo","pathMatch","component","DynamicLayoutComponent","canActivate","AuthGuard","PermissionGuard","requiredPolicy","children","TenantManagementRoutingModule","imports","RouterModule","forChild","exports","TenantManagementModule","declarations","NgxsModule","forFeature","NgxValidateCoreModule","CoreModule","TableModule","ThemeSharedModule","NgbDropdownModule","FeatureManagementModule","Item","AddRequest","UpdateRequest","DefaultConnectionStringRequest","parentName","layout","iconClass","order","settings"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootTenantManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootTenantManagementModule,\n providers: [],\n };\n }\n}\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n visibleFeatures: boolean = false;\n\n providerKey: string;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: [this.defaultConnectionString || ''],\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\nimport { FeatureManagementModule } from '@abp/ng.feature-management';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n NgxValidateCoreModule,\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n FeatureManagementModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js index 2feb8f0b6e..bb2193197a 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/abp-ng.tenant-management.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; +export { RootTenantManagementModule, TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; export { CreateTenant as ɵf, DeleteTenant as ɵh, GetTenantById as ɵe, GetTenants as ɵd, UpdateTenant as ɵg } from './lib/actions/tenant-management.actions'; export { TenantsComponent as ɵa } from './lib/components/tenants/tenants.component'; export { TenantsResolver as ɵk } from './lib/resolvers/tenants.resolver'; export { TenantManagementService as ɵc } from './lib/services/tenant-management.service'; export { TenantManagementState as ɵb } from './lib/states/tenant-management.state'; export { TenantManagementRoutingModule as ɵj } from './lib/tenant-management-routing.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseU5BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscVBBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js index 902f9e9ac9..d7c42cac08 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/components/tenants/tenants.component.js @@ -25,6 +25,7 @@ export class TenantsComponent { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.visibleFeatures = false; this.pageQuery = { sorting: 'name', }; @@ -67,7 +68,7 @@ export class TenantsComponent { createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || ''], }); } /** @@ -153,27 +154,31 @@ export class TenantsComponent { */ saveConnectionString() { this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + () => (this.modalBusy = false)))) .subscribe((/** * @return {?} */ () => { - this.modalBusy = false; this.isModalVisible = false; })); } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + () => (this.modalBusy = false)))) .subscribe((/** * @return {?} */ () => { - this.modalBusy = false; this.isModalVisible = false; })); } @@ -244,7 +249,7 @@ export class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -284,6 +289,10 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.selectedModalContent; /** @type {?} */ + TenantsComponent.prototype.visibleFeatures; + /** @type {?} */ + TenantsComponent.prototype.providerKey; + /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ TenantsComponent.prototype.pageQuery; @@ -316,4 +325,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUEyQzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUE5QnRCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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K0NBQWtCO0FBR25DO0lBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO3NDQUN0QyxVQUFVO3FEQUFTOzs7SUFKaEMsaUNBQ21DOztJQUVuQyx1Q0FDZ0M7O0lBRWhDLG9DQUF3Qjs7SUFFeEIsc0NBQXNCOztJQUV0Qix1REFBdUM7O0lBRXZDLG1EQUFnQzs7SUFFaEMsMENBQXdCOztJQUV4QixnREFBa0Q7O0lBRWxELDhDQUE0Qjs7SUFFNUIscUNBRUU7O0lBRUYsbUNBQXlCOztJQUV6QixxQ0FBMkI7O0lBVTNCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKHRpdGxlOiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICAgICAgdGl0bGUsXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgfTtcblxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25FZGl0Q29ubmVjdGlvblN0cmluZyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlLmdldERlZmF1bHRDb25uZWN0aW9uU3RyaW5nKGlkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID0+IHtcbiAgICAgICAgdGhpcy5fdXNlU2hhcmVkRGF0YWJhc2UgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgOiAnJztcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNvbm5lY3Rpb25TdHJpbmdzJywgdGhpcy5jb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZSwgJ3NhdmVDb25uU3RyJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uQWRkVGVuYW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBBQlAuQmFzaWNJdGVtO1xuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpOZXdUZW5hbnQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gIH1cblxuICBvbkVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShwbHVjaygnVGVuYW50TWFuYWdlbWVudFN0YXRlJywgJ3NlbGVjdGVkSXRlbScpKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpFZGl0JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudDtcbiAgICBpZiAoIXR5cGUpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PT0gJ3NhdmVUZW5hbnQnKSB0aGlzLnNhdmVUZW5hbnQoKTtcbiAgICBlbHNlIGlmICh0eXBlID09PSAnc2F2ZUNvbm5TdHInKSB0aGlzLnNhdmVDb25uZWN0aW9uU3RyaW5nKCk7XG4gIH1cblxuICBzYXZlQ29ubmVjdGlvblN0cmluZygpIHtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG4gICAgaWYgKHRoaXMudXNlU2hhcmVkRGF0YWJhc2UpIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAuZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcodGhpcy5zZWxlY3RlZC5pZClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbmFudFNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nKHsgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiB0aGlzLmNvbm5lY3Rpb25TdHJpbmcgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBWTdFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7Ozs7SUErQzNCLFlBQ1UsbUJBQXdDLEVBQ3hDLGFBQXNDLEVBQ3RDLEVBQWUsRUFDZixLQUFZO1FBSFosd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQU87UUFsQ3RCLHlCQUFvQixHQUFHLG1CQUFBLEVBQUUsRUFBd0Is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S0FBSzs7O2tDQWdFbkIsU0FBUyxTQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs0Q0FHbEQsU0FBUyxTQUFDLCtCQUErQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7QUExQzdEO0lBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztzQ0FDM0IsVUFBVTsrQ0FBa0I7QUFHbkM7SUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7c0NBQ3RDLFVBQVU7cURBQVM7OztJQUpoQyxpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsMkNBQWlDOztJQUVqQyx1Q0FBb0I7O0lBRXBCLDhDQUE0Qjs7SUFFNUIscUNBRUU7O0lBRUYsbUNBQXlCOztJQUV6QixxQ0FBMkI7O0lBVTNCLCtDQUNzQzs7SUFFdEMseURBQ2dEOzs7OztJQUc5QywrQ0FBZ0Q7Ozs7O0lBQ2hELHlDQUE4Qzs7Ozs7SUFDOUMsOEJBQXVCOzs7OztJQUN2QixpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBwbHVjaywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVGVuYW50LFxuICBEZWxldGVUZW5hbnQsXG4gIEdldFRlbmFudHMsXG4gIEdldFRlbmFudEJ5SWQsXG4gIFVwZGF0ZVRlbmFudCxcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuXG50eXBlIFNlbGVjdGVkTW9kYWxDb250ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQge1xuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXQpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPEFCUC5CYXNpY0l0ZW1bXT47XG5cbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0VGVuYW50c1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgc2VsZWN0ZWQ6IEFCUC5CYXNpY0l0ZW07XG5cbiAgdGVuYW50Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7fSBhcyBTZWxlY3RlZE1vZGFsQ29udGVudDtcblxuICB2aXNpYmxlRmVhdHVyZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IFt0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nIHx8ICcnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCh0aXRsZTogc3RyaW5nLCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiwgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGFsQ29udGVudCA9IHtcbiAgICAgIHRpdGxlLFxuICAgICAgdGVtcGxhdGUsXG4gICAgICB0eXBlLFxuICAgIH07XG5cbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uRWRpdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50QnlJZChpZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgcGx1Y2soJ1RlbmFudE1hbmFnZW1lbnRTdGF0ZScsICdzZWxlY3RlZEl0ZW0nKSxcbiAgICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVuYW50U2VydmljZS5nZXREZWZhdWx0Q29ubmVjdGlvblN0cmluZyhpZCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA9PiB7XG4gICAgICAgIHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgPSBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA/IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nIDogJyc7XG4gICAgICAgIHRoaXMuY3JlYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtKCk7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDb25uZWN0aW9uU3RyaW5ncycsIHRoaXMuY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUsICdzYXZlQ29ublN0cicpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkFkZFRlbmFudCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgQUJQLkJhc2ljSXRlbTtcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6TmV3VGVuYW50JywgdGhpcy50ZW5hbnRNb2RhbFRlbXBsYXRlLCAnc2F2ZVRlbmFudCcpO1xuICB9XG5cbiAgb25FZGl0VGVuYW50KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUocGx1Y2soJ1RlbmFudE1hbmFnZW1lbnRTdGF0ZScsICdzZWxlY3RlZEl0ZW0nKSlcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0ZWQgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6RWRpdCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQ7XG4gICAgaWYgKCF0eXBlKSByZXR1cm47XG4gICAgaWYgKHR5cGUgPT09ICdzYXZlVGVuYW50JykgdGhpcy5zYXZlVGVuYW50KCk7XG4gICAgZWxzZSBpZiAodHlwZSA9PT0gJ3NhdmVDb25uU3RyJykgdGhpcy5zYXZlQ29ubmVjdGlvblN0cmluZygpO1xuICB9XG5cbiAgc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKSB7XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuICAgIGlmICh0aGlzLnVzZVNoYXJlZERhdGFiYXNlIHx8ICghdGhpcy51c2VTaGFyZWREYXRhYmFzZSAmJiAhdGhpcy5jb25uZWN0aW9uU3RyaW5nKSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC51cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh7IGlkOiB0aGlzLnNlbGVjdGVkLmlkLCBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogdGhpcy5jb25uZWN0aW9uU3RyaW5nIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUZW5hbnQoKSB7XG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVUZW5hbnQoeyAuLi50aGlzLnRlbmFudEZvcm0udmFsdWUsIGlkOiB0aGlzLnNlbGVjdGVkLmlkIH0pXG4gICAgICAgICAgOiBuZXcgQ3JlYXRlVGVuYW50KHRoaXMudGVuYW50Rm9ybS52YWx1ZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXG4gICAgICAud2FybignQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkFyZVlvdVN1cmUnLCB7XG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IFRvYXN0ZXIuU3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVUZW5hbnQoaWQpKTtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShkYXRhKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuc2tpcENvdW50ID0gZGF0YS5maXJzdDtcbiAgICB0aGlzLnBhZ2VRdWVyeS5tYXhSZXN1bHRDb3VudCA9IGRhdGEucm93cztcblxuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudHModGhpcy5wYWdlUXVlcnkpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js index 886a9632be..031d5fe865 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/constants/routes.js @@ -3,21 +3,24 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLDRDQUE0QztRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7UUFDbEQsTUFBTSxpQ0FBeUI7UUFDL0IsU0FBUyxFQUFFLGFBQWE7UUFDeEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgcGF0aDogJ3RlbmFudC1tYW5hZ2VtZW50JyxcbiAgICBwYXJlbnROYW1lOiAnQWJwVWlOYXZpZ2F0aW9uOjpNZW51OkFkbWluaXN0cmF0aW9uJyxcbiAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgIGljb25DbGFzczogJ2ZhIGZhLXVzZXJzJyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file +export const TENANT_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLHdCQUF3QixHQUFHO0lBQ3RDLE1BQU0sRUFBRSxtQkFBQTtRQUNOO1lBQ0UsSUFBSSxFQUFFLDRDQUE0QztZQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7WUFDbEQsTUFBTSxpQ0FBeUI7WUFDL0IsU0FBUyxFQUFFLGFBQWE7WUFDeEIsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLEtBQUssRUFBRSxDQUFDO29CQUNSLGNBQWMsRUFBRSw2QkFBNkI7aUJBQzlDO2FBQ0Y7U0FDRjtLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IFRFTkFOVF9NQU5BR0VNRU5UX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgICBwYXRoOiAndGVuYW50LW1hbmFnZW1lbnQnLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtdXNlcnMnLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICd0ZW5hbnRzJyxcbiAgICAgICAgICBuYW1lOiAnQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50cycsXG4gICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgcmVxdWlyZWRQb2xpY3k6ICdBYnBUZW5hbnRNYW5hZ2VtZW50LlRlbmFudHMnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdIGFzIEFCUC5GdWxsUm91dGVbXSxcbiAgc2V0dGluZ3M6IFtdLFxufTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/root-tenant-management.module.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/root-tenant-management.module.js new file mode 100644 index 0000000000..eaf1730653 --- /dev/null +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/root-tenant-management.module.js @@ -0,0 +1,20 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +export class RootTenantManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + } +} +RootTenantManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC10ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3Jvb3QtdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMEJBQTBCOzs7O0lBQ3JDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7O1lBUEYsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUm9vdFRlbmFudE1hbmFnZW1lbnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFJvb3RUZW5hbnRNYW5hZ2VtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js index 358f664830..64ed5b348d 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/services/tenant-management.service.js @@ -115,7 +115,7 @@ export class TenantManagementService { */ deleteDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'DELETE', @@ -141,4 +141,4 @@ if (false) { */ TenantManagementService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUNsQyxZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7Ozs7SUFFekMsU0FBUyxDQUFDLE1BQU0sR0FBRyxtQkFBQSxFQUFFLEVBQXVCOztjQUNwQyxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxNQUFNO1NBQ1A7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFrQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxFQUFVOztjQUNoQixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQixPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxFQUFVOztjQUNmLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLElBQWlDOztjQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxJQUFvQzs7Y0FDekMsR0FBRyxHQUFHLDhCQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7Y0FFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsMEJBQTBCLENBQUMsRUFBVTs7Y0FDN0IsR0FBRyxHQUFHLDhCQUE4QixFQUFFLDRCQUE0Qjs7Y0FFbEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksbUJBQXdCO1lBQ3BDLEdBQUc7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsT0FBd0Q7O2NBQzlFLEdBQUcsR0FBRyw4QkFBOEIsT0FBTyxDQUFDLEVBQUUsNEJBQTRCOztjQUUxRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILE1BQU0sRUFBRSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVELE9BQU8sQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsRUFBVTs7Y0FDaEMsR0FBRyxHQUFHLDZCQUE2QixFQUFFLDRCQUE0Qjs7Y0FFakUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7WUF2RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVzs7Ozs7Ozs7SUFPTix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnQvJHtpZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgYW55PihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUNsQyxZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQzs7Ozs7SUFFekMsU0FBUyxDQUFDLE1BQU0sR0FBRyxtQkFBQSxFQUFFLEVBQXVCOztjQUNwQyxPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxNQUFNO1NBQ1A7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFrQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxFQUFVOztjQUNoQixPQUFPLEdBQXVCO1lBQ2xDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFzQixPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxFQUFVOztjQUNmLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLDhCQUE4QixFQUFFLEVBQUU7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLElBQWlDOztjQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxJQUFvQzs7Y0FDekMsR0FBRyxHQUFHLDhCQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7Y0FFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILElBQUk7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsMEJBQTBCLENBQUMsRUFBVTs7Y0FDN0IsR0FBRyxHQUFHLDhCQUE4QixFQUFFLDRCQUE0Qjs7Y0FFbEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksbUJBQXdCO1lBQ3BDLEdBQUc7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsT0FBd0Q7O2NBQzlFLEdBQUcsR0FBRyw4QkFBOEIsT0FBTyxDQUFDLEVBQUUsNEJBQTRCOztjQUUxRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRztZQUNILE1BQU0sRUFBRSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXVELE9BQU8sQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsNkJBQTZCLENBQUMsRUFBVTs7Y0FDaEMsR0FBRyxHQUFHLDhCQUE4QixFQUFFLDRCQUE0Qjs7Y0FFbEUsT0FBTyxHQUFrRTtZQUM3RSxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7WUF2RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVzs7Ozs7Ozs7SUFPTix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIGFueT4ocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/lib/tenant-management.module.js b/npm/ng-packs/dist/tenant-management/esm2015/lib/tenant-management.module.js index cb928c3e2e..4365e18858 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/lib/tenant-management.module.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/lib/tenant-management.module.js @@ -11,6 +11,8 @@ import { TableModule } from 'primeng/table'; import { TenantsComponent } from './components/tenants/tenants.component'; import { TenantManagementState } from './states/tenant-management.state'; import { TenantManagementRoutingModule } from './tenant-management-routing.module'; +import { FeatureManagementModule } from '@abp/ng.feature-management'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; export class TenantManagementModule { } TenantManagementModule.decorators = [ @@ -19,11 +21,13 @@ TenantManagementModule.decorators = [ imports: [ TenantManagementRoutingModule, NgxsModule.forFeature([TenantManagementState]), + NgxValidateCoreModule, CoreModule, TableModule, ThemeSharedModule, NgbDropdownModule, + FeatureManagementModule, ], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFhbkYsTUFBTSxPQUFPLHNCQUFzQjs7O1lBWGxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDaEMsT0FBTyxFQUFFO29CQUNQLDZCQUE2QjtvQkFDN0IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUM7b0JBQzlDLFVBQVU7b0JBQ1YsV0FBVztvQkFDWCxpQkFBaUI7b0JBQ2pCLGlCQUFpQjtpQkFDbEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IFRlbmFudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U3RhdGUgfSBmcm9tICcuL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50Um91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUZW5hbnRzQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIFRlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlLFxuICAgIE5neHNNb2R1bGUuZm9yRmVhdHVyZShbVGVuYW50TWFuYWdlbWVudFN0YXRlXSksXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudE1vZHVsZSB7fVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFlM0QsTUFBTSxPQUFPLHNCQUFzQjs7O1lBYmxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDaEMsT0FBTyxFQUFFO29CQUNQLDZCQUE2QjtvQkFDN0IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUM7b0JBQzlDLHFCQUFxQjtvQkFDckIsVUFBVTtvQkFDVixXQUFXO29CQUNYLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQix1QkFBdUI7aUJBQ3hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBUZW5hbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbmFudHMvdGVuYW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlbmFudC1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlIH0gZnJvbSAnQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVGVuYW50c0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBUZW5hbnRNYW5hZ2VtZW50Um91dGluZ01vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW1RlbmFudE1hbmFnZW1lbnRTdGF0ZV0pLFxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm2015/public-api.js b/npm/ng-packs/dist/tenant-management/esm2015/public-api.js index 08d96cce4e..0da027bafa 100644 --- a/npm/ng-packs/dist/tenant-management/esm2015/public-api.js +++ b/npm/ng-packs/dist/tenant-management/esm2015/public-api.js @@ -2,6 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { RootTenantManagementModule } from './lib/root-tenant-management.module'; export { TenantManagementModule } from './lib/tenant-management.module'; export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './lib/actions'; export { TenantsComponent } from './lib/components'; @@ -10,4 +11,4 @@ export {} from './lib/models'; export { TenantsResolver } from './lib/resolvers'; export { TenantManagementService } from './lib/services'; export { TenantManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcm9vdC10ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js index 2feb8f0b6e..bb2193197a 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/esm5/abp-ng.tenant-management.js @@ -5,11 +5,11 @@ /** * Generated bundle index. Do not edit. */ -export { TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; +export { RootTenantManagementModule, TenantManagementModule, GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant, TenantsComponent, TENANT_MANAGEMENT_ROUTES, TenantsResolver, TenantManagementService, TenantManagementState } from './public-api'; export { CreateTenant as ɵf, DeleteTenant as ɵh, GetTenantById as ɵe, GetTenants as ɵd, UpdateTenant as ɵg } from './lib/actions/tenant-management.actions'; export { TenantsComponent as ɵa } from './lib/components/tenants/tenants.component'; export { TenantsResolver as ɵk } from './lib/resolvers/tenants.resolver'; export { TenantManagementService as ɵc } from './lib/services/tenant-management.service'; export { TenantManagementState as ɵb } from './lib/states/tenant-management.state'; export { TenantManagementRoutingModule as ɵj } from './lib/tenant-management-routing.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseU5BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRlbmFudC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImFicC1uZy50ZW5hbnQtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEscVBBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0SixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDcmVhdGVUZW5hbnQgYXMgybVmLERlbGV0ZVRlbmFudCBhcyDJtWgsR2V0VGVuYW50QnlJZCBhcyDJtWUsR2V0VGVuYW50cyBhcyDJtWQsVXBkYXRlVGVuYW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9ucy90ZW5hbnQtbWFuYWdlbWVudC5hY3Rpb25zJztcbmV4cG9ydCB7VGVuYW50c0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuZXhwb3J0IHtUZW5hbnRzUmVzb2x2ZXIgYXMgybVrfSBmcm9tICcuL2xpYi9yZXNvbHZlcnMvdGVuYW50cy5yZXNvbHZlcic7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRTdGF0ZSBhcyDJtWJ9IGZyb20gJy4vbGliL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5leHBvcnQge1RlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnOyJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js index b59b5b997c..9d5ac20bfb 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/components/tenants/tenants.component.js @@ -19,6 +19,7 @@ var TenantsComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.visibleFeatures = false; this.pageQuery = { sorting: 'name', }; @@ -81,7 +82,7 @@ var TenantsComponent = /** @class */ (function () { function () { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || ''], }); }; /** @@ -193,27 +194,31 @@ var TenantsComponent = /** @class */ (function () { function () { var _this = this; this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -301,7 +306,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -344,6 +349,10 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.selectedModalContent; /** @type {?} */ + TenantsComponent.prototype.visibleFeatures; + /** @type {?} */ + TenantsComponent.prototype.providerKey; + /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ TenantsComponent.prototype.pageQuery; @@ -376,4 +385,4 @@ if (false) { */ TenantsComponent.prototype.store; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBK0NFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBOUJ0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFJbEQsY0FBUyxHQUF3QjtZ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QUFNLEVBQUUsS0FBSyxFQUFFO2dEQUdsRCxTQUFTLFNBQUMsK0JBQStCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXRDN0Q7UUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDOzBDQUMzQixVQUFVO21EQUFrQjtJQUduQztRQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQzswQ0FDdEMsVUFBVTt5REFBUztJQW1MbEMsdUJBQUM7Q0FBQSxBQTVMRCxJQTRMQztTQXhMWSxnQkFBZ0I7OztJQUMzQixpQ0FDbUM7O0lBRW5DLHVDQUNnQzs7SUFFaEMsb0NBQXdCOztJQUV4QixzQ0FBc0I7O0lBRXRCLHVEQUF1Qzs7SUFFdkMsbURBQWdDOztJQUVoQywwQ0FBd0I7O0lBRXhCLGdEQUFrRDs7SUFFbEQsOENBQTRCOztJQUU1QixxQ0FFRTs7SUFFRixtQ0FBeUI7O0lBRXpCLHFDQUEyQjs7SUFVM0IsK0NBQ3NDOztJQUV0Qyx5REFDZ0Q7Ozs7O0lBRzlDLCtDQUFnRDs7Ozs7SUFDaEQseUNBQThDOzs7OztJQUM5Qyw4QkFBdUI7Ozs7O0lBQ3ZCLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVUZW5hbnQsXG4gIERlbGV0ZVRlbmFudCxcbiAgR2V0VGVuYW50cyxcbiAgR2V0VGVuYW50QnlJZCxcbiAgVXBkYXRlVGVuYW50LFxufSBmcm9tICcuLi8uLi9hY3Rpb25zL3RlbmFudC1tYW5hZ2VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy90ZW5hbnQtbWFuYWdlbWVudC5zdGF0ZSc7XG5cbnR5cGUgU2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCB7XG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldClcbiAgZGF0YSQ6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbVtdPjtcblxuICBAU2VsZWN0KFRlbmFudE1hbmFnZW1lbnRTdGF0ZS5nZXRUZW5hbnRzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBzZWxlY3RlZDogQUJQLkJhc2ljSXRlbTtcblxuICB0ZW5hbnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHN0cmluZztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICBzZWxlY3RlZE1vZGFsQ29udGVudCA9IHt9IGFzIFNlbGVjdGVkTW9kYWxDb250ZW50O1xuXG4gIF91c2VTaGFyZWREYXRhYmFzZTogYm9vbGVhbjtcblxuICBwYWdlUXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMgPSB7XG4gICAgc29ydGluZzogJ25hbWUnLFxuICB9O1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgdXNlU2hhcmVkRGF0YWJhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgndXNlU2hhcmVkRGF0YWJhc2UnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aW9uU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmdGb3JtLmdldCgnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnKS52YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RlbmFudE1vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVuYW50TW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb25uZWN0aW9uU3RyaW5nTW9kYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRTZXJ2aWNlOiBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgKSB7fVxuXG4gIG9uU2VhcmNoKHZhbHVlKSB7XG4gICAgdGhpcy5wYWdlUXVlcnkuZmlsdGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVuYW50Rm9ybSgpIHtcbiAgICB0aGlzLnRlbmFudEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLnNlbGVjdGVkLm5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlU2hhcmVkRGF0YWJhc2U6IHRoaXMuX3VzZVNoYXJlZERhdGFiYXNlLFxuICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSkge1xuICAgICAgdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAgIC5kZWxldGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyh0aGlzLnNlbGVjdGVkLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVRlbmFudCgpIHtcbiAgICBpZiAoIXRoaXMudGVuYW50Rm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxuICAgICAgICAgID8gbmV3IFVwZGF0ZVRlbmFudCh7IC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSwgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVUZW5hbnQodGhpcy50ZW5hbnRGb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gVG9hc3Rlci5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZVRlbmFudChpZCkpO1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGRhdGEpIHtcbiAgICB0aGlzLnBhZ2VRdWVyeS5za2lwQ291bnQgPSBkYXRhLmZpcnN0O1xuICAgIHRoaXMucGFnZVF1ZXJ5Lm1heFJlc3VsdENvdW50ID0gZGF0YS5yb3dzO1xuXG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIGdldCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0VGVuYW50cyh0aGlzLnBhZ2VRdWVyeSkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFnQixRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUTdFO0lBbURFLDBCQUNVLG1CQUF3QyxFQUN4QyxhQUFzQyxFQUN0QyxFQUFlLEVBQ2YsS0FBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbEN0Qix5QkFBb0IsR0FBRyxtQkFBQSxFQUFFLEVBQXdCLENBQUM7UUFFbEQsb0JBQWUsR0FBWSxL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QzthQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOztnQkFuTUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QiwyMkxBQXVDO2lCQUN4Qzs7OztnQkF6QlEsbUJBQW1CO2dCQWFuQix1QkFBdUI7Z0JBWHZCLFdBQVc7Z0JBQ0gsS0FBSzs7O3NDQWdFbkIsU0FBUyxTQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnREFHbEQsU0FBUyxTQUFDLCtCQUErQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUExQzdEO1FBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQzswQ0FDM0IsVUFBVTttREFBa0I7SUFHbkM7UUFEQyxNQUFNLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7MENBQ3RDLFVBQVU7eURBQVM7SUEyTGxDLHVCQUFDO0NBQUEsQUFwTUQsSUFvTUM7U0FoTVksZ0JBQWdCOzs7SUFDM0IsaUNBQ21DOztJQUVuQyx1Q0FDZ0M7O0lBRWhDLG9DQUF3Qjs7SUFFeEIsc0NBQXNCOztJQUV0Qix1REFBdUM7O0lBRXZDLG1EQUFnQzs7SUFFaEMsMENBQXdCOztJQUV4QixnREFBa0Q7O0lBRWxELDJDQUFpQzs7SUFFakMsdUNBQW9COztJQUVwQiw4Q0FBNEI7O0lBRTVCLHFDQUVFOztJQUVGLG1DQUF5Qjs7SUFFekIscUNBQTJCOztJQVUzQiwrQ0FDc0M7O0lBRXRDLHlEQUNnRDs7Ozs7SUFHOUMsK0NBQWdEOzs7OztJQUNoRCx5Q0FBOEM7Ozs7O0lBQzlDLDhCQUF1Qjs7Ozs7SUFDdkIsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaW5hbGl6ZSwgcGx1Y2ssIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIENyZWF0ZVRlbmFudCxcbiAgRGVsZXRlVGVuYW50LFxuICBHZXRUZW5hbnRzLFxuICBHZXRUZW5hbnRCeUlkLFxuICBVcGRhdGVUZW5hbnQsXG59IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVuYW50LW1hbmFnZW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcblxudHlwZSBTZWxlY3RlZE1vZGFsQ29udGVudCA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC10ZW5hbnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRzQ29tcG9uZW50IHtcbiAgQFNlbGVjdChUZW5hbnRNYW5hZ2VtZW50U3RhdGUuZ2V0KVxuICBkYXRhJDogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtW10+O1xuXG4gIEBTZWxlY3QoVGVuYW50TWFuYWdlbWVudFN0YXRlLmdldFRlbmFudHNUb3RhbENvdW50KVxuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIHNlbGVjdGVkOiBBQlAuQmFzaWNJdGVtO1xuXG4gIHRlbmFudEZvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogc3RyaW5nO1xuXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuXG4gIHNlbGVjdGVkTW9kYWxDb250ZW50ID0ge30gYXMgU2VsZWN0ZWRNb2RhbENvbnRlbnQ7XG5cbiAgdmlzaWJsZUZlYXR1cmVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcblxuICBfdXNlU2hhcmVkRGF0YWJhc2U6IGJvb2xlYW47XG5cbiAgcGFnZVF1ZXJ5OiBBQlAuUGFnZVF1ZXJ5UGFyYW1zID0ge1xuICAgIHNvcnRpbmc6ICduYW1lJyxcbiAgfTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHVzZVNoYXJlZERhdGFiYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ3VzZVNoYXJlZERhdGFiYXNlJykudmFsdWU7XG4gIH1cblxuICBnZXQgY29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybS5nZXQoJ2RlZmF1bHRDb25uZWN0aW9uU3RyaW5nJykudmFsdWU7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZW5hbnRNb2RhbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbmFudE1vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY29ubmVjdGlvblN0cmluZ01vZGFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBvblNlYXJjaCh2YWx1ZSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XG4gICAgdGhpcy50ZW5hbnRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5zZWxlY3RlZC5uYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0oKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZVNoYXJlZERhdGFiYXNlOiB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSxcbiAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nOiBbdGhpcy5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB8fCAnJ10sXG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwodGl0bGU6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgdHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvbkVkaXRDb25uZWN0aW9uU3RyaW5nKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFRlbmFudEJ5SWQoaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJyksXG4gICAgICAgIHN3aXRjaE1hcChzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPT4ge1xuICAgICAgICB0aGlzLl91c2VTaGFyZWREYXRhYmFzZSA9IGZldGNoZWRDb25uZWN0aW9uU3RyaW5nID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZmV0Y2hlZENvbm5lY3Rpb25TdHJpbmcgPyBmZXRjaGVkQ29ubmVjdGlvblN0cmluZyA6ICcnO1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRDb25uZWN0aW9uU3RyaW5nRm9ybSgpO1xuICAgICAgICB0aGlzLm9wZW5Nb2RhbCgnQWJwVGVuYW50TWFuYWdlbWVudDo6Q29ubmVjdGlvblN0cmluZ3MnLCB0aGlzLmNvbm5lY3Rpb25TdHJpbmdNb2RhbFRlbXBsYXRlLCAnc2F2ZUNvbm5TdHInKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25BZGRUZW5hbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIEFCUC5CYXNpY0l0ZW07XG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok5ld1RlbmFudCcsIHRoaXMudGVuYW50TW9kYWxUZW1wbGF0ZSwgJ3NhdmVUZW5hbnQnKTtcbiAgfVxuXG4gIG9uRWRpdFRlbmFudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRCeUlkKGlkKSlcbiAgICAgIC5waXBlKHBsdWNrKCdUZW5hbnRNYW5hZ2VtZW50U3RhdGUnLCAnc2VsZWN0ZWRJdGVtJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkVkaXQnLCB0aGlzLnRlbmFudE1vZGFsVGVtcGxhdGUsICdzYXZlVGVuYW50Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnNlbGVjdGVkTW9kYWxDb250ZW50O1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlID09PSAnc2F2ZVRlbmFudCcpIHRoaXMuc2F2ZVRlbmFudCgpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzYXZlQ29ublN0cicpIHRoaXMuc2F2ZUNvbm5lY3Rpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHNhdmVDb25uZWN0aW9uU3RyaW5nKCkge1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy51c2VTaGFyZWREYXRhYmFzZSB8fCAoIXRoaXMudXNlU2hhcmVkRGF0YWJhc2UgJiYgIXRoaXMuY29ubmVjdGlvblN0cmluZykpIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAuZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcodGhpcy5zZWxlY3RlZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5tb2RhbEJ1c3kgPSBmYWxzZSkpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVuYW50U2VydmljZVxuICAgICAgICAudXBkYXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoeyBpZDogdGhpcy5zZWxlY3RlZC5pZCwgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmc6IHRoaXMuY29ubmVjdGlvblN0cmluZyB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGVuYW50KCkge1xuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgVXBkYXRlVGVuYW50KHsgLi4udGhpcy50ZW5hbnRGb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVRlbmFudCh0aGlzLnRlbmFudEZvcm0udmFsdWUpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxuICAgICAgLndhcm4oJ0FicFRlbmFudE1hbmFnZW1lbnQ6OlRlbmFudERlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpBcmVZb3VTdXJlJywge1xuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBUb2FzdGVyLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBUb2FzdGVyLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlVGVuYW50KGlkKSk7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZGF0YSkge1xuICAgIHRoaXMucGFnZVF1ZXJ5LnNraXBDb3VudCA9IGRhdGEuZmlyc3Q7XG4gICAgdGhpcy5wYWdlUXVlcnkubWF4UmVzdWx0Q291bnQgPSBkYXRhLnJvd3M7XG5cbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRUZW5hbnRzKHRoaXMucGFnZVF1ZXJ5KSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js b/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js index 0e984824ba..f56dbbbfd6 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/constants/routes.js @@ -3,21 +3,24 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -export var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, -])); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLHdCQUF3QixHQUFHLG1CQUFBO0lBQ3RDO1FBQ0UsSUFBSSxFQUFFLDRDQUE0QztRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7UUFDbEQsTUFBTSxpQ0FBeUI7UUFDL0IsU0FBUyxFQUFFLGFBQWE7UUFDeEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO0tBQ0Y7Q0FDRixFQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5leHBvcnQgY29uc3QgVEVOQU5UX01BTkFHRU1FTlRfUk9VVEVTID0gW1xuICB7XG4gICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgcGF0aDogJ3RlbmFudC1tYW5hZ2VtZW50JyxcbiAgICBwYXJlbnROYW1lOiAnQWJwVWlOYXZpZ2F0aW9uOjpNZW51OkFkbWluaXN0cmF0aW9uJyxcbiAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgIGljb25DbGFzczogJ2ZhIGZhLXVzZXJzJyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cycsXG4gICAgICAgIG5hbWU6ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnRzJyxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnQWJwVGVuYW50TWFuYWdlbWVudC5UZW5hbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl0gYXMgQUJQLkZ1bGxSb3V0ZVtdO1xuIl19 \ No newline at end of file +export var TENANT_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ])), + settings: [], +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLHdCQUF3QixHQUFHO0lBQ3RDLE1BQU0sRUFBRSxtQkFBQTtRQUNOO1lBQ0UsSUFBSSxFQUFFLDRDQUE0QztZQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFVBQVUsRUFBRSxzQ0FBc0M7WUFDbEQsTUFBTSxpQ0FBeUI7WUFDL0IsU0FBUyxFQUFFLGFBQWE7WUFDeEIsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLEtBQUssRUFBRSxDQUFDO29CQUNSLGNBQWMsRUFBRSw2QkFBNkI7aUJBQzlDO2FBQ0Y7U0FDRjtLQUNGLEVBQW1CO0lBQ3BCLFFBQVEsRUFBRSxFQUFFO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuZXhwb3J0IGNvbnN0IFRFTkFOVF9NQU5BR0VNRU5UX1JPVVRFUyA9IHtcbiAgcm91dGVzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ0FicFRlbmFudE1hbmFnZW1lbnQ6Ok1lbnU6VGVuYW50TWFuYWdlbWVudCcsXG4gICAgICBwYXRoOiAndGVuYW50LW1hbmFnZW1lbnQnLFxuICAgICAgcGFyZW50TmFtZTogJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG4gICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxuICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtdXNlcnMnLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICd0ZW5hbnRzJyxcbiAgICAgICAgICBuYW1lOiAnQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50cycsXG4gICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgcmVxdWlyZWRQb2xpY3k6ICdBYnBUZW5hbnRNYW5hZ2VtZW50LlRlbmFudHMnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdIGFzIEFCUC5GdWxsUm91dGVbXSxcbiAgc2V0dGluZ3M6IFtdLFxufTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/root-tenant-management.module.js b/npm/ng-packs/dist/tenant-management/esm5/lib/root-tenant-management.module.js new file mode 100644 index 0000000000..a6967c63ed --- /dev/null +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/root-tenant-management.module.js @@ -0,0 +1,27 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { NgModule } from '@angular/core'; +var RootTenantManagementModule = /** @class */ (function () { + function RootTenantManagementModule() { + } + /** + * @return {?} + */ + RootTenantManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + }; + RootTenantManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootTenantManagementModule; +}()); +export { RootTenantManagementModule }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC10ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3Jvb3QtdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RDtJQUFBO0lBUUEsQ0FBQzs7OztJQU5RLGtDQUFPOzs7SUFBZDtRQUNFLE9BQU87WUFDTCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7O2dCQVBGLFFBQVEsU0FBQyxFQUFFOztJQVFaLGlDQUFDO0NBQUEsQUFSRCxJQVFDO1NBUFksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFJvb3RUZW5hbnRNYW5hZ2VtZW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSb290VGVuYW50TWFuYWdlbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW10sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js b/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js index 2beb81ecaa..1f3316eeec 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/services/tenant-management.service.js @@ -145,7 +145,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -173,4 +173,4 @@ if (false) { */ TenantManagementService.prototype.rest; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSxpQ0FBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLDJDQUFTOzs7O0lBQVQsVUFBVSxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ3BDLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsNEJBQTRCO1lBQ2pDLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0MsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFFRCwrQ0FBYTs7OztJQUFiLFVBQWMsRUFBVTs7WUFDaEIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxnQ0FBOEIsRUFBSTtTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXNCLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLEVBQVU7O1lBQ2YsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsZ0NBQThCLEVBQUk7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQWlDOztZQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQW9DOztZQUN6QyxHQUFHLEdBQUcsZ0NBQThCLElBQUksQ0FBQyxFQUFJO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7WUFFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFBO1lBQ0gsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELDREQUEwQjs7OztJQUExQixVQUEyQixFQUFVOztZQUM3QixHQUFHLEdBQUcsZ0NBQThCLEVBQUUsK0JBQTRCOztZQUVsRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsWUFBWSxtQkFBd0I7WUFDcEMsR0FBRyxLQUFBO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwRCxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixPQUF3RDs7WUFDOUUsR0FBRyxHQUFHLGdDQUE4QixPQUFPLENBQUMsRUFBRSwrQkFBNEI7O1lBRTFFLE9BQU8sR0FBa0U7WUFDN0UsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEtBQUE7WUFDSCxNQUFNLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUU7U0FDckU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixFQUFVOztZQUNoQyxHQUFHLEdBQUcsK0JBQTZCLEVBQUUsK0JBQTRCOztZQUVqRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsS0FBQTtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUQsT0FBTyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7Z0JBdkZGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVzs7O2tDQUZwQjtDQTZGQyxBQXhGRCxJQXdGQztTQXJGWSx1QkFBdUI7Ozs7OztJQUN0Qix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnQvJHtpZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCwgYW55PihyZXF1ZXN0KTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGVuYW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEQ7SUFJRSxpQ0FBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7Ozs7O0lBRXpDLDJDQUFTOzs7O0lBQVQsVUFBVSxNQUFrQztRQUFsQyx1QkFBQSxFQUFBLDRCQUFTLEVBQUUsRUFBdUI7O1lBQ3BDLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsNEJBQTRCO1lBQ2pDLE1BQU0sUUFBQTtTQUNQO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0MsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFFRCwrQ0FBYTs7OztJQUFiLFVBQWMsRUFBVTs7WUFDaEIsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxnQ0FBOEIsRUFBSTtTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXNCLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLEVBQVU7O1lBQ2YsT0FBTyxHQUF1QjtZQUNsQyxNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsZ0NBQThCLEVBQUk7U0FDeEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFhLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQWlDOztZQUN0QyxPQUFPLEdBQThDO1lBQ3pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLDRCQUE0QjtZQUNqQyxJQUFJLE1BQUE7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTZDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7O0lBRUQsOENBQVk7Ozs7SUFBWixVQUFhLElBQW9DOztZQUN6QyxHQUFHLEdBQUcsZ0NBQThCLElBQUksQ0FBQyxFQUFJO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQzs7WUFFVCxPQUFPLEdBQWlEO1lBQzVELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFBO1lBQ0gsSUFBSSxNQUFBO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE2QyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUVELDREQUEwQjs7OztJQUExQixVQUEyQixFQUFVOztZQUM3QixHQUFHLEdBQUcsZ0NBQThCLEVBQUUsK0JBQTRCOztZQUVsRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsWUFBWSxtQkFBd0I7WUFDcEMsR0FBRyxLQUFBO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUEwRCxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixPQUF3RDs7WUFDOUUsR0FBRyxHQUFHLGdDQUE4QixPQUFPLENBQUMsRUFBRSwrQkFBNEI7O1lBRTFFLE9BQU8sR0FBa0U7WUFDN0UsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEtBQUE7WUFDSCxNQUFNLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUU7U0FDckU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUF1RCxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7OztJQUVELCtEQUE2Qjs7OztJQUE3QixVQUE4QixFQUFVOztZQUNoQyxHQUFHLEdBQUcsZ0NBQThCLEVBQUUsK0JBQTRCOztZQUVsRSxPQUFPLEdBQWtFO1lBQzdFLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsS0FBQTtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBdUQsT0FBTyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7Z0JBdkZGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVzs7O2tDQUZwQjtDQTZGQyxBQXhGRCxJQXdGQztTQXJGWSx1QkFBdUI7Ozs7OztJQUN0Qix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVuYW50LW1hbmFnZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3Q6IFJlc3RTZXJ2aWNlKSB7fVxuXG4gIGdldFRlbmFudChwYXJhbXMgPSB7fSBhcyBBQlAuUGFnZVF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxUZW5hbnRNYW5hZ2VtZW50LlJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJy9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIFRlbmFudE1hbmFnZW1lbnQuUmVzcG9uc2U+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0VGVuYW50QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PG51bGw+ID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PG51bGwsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlVGVuYW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8bnVsbD4gPSB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgdXJsOiBgL2FwaS9tdWx0aS10ZW5hbmN5L3RlbmFudHMvJHtpZH1gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8bnVsbCwgbnVsbD4ocmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVUZW5hbnQoYm9keTogVGVuYW50TWFuYWdlbWVudC5BZGRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBQlAuQmFzaWNJdGVtPiB7XG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuQWRkUmVxdWVzdD4gPSB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzYCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgdXBkYXRlVGVuYW50KGJvZHk6IFRlbmFudE1hbmFnZW1lbnQuVXBkYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8QUJQLkJhc2ljSXRlbT4ge1xuICAgIGNvbnN0IHVybCA9IGAvYXBpL211bHRpLXRlbmFuY3kvdGVuYW50cy8ke2JvZHkuaWR9YDtcbiAgICBkZWxldGUgYm9keS5pZDtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlc3QuUmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LlVwZGF0ZVJlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnJlc3QucmVxdWVzdDxUZW5hbnRNYW5hZ2VtZW50LkFkZFJlcXVlc3QsIEFCUC5CYXNpY0l0ZW0+KHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICByZXNwb25zZVR5cGU6IFJlc3QuUmVzcG9uc2VUeXBlLlRleHQsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIHN0cmluZz4ocmVxdWVzdCk7XG4gIH1cblxuICB1cGRhdGVEZWZhdWx0Q29ubmVjdGlvblN0cmluZyhwYXlsb2FkOiBUZW5hbnRNYW5hZ2VtZW50LkRlZmF1bHRDb25uZWN0aW9uU3RyaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7cGF5bG9hZC5pZH0vZGVmYXVsdC1jb25uZWN0aW9uLXN0cmluZ2A7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBSZXN0LlJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3Q+ID0ge1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtczogeyBkZWZhdWx0Q29ubmVjdGlvblN0cmluZzogcGF5bG9hZC5kZWZhdWx0Q29ubmVjdGlvblN0cmluZyB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucmVzdC5yZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0LCBhbnk+KHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlRGVmYXVsdENvbm5lY3Rpb25TdHJpbmcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYC9hcGkvbXVsdGktdGVuYW5jeS90ZW5hbnRzLyR7aWR9L2RlZmF1bHQtY29ubmVjdGlvbi1zdHJpbmdgO1xuXG4gICAgY29uc3QgcmVxdWVzdDogUmVzdC5SZXF1ZXN0PFRlbmFudE1hbmFnZW1lbnQuRGVmYXVsdENvbm5lY3Rpb25TdHJpbmdSZXF1ZXN0PiA9IHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmwsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnJlcXVlc3Q8VGVuYW50TWFuYWdlbWVudC5EZWZhdWx0Q29ubmVjdGlvblN0cmluZ1JlcXVlc3QsIGFueT4ocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/lib/tenant-management.module.js b/npm/ng-packs/dist/tenant-management/esm5/lib/tenant-management.module.js index 78d7776867..f4d50cd7bf 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/lib/tenant-management.module.js +++ b/npm/ng-packs/dist/tenant-management/esm5/lib/tenant-management.module.js @@ -11,6 +11,8 @@ import { TableModule } from 'primeng/table'; import { TenantsComponent } from './components/tenants/tenants.component'; import { TenantManagementState } from './states/tenant-management.state'; import { TenantManagementRoutingModule } from './tenant-management-routing.module'; +import { FeatureManagementModule } from '@abp/ng.feature-management'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; var TenantManagementModule = /** @class */ (function () { function TenantManagementModule() { } @@ -20,14 +22,16 @@ var TenantManagementModule = /** @class */ (function () { imports: [ TenantManagementRoutingModule, NgxsModule.forFeature([TenantManagementState]), + NgxValidateCoreModule, CoreModule, TableModule, ThemeSharedModule, NgbDropdownModule, + FeatureManagementModule, ], },] } ]; return TenantManagementModule; }()); export { TenantManagementModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkY7SUFBQTtJQVdxQyxDQUFDOztnQkFYckMsUUFBUSxTQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQzt3QkFDOUMsVUFBVTt3QkFDVixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNsQjtpQkFDRjs7SUFDb0MsNkJBQUM7Q0FBQSxBQVh0QyxJQVdzQztTQUF6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBUZW5hbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbmFudHMvdGVuYW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvdGVuYW50LW1hbmFnZW1lbnQuc3RhdGUnO1xuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlbmFudC1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVGVuYW50c0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBUZW5hbnRNYW5hZ2VtZW50Um91dGluZ01vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW1RlbmFudE1hbmFnZW1lbnRTdGF0ZV0pLFxuICAgIENvcmVNb2R1bGUsXG4gICAgVGFibGVNb2R1bGUsXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudE1hbmFnZW1lbnRNb2R1bGUge31cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0Q7SUFBQTtJQWFxQyxDQUFDOztnQkFickMsUUFBUSxTQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQzt3QkFDOUMscUJBQXFCO3dCQUNyQixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDeEI7aUJBQ0Y7O0lBQ29DLDZCQUFDO0NBQUEsQUFidEMsSUFhc0M7U0FBekIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgVGVuYW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50JztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL3RlbmFudC1tYW5hZ2VtZW50LnN0YXRlJztcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlbmFudHNDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgVGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUsXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtUZW5hbnRNYW5hZ2VtZW50U3RhdGVdKSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBGZWF0dXJlTWFuYWdlbWVudE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWFuYWdlbWVudE1vZHVsZSB7fVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/esm5/public-api.js b/npm/ng-packs/dist/tenant-management/esm5/public-api.js index 08d96cce4e..0da027bafa 100644 --- a/npm/ng-packs/dist/tenant-management/esm5/public-api.js +++ b/npm/ng-packs/dist/tenant-management/esm5/public-api.js @@ -2,6 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ +export { RootTenantManagementModule } from './lib/root-tenant-management.module'; export { TenantManagementModule } from './lib/tenant-management.module'; export { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from './lib/actions'; export { TenantsComponent } from './lib/components'; @@ -10,4 +11,4 @@ export {} from './lib/models'; export { TenantsResolver } from './lib/resolvers'; export { TenantManagementService } from './lib/services'; export { TenantManagementState } from './lib/states'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGVuYW50LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCx1Q0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxvRkFBYyxlQUFlLENBQUM7QUFDOUIsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMseUNBQWMsaUJBQWlCLENBQUM7QUFDaEMsZUFBYyxjQUFjLENBQUM7QUFDN0IsZ0NBQWMsaUJBQWlCLENBQUM7QUFDaEMsd0NBQWMsZ0JBQWdCLENBQUM7QUFDL0Isc0NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcm9vdC10ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LW1hbmFnZW1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js index 8b425ac7d9..bd20ff80ae 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js @@ -1,6 +1,6 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild } from '@angular/core'; import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { TableModule } from 'primeng/table'; @@ -9,6 +9,27 @@ import { Validators, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs'; import { tap, switchMap, pluck, take, finalize } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; +import { FeatureManagementModule } from '@abp/ng.feature-management'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class RootTenantManagementModule { + /** + * @return {?} + */ + static forRoot() { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + } +} +RootTenantManagementModule.decorators = [ + { type: NgModule, args: [{},] } +]; /** * @fileoverview added by tsickle @@ -203,7 +224,7 @@ class TenantManagementService { */ deleteDefaultConnectionString(id) { /** @type {?} */ - const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; /** @type {?} */ const request = { method: 'DELETE', @@ -394,6 +415,7 @@ class TenantsComponent { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.visibleFeatures = false; this.pageQuery = { sorting: 'name', }; @@ -436,7 +458,7 @@ class TenantsComponent { createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || ''], }); } /** @@ -522,27 +544,31 @@ class TenantsComponent { */ saveConnectionString() { this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + () => (this.modalBusy = false)))) .subscribe((/** * @return {?} */ () => { - this.modalBusy = false; this.isModalVisible = false; })); } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + () => (this.modalBusy = false)))) .subscribe((/** * @return {?} */ () => { - this.modalBusy = false; this.isModalVisible = false; })); } @@ -613,7 +639,7 @@ class TenantsComponent { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -653,6 +679,10 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.selectedModalContent; /** @type {?} */ + TenantsComponent.prototype.visibleFeatures; + /** @type {?} */ + TenantsComponent.prototype.providerKey; + /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ TenantsComponent.prototype.pageQuery; @@ -759,10 +789,12 @@ TenantManagementModule.decorators = [ imports: [ TenantManagementRoutingModule, NgxsModule.forFeature([TenantManagementState]), + NgxValidateCoreModule, CoreModule, TableModule, ThemeSharedModule, NgbDropdownModule, + FeatureManagementModule, ], },] } ]; @@ -782,23 +814,26 @@ TenantManagementModule.decorators = [ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -const TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, -])); +const TENANT_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -894,5 +929,5 @@ var TenantManagement; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; +export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, RootTenantManagementModule, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map index fdb8333bf9..5efbd879b8 100644 --- a/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm2015/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/root-tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootTenantManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootTenantManagementModule,\n providers: [],\n };\n }\n}\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n visibleFeatures: boolean = false;\n\n providerKey: string;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: [this.defaultConnectionString || ''],\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\nimport { FeatureManagementModule } from '@abp/ng.feature-management';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n NgxValidateCoreModule,\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n FeatureManagementModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js index cdca28b555..dcf09963b5 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js @@ -1,6 +1,6 @@ +import { NgModule, Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild } from '@angular/core'; import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { TableModule } from 'primeng/table'; @@ -9,6 +9,33 @@ import { Validators, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs'; import { tap, switchMap, pluck, take, finalize } from 'rxjs/operators'; import { RouterModule } from '@angular/router'; +import { FeatureManagementModule } from '@abp/ng.feature-management'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var RootTenantManagementModule = /** @class */ (function () { + function RootTenantManagementModule() { + } + /** + * @return {?} + */ + RootTenantManagementModule.forRoot = /** + * @return {?} + */ + function () { + return { + ngModule: RootTenantManagementModule, + providers: [], + }; + }; + RootTenantManagementModule.decorators = [ + { type: NgModule, args: [{},] } + ]; + return RootTenantManagementModule; +}()); /** * @fileoverview added by tsickle @@ -223,7 +250,7 @@ var TenantManagementService = /** @class */ (function () { */ function (id) { /** @type {?} */ - var url = "/api/multi-tenancy/tenant/" + id + "/default-connection-string"; + var url = "/api/multi-tenancy/tenants/" + id + "/default-connection-string"; /** @type {?} */ var request = { method: 'DELETE', @@ -457,6 +484,7 @@ var TenantsComponent = /** @class */ (function () { this.fb = fb; this.store = store; this.selectedModalContent = (/** @type {?} */ ({})); + this.visibleFeatures = false; this.pageQuery = { sorting: 'name', }; @@ -519,7 +547,7 @@ var TenantsComponent = /** @class */ (function () { function () { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || ''], }); }; /** @@ -631,27 +659,31 @@ var TenantsComponent = /** @class */ (function () { function () { var _this = this; this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe(take(1), finalize((/** + * @return {?} + */ + function () { return (_this.modalBusy = false); }))) .subscribe((/** * @return {?} */ function () { - _this.modalBusy = false; _this.isModalVisible = false; })); } @@ -739,7 +771,7 @@ var TenantsComponent = /** @class */ (function () { TenantsComponent.decorators = [ { type: Component, args: [{ selector: 'abp-tenants', - template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::ConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n" + template: "
    \n
    \n
    \n
    \n
    \n {{ 'AbpTenantManagement::Tenants' | abpLocalization }}\n
    \n
    \n
    \n \n \n {{ 'AbpTenantManagement::NewTenant' | abpLocalization }}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n {{ 'AbpTenantManagement::TenantName' | abpLocalization }}\n \n \n \n \n \n
    \n \n {{ 'AbpTenantManagement::Actions' | abpLocalization }}\n \n
    \n \n {{ 'AbpTenantManagement::Edit' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageConnectionStrings' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Permission:ManageFeatures' | abpLocalization }}\n \n \n {{ 'AbpTenantManagement::Delete' | abpLocalization }}\n \n
    \n
    \n \n {{ data.name }}\n \n
    \n \n
    \n
    \n\n\n \n

    {{ selectedModalContent.title | abpLocalization }}

    \n
    \n\n \n \n \n\n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n" }] } ]; /** @nocollapse */ @@ -781,6 +813,10 @@ if (false) { /** @type {?} */ TenantsComponent.prototype.selectedModalContent; /** @type {?} */ + TenantsComponent.prototype.visibleFeatures; + /** @type {?} */ + TenantsComponent.prototype.providerKey; + /** @type {?} */ TenantsComponent.prototype._useSharedDatabase; /** @type {?} */ TenantsComponent.prototype.pageQuery; @@ -892,10 +928,12 @@ var TenantManagementModule = /** @class */ (function () { imports: [ TenantManagementRoutingModule, NgxsModule.forFeature([TenantManagementState]), + NgxValidateCoreModule, CoreModule, TableModule, ThemeSharedModule, NgbDropdownModule, + FeatureManagementModule, ], },] } ]; @@ -917,23 +955,26 @@ var TenantManagementModule = /** @class */ (function () { * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ -var TENANT_MANAGEMENT_ROUTES = (/** @type {?} */ ([ - { - name: 'AbpTenantManagement::Menu:TenantManagement', - path: 'tenant-management', - parentName: 'AbpUiNavigation::Menu:Administration', - layout: "application" /* application */, - iconClass: 'fa fa-users', - children: [ - { - path: 'tenants', - name: 'AbpTenantManagement::Tenants', - order: 1, - requiredPolicy: 'AbpTenantManagement.Tenants', - }, - ], - }, -])); +var TENANT_MANAGEMENT_ROUTES = { + routes: (/** @type {?} */ ([ + { + name: 'AbpTenantManagement::Menu:TenantManagement', + path: 'tenant-management', + parentName: 'AbpUiNavigation::Menu:Administration', + layout: "application" /* application */, + iconClass: 'fa fa-users', + children: [ + { + path: 'tenants', + name: 'AbpTenantManagement::Tenants', + order: 1, + requiredPolicy: 'AbpTenantManagement.Tenants', + }, + ], + }, + ])), + settings: [], +}; /** * @fileoverview added by tsickle @@ -1029,5 +1070,5 @@ var TenantManagement; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; +export { CreateTenant, DeleteTenant, GetTenantById, GetTenants, RootTenantManagementModule, TENANT_MANAGEMENT_ROUTES, TenantManagementModule, TenantManagementService, TenantManagementState, TenantsComponent, TenantsResolver, UpdateTenant, TenantsComponent as ɵa, TenantManagementState as ɵb, TenantManagementService as ɵc, GetTenants as ɵd, GetTenantById as ɵe, CreateTenant as ɵf, UpdateTenant as ɵg, DeleteTenant as ɵh, TenantManagementRoutingModule as ɵj, TenantsResolver as ɵk }; //# sourceMappingURL=abp-ng.tenant-management.js.map diff --git a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map index 8925fc4c0d..51183ee214 100644 --- a/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map +++ b/npm/ng-packs/dist/tenant-management/fesm5/abp-ng.tenant-management.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: this.defaultConnectionString || '',\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(take(1))\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n] as ABP.FullRoute[];\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;;;;AAGA;IAEE,oBAAmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;KAAI;IADpC,eAAI,GAAG,+BAA+B,CAAC;IAEzD,iBAAC;CAHD,IAGC;;;IAFC,gBAAuD;;IAC3C,6BAAoC;;AAGlD;IAEE,uBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,kBAAI,GAAG,qCAAqC,CAAC;IAE/D,oBAAC;CAHD,IAGC;;;IAFC,mBAA6D;;IACjD,gCAAsB;;AAGpC;IAEE,sBAAmB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;KAAI;IAD3C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAA2C;;AAGzD;IAEE,sBAAmB,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;KAAI;IAD9C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAA8C;;AAG5D;IAEE,sBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAAsB;;;;;;;ACzBpC;IASE,iCAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,2CAAS;;;;IAAT,UAAU,MAAkC;QAAlC,uBAAA,EAAA,4BAAS,EAAE,EAAuB;;YACpC,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,4BAA4B;YACjC,MAAM,QAAA;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkC,OAAO,CAAC,CAAC;KACpE;;;;;IAED,+CAAa;;;;IAAb,UAAc,EAAU;;YAChB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsB,OAAO,CAAC,CAAC;KACxD;;;;;IAED,8CAAY;;;;IAAZ,UAAa,EAAU;;YACf,OAAO,GAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAa,OAAO,CAAC,CAAC;KAC/C;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAiC;;YACtC,OAAO,GAA8C;YACzD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,4BAA4B;YACjC,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAoC;;YACzC,GAAG,GAAG,gCAA8B,IAAI,CAAC,EAAI;QACnD,OAAO,IAAI,CAAC,EAAE,CAAC;;YAET,OAAO,GAAiD;YAC5D,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,4DAA0B;;;;IAA1B,UAA2B,EAAU;;YAC7B,GAAG,GAAG,gCAA8B,EAAE,+BAA4B;;YAElE,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0D,OAAO,CAAC,CAAC;KAC5F;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,OAAwD;;YAC9E,GAAG,GAAG,gCAA8B,OAAO,CAAC,EAAE,+BAA4B;;YAE1E,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,MAAM,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE;SACrE;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,EAAU;;YAChC,GAAG,GAAG,+BAA6B,EAAE,+BAA4B;;YAEjE,OAAO,GAAkE;YAC7E,MAAM,EAAE,QAAQ;YAChB,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;gBAvFF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;kCAFpB;CAKA,IAwFC;;;;;;IApFa,uCAAyB;;;;;;;;ICmBrC,+BAAoB,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;KAAI;;;;;IATjE,yBAAG;;;;IAAV,UAAW,EAAkC;YAAhC,kBAAM;QACjB,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;KAC3B;;;;;IAGM,0CAAoB;;;;IAA3B,UAA4B,EAAkC;YAAhC,kBAAM;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC;KAC1B;;;;;;IAKD,mCAAG;;;;;IAAH,UAAI,EAAoD,EAAE,EAAuB;YAA3E,0BAAU;YAA4C,oBAAO;QACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CACzD,GAAG;;;;QAAC,UAAA,MAAM;YACR,OAAA,UAAU,CAAC;gBACT,MAAM,QAAA;aACP,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,uCAAO;;;;;IAAP,UAAQ,EAAoD,EAAE,EAA0B;YAA9E,0BAAU;YAA4C,oBAAO;QACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7D,GAAG;;;;QAAC,UAAA,YAAY;YACd,OAAA,UAAU,CAAC;gBACT,YAAY,cAAA;aACb,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,mCAAG;;;;;IAAH,UAAI,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAC/D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAA4D,EAAE,EAAyB;QAD9F,iBAMC;YALQ,sBAAQ,EAAE,sBAAQ;YAA4C,oBAAO;QAC5E,OAAO,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACjD,SAAS;;;QAAC,cAAM,OAAA,KAAI,CAAC,uBAAuB,CAAC,YAAY,cAAM,QAAQ,EAAE,CAAC,YAAY,EAAK,OAAO,EAAG,GAAA,EAAC,EACtG,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAC5C,CAAC;KACH;IArCDA;QADC,MAAM,CAAC,UAAU,CAAC;;iDACoD,UAAU;;oDAQhF;IAGDA;QADC,MAAM,CAAC,aAAa,CAAC;;iDACqD,aAAa;;wDAQvF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACmD,YAAY;;uDAEnF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACgD,YAAY;;oDAEhF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDAC6D,YAAY;;uDAK7F;IAjDDA;QADC,QAAQ,EAAE;;;;0CAGV;IAGDA;QADC,QAAQ,EAAE;;;;2DAGV;IATU,qBAAqB;QAJjC,KAAK,CAAyB;YAC7B,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,qBAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAA0B;SACrE,CAAC;yCAY6C,uBAAuB;OAXzD,qBAAqB,CAoDjC;IAAD,4BAAC;CAAA,IAAA;;;;;;IAzCa,wDAAwD;;;;;;;;IC0CpE,0BACU,mBAAwC,EACxC,aAAsC,EACtC,EAAe,EACf,KAAY;QAHZ,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAyB;QACtC,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAO;QA9BtB,yBAAoB,sBAAG,EAAE,EAAwB,CAAC;QAIlD,cAAS,GAAwB;YAC/B,OAAO,EAAE,MAAM;SAChB,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;QAEzB,cAAS,GAAY,KAAK,CAAC;KAqBvB;IAnBJ,sBAAI,+CAAiB;;;;QAArB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;SACxE;;;OAAA;IAED,sBAAI,8CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;SAC9E;;;OAAA;;;;;IAeD,mCAAQ;;;;IAAR,UAAS,KAAK;QACZ,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;;IAEO,2CAAgB;;;;IAAxB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC;KACJ;;;;;IAEO,4DAAiC;;;;IAAzC;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,IAAI,EAAE;SAC5D,CAAC,CAAC;KACJ;;;;;;;IAED,oCAAS;;;;;;IAAT,UAAU,KAAa,EAAE,QAA0B,EAAE,IAAY;QAC/D,IAAI,CAAC,oBAAoB,GAAG;YAC1B,KAAK,OAAA;YACL,QAAQ,UAAA;YACR,IAAI,MAAA;SACL,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;;IAED,iDAAsB;;;;IAAtB,UAAuB,EAAU;QAAjC,iBAgBC;QAfC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CACH,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,EAC9C,SAAS;;;;QAAC,UAAA,QAAQ;YAChB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,KAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;SAC1D,EAAC,CACH;aACA,SAAS;;;;QAAC,UAAA,uBAAuB;YAChC,KAAI,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,KAAK,GAAG,IAAI,CAAC;YACjE,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,EAAE,CAAC;YACtF,KAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,KAAI,CAAC,SAAS,CAAC,wCAAwC,EAAE,KAAI,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;SAC7G,EAAC,CAAC;KACN;;;;IAED,sCAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,sBAAG,EAAE,EAAiB,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAC1F;;;;;IAED,uCAAY;;;;IAAZ,UAAa,EAAU;QAAvB,iBASC;QARC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;aACpD,SAAS;;;;QAAC,UAAA,QAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;SACrF,EAAC,CAAC;KACN;;;;IAED,+BAAI;;;IAAJ;QACU,IAAA,qCAAI;QACZ,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,aAAa;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC9D;;;;IAED,+CAAoB;;;IAApB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;YAAC;gBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACvG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS;;;YAAC;gBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;KACF;;;;IAED,qCAAU;;;IAAV;QAAA,iBAcC;QAbC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE,OAAO;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,CAAC,QAAQ,CAAC,EAAE;cACZ,IAAI,YAAY,cAAM,IAAI,CAAC,UAAU,CAAC,KAAK,IAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAG;cACpE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C;aACA,SAAS;;;QAAC;YACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B,EAAC,CAAC;KACN;;;;;;IAED,iCAAM;;;;;IAAN,UAAO,EAAU,EAAE,IAAY;QAA/B,iBAWC;QAVC,IAAI,CAAC,mBAAmB;aACrB,IAAI,CAAC,wDAAwD,EAAE,iCAAiC,EAAE;YACjG,yBAAyB,EAAE,CAAC,IAAI,CAAC;SAClC,CAAC;aACD,SAAS;;;;QAAC,UAAC,MAAsB;YAChC,IAAI,MAAM,8BAA6B;gBACrC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;SACF,EAAC,CAAC;KACN;;;;;IAED,uCAAY;;;;IAAZ,UAAa,IAAI;QACf,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;IAED,8BAAG;;;IAAH;QAAA,iBAMC;QALC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxC,IAAI,CAAC,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,OAAO,GAAG,KAAK,IAAC,EAAC,CAAC;aAC5C,SAAS,EAAE,CAAC;KAChB;;gBA3LF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,ozKAAuC;iBACxC;;;;gBAzBQ,mBAAmB;gBAanB,uBAAuB;gBAXvB,WAAW;gBACH,KAAK;;;sCA4DnB,SAAS,SAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gDAGlD,SAAS,SAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;IAtC7DA;QADC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC;kCAC3B,UAAU;mDAAkB;IAGnCA;QADC,MAAM,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;kCACtC,UAAU;yDAAS;IAmLlC,uBAAC;CA5LD,IA4LC;;;IAvLC,iCACmC;;IAEnC,uCACgC;;IAEhC,oCAAwB;;IAExB,sCAAsB;;IAEtB,uDAAuC;;IAEvC,mDAAgC;;IAEhC,0CAAwB;;IAExB,gDAAkD;;IAElD,8CAA4B;;IAE5B,qCAEE;;IAEF,mCAAyB;;IAEzB,qCAA2B;;IAU3B,+CACsC;;IAEtC,yDACgD;;;;;IAG9C,+CAAgD;;;;;IAChD,yCAA8C;;;;;IAC9C,8BAAuB;;;;;IACvB,iCAAoB;;;;;;;AC1ExB;IASE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;IAEpC,iCAAO;;;IAAP;;YACQ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC;QACjE,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;KAC3E;;gBAPF,UAAU;;;;gBALF,KAAK;;IAad,sBAAC;CARD,IAQC;;;;;;IANa,gCAAoB;;;;;;;ACTlC,SAYU,EAAE,cAAc,EAAE,6BAA6B,EAAE;;IANrD,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;IACtD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,sBAAsB;QACjC,WAAW,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACzC,IAAI,IAAmD;QACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KAClF;CACF;AAED;IAAA;KAK6C;;gBAL5C,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,SAAS,EAAE,CAAC,eAAe,CAAC;iBAC7B;;IAC2C,oCAAC;CAL7C;;;;;;ACjBA;IAUA;KAWsC;;gBAXrC,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,UAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC;wBAC9C,UAAU;wBACV,WAAW;wBACX,iBAAiB;wBACjB,iBAAiB;qBAClB;iBACF;;IACoC,6BAAC;CAXtC;;;;;;;;;;;;;;;;;ACRA,IAAa,wBAAwB,sBAAG;IACtC;QACE,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,sCAAsC;QAClD,MAAM;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,8BAA8B;gBACpC,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,6BAA6B;aAC9C;SACF;KACF;CACF,EAAmB;;;;;;;;;;;AChBpB,IAAiB,gBAAgB,CAyBhC;AAzBD,WAAiB,gBAAgB;;;;IAC/B,oBAGC;;;;QAFC,uBAAiB;;QACjB,6BAAmB;;;;;IAKrB,mBAGC;;;;QAFC,kBAAW;;QACX,oBAAa;;;;;IAGf,yBAEC;;;;QADC,0BAAa;;;;;IAGf,4BAEC;;;;QADC,2BAAW;;;;;IAGb,6CAGC;;;;QAFC,4CAAW;;QACX,iEAAgC;;CAEnC,EAzBgB,gBAAgB,KAAhB,gBAAgB,QAyBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.tenant-management.js","sources":["ng://@abp/ng.tenant-management/lib/root-tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/actions/tenant-management.actions.ts","ng://@abp/ng.tenant-management/lib/services/tenant-management.service.ts","ng://@abp/ng.tenant-management/lib/states/tenant-management.state.ts","ng://@abp/ng.tenant-management/lib/components/tenants/tenants.component.ts","ng://@abp/ng.tenant-management/lib/resolvers/tenants.resolver.ts","ng://@abp/ng.tenant-management/lib/tenant-management-routing.module.ts","ng://@abp/ng.tenant-management/lib/tenant-management.module.ts","ng://@abp/ng.tenant-management/lib/constants/routes.ts","ng://@abp/ng.tenant-management/lib/models/tenant-management.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({})\nexport class RootTenantManagementModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: RootTenantManagementModule,\n providers: [],\n };\n }\n}\n","import { TenantManagement } from '../models/tenant-management';\nimport { ABP } from '@abp/ng.core';\n\nexport class GetTenants {\n static readonly type = '[TenantManagement] Get Tenant';\n constructor(public payload?: ABP.PageQueryParams) {}\n}\n\nexport class GetTenantById {\n static readonly type = '[TenantManagement] Get Tenant By Id';\n constructor(public payload: string) {}\n}\n\nexport class CreateTenant {\n static readonly type = '[TenantManagement] Create Tenant';\n constructor(public payload: TenantManagement.AddRequest) {}\n}\n\nexport class UpdateTenant {\n static readonly type = '[TenantManagement] Update Tenant';\n constructor(public payload: TenantManagement.UpdateRequest) {}\n}\n\nexport class DeleteTenant {\n static readonly type = '[TenantManagement] Delete Tenant';\n constructor(public payload: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService, Rest, ABP } from '@abp/ng.core';\nimport { TenantManagement } from '../models/tenant-management';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantManagementService {\n constructor(private rest: RestService) {}\n\n getTenant(params = {} as ABP.PageQueryParams): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: '/api/multi-tenancy/tenants',\n params,\n };\n\n return this.rest.request(request);\n }\n\n getTenantById(id: string): Observable {\n const request: Rest.Request = {\n method: 'GET',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n deleteTenant(id: string): Observable {\n const request: Rest.Request = {\n method: 'DELETE',\n url: `/api/multi-tenancy/tenants/${id}`,\n };\n\n return this.rest.request(request);\n }\n\n createTenant(body: TenantManagement.AddRequest): Observable {\n const request: Rest.Request = {\n method: 'POST',\n url: `/api/multi-tenancy/tenants`,\n body,\n };\n\n return this.rest.request(request);\n }\n\n updateTenant(body: TenantManagement.UpdateRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${body.id}`;\n delete body.id;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n body,\n };\n\n return this.rest.request(request);\n }\n\n getDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'GET',\n responseType: Rest.ResponseType.Text,\n url,\n };\n return this.rest.request(request);\n }\n\n updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {\n const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'PUT',\n url,\n params: { defaultConnectionString: payload.defaultConnectionString },\n };\n return this.rest.request(request);\n }\n\n deleteDefaultConnectionString(id: string): Observable {\n const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`;\n\n const request: Rest.Request = {\n method: 'DELETE',\n url,\n };\n return this.rest.request(request);\n }\n}\n","import { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { switchMap, tap } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementService } from '../services/tenant-management.service';\nimport { ABP } from '@abp/ng.core';\n\n@State({\n name: 'TenantManagementState',\n defaults: { result: {}, selectedItem: {} } as TenantManagement.State,\n})\nexport class TenantManagementState {\n @Selector()\n static get({ result }: TenantManagement.State): ABP.BasicItem[] {\n return result.items || [];\n }\n\n @Selector()\n static getTenantsTotalCount({ result }: TenantManagement.State): number {\n return result.totalCount;\n }\n\n constructor(private tenantManagementService: TenantManagementService) {}\n\n @Action(GetTenants)\n get({ patchState }: StateContext, { payload }: GetTenants) {\n return this.tenantManagementService.getTenant(payload).pipe(\n tap(result =>\n patchState({\n result,\n }),\n ),\n );\n }\n\n @Action(GetTenantById)\n getById({ patchState }: StateContext, { payload }: GetTenantById) {\n return this.tenantManagementService.getTenantById(payload).pipe(\n tap(selectedItem =>\n patchState({\n selectedItem,\n }),\n ),\n );\n }\n\n @Action(DeleteTenant)\n delete({ dispatch }: StateContext, { payload }: DeleteTenant) {\n return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(CreateTenant)\n add({ dispatch }: StateContext, { payload }: CreateTenant) {\n return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants())));\n }\n\n @Action(UpdateTenant)\n update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) {\n return dispatch(new GetTenantById(payload.id)).pipe(\n switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })),\n switchMap(() => dispatch(new GetTenants())),\n );\n }\n}\n","import { ABP } from '@abp/ng.core';\nimport { ConfirmationService, Toaster } from '@abp/ng.theme.shared';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, pluck, switchMap, take } from 'rxjs/operators';\nimport {\n CreateTenant,\n DeleteTenant,\n GetTenants,\n GetTenantById,\n UpdateTenant,\n} from '../../actions/tenant-management.actions';\nimport { TenantManagementService } from '../../services/tenant-management.service';\nimport { TenantManagementState } from '../../states/tenant-management.state';\n\ntype SelectedModalContent = {\n type: string;\n title: string;\n template: TemplateRef;\n};\n\n@Component({\n selector: 'abp-tenants',\n templateUrl: './tenants.component.html',\n})\nexport class TenantsComponent {\n @Select(TenantManagementState.get)\n data$: Observable;\n\n @Select(TenantManagementState.getTenantsTotalCount)\n totalCount$: Observable;\n\n selected: ABP.BasicItem;\n\n tenantForm: FormGroup;\n\n defaultConnectionStringForm: FormGroup;\n\n defaultConnectionString: string;\n\n isModalVisible: boolean;\n\n selectedModalContent = {} as SelectedModalContent;\n\n visibleFeatures: boolean = false;\n\n providerKey: string;\n\n _useSharedDatabase: boolean;\n\n pageQuery: ABP.PageQueryParams = {\n sorting: 'name',\n };\n\n loading: boolean = false;\n\n modalBusy: boolean = false;\n\n get useSharedDatabase(): boolean {\n return this.defaultConnectionStringForm.get('useSharedDatabase').value;\n }\n\n get connectionString(): string {\n return this.defaultConnectionStringForm.get('defaultConnectionString').value;\n }\n\n @ViewChild('tenantModalTemplate', { static: false })\n tenantModalTemplate: TemplateRef;\n\n @ViewChild('connectionStringModalTemplate', { static: false })\n connectionStringModalTemplate: TemplateRef;\n\n constructor(\n private confirmationService: ConfirmationService,\n private tenantService: TenantManagementService,\n private fb: FormBuilder,\n private store: Store,\n ) {}\n\n onSearch(value) {\n this.pageQuery.filter = value;\n this.get();\n }\n\n private createTenantForm() {\n this.tenantForm = this.fb.group({\n name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],\n });\n }\n\n private createDefaultConnectionStringForm() {\n this.defaultConnectionStringForm = this.fb.group({\n useSharedDatabase: this._useSharedDatabase,\n defaultConnectionString: [this.defaultConnectionString || ''],\n });\n }\n\n openModal(title: string, template: TemplateRef, type: string) {\n this.selectedModalContent = {\n title,\n template,\n type,\n };\n\n this.isModalVisible = true;\n }\n\n onEditConnectionString(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(\n pluck('TenantManagementState', 'selectedItem'),\n switchMap(selected => {\n this.selected = selected;\n return this.tenantService.getDefaultConnectionString(id);\n }),\n )\n .subscribe(fetchedConnectionString => {\n this._useSharedDatabase = fetchedConnectionString ? false : true;\n this.defaultConnectionString = fetchedConnectionString ? fetchedConnectionString : '';\n this.createDefaultConnectionStringForm();\n this.openModal('AbpTenantManagement::ConnectionStrings', this.connectionStringModalTemplate, 'saveConnStr');\n });\n }\n\n onAddTenant() {\n this.selected = {} as ABP.BasicItem;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant');\n }\n\n onEditTenant(id: string) {\n this.store\n .dispatch(new GetTenantById(id))\n .pipe(pluck('TenantManagementState', 'selectedItem'))\n .subscribe(selected => {\n this.selected = selected;\n this.createTenantForm();\n this.openModal('AbpTenantManagement::Edit', this.tenantModalTemplate, 'saveTenant');\n });\n }\n\n save() {\n const { type } = this.selectedModalContent;\n if (!type) return;\n if (type === 'saveTenant') this.saveTenant();\n else if (type === 'saveConnStr') this.saveConnectionString();\n }\n\n saveConnectionString() {\n this.modalBusy = true;\n if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) {\n this.tenantService\n .deleteDefaultConnectionString(this.selected.id)\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n } else {\n this.tenantService\n .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString })\n .pipe(\n take(1),\n finalize(() => (this.modalBusy = false)),\n )\n .subscribe(() => {\n this.isModalVisible = false;\n });\n }\n }\n\n saveTenant() {\n if (!this.tenantForm.valid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n this.selected.id\n ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id })\n : new CreateTenant(this.tenantForm.value),\n )\n .subscribe(() => {\n this.modalBusy = false;\n this.isModalVisible = false;\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Toaster.Status) => {\n if (status === Toaster.Status.confirm) {\n this.store.dispatch(new DeleteTenant(id));\n this.modalBusy = false;\n }\n });\n }\n\n onPageChange(data) {\n this.pageQuery.skipCount = data.first;\n this.pageQuery.maxResultCount = data.rows;\n\n this.get();\n }\n\n get() {\n this.loading = true;\n this.store\n .dispatch(new GetTenants(this.pageQuery))\n .pipe(finalize(() => (this.loading = false)))\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { GetTenants } from '../actions/tenant-management.actions';\nimport { TenantManagement } from '../models/tenant-management';\nimport { TenantManagementState } from '../states/tenant-management.state';\n\n@Injectable()\nexport class TenantsResolver implements Resolve {\n constructor(private store: Store) {}\n\n resolve() {\n const data = this.store.selectSnapshot(TenantManagementState.get);\n return data && data.length ? null : this.store.dispatch(new GetTenants());\n }\n}\n","import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantsResolver } from './resolvers/tenants.resolver';\nimport { TenantsComponent } from './components/tenants/tenants.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\n {\n path: 'tenants',\n component: DynamicLayoutComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: { requiredPolicy: 'AbpTenantManagement.Tenants' },\n children: [{ path: '', component: TenantsComponent, resolve: [TenantsResolver] }],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [TenantsResolver],\n})\nexport class TenantManagementRoutingModule {}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxsModule } from '@ngxs/store';\nimport { TableModule } from 'primeng/table';\nimport { TenantsComponent } from './components/tenants/tenants.component';\nimport { TenantManagementState } from './states/tenant-management.state';\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\nimport { FeatureManagementModule } from '@abp/ng.feature-management';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\n@NgModule({\n declarations: [TenantsComponent],\n imports: [\n TenantManagementRoutingModule,\n NgxsModule.forFeature([TenantManagementState]),\n NgxValidateCoreModule,\n CoreModule,\n TableModule,\n ThemeSharedModule,\n NgbDropdownModule,\n FeatureManagementModule,\n ],\n})\nexport class TenantManagementModule {}\n","import { ABP, eLayoutType } from '@abp/ng.core';\n\nexport const TENANT_MANAGEMENT_ROUTES = {\n routes: [\n {\n name: 'AbpTenantManagement::Menu:TenantManagement',\n path: 'tenant-management',\n parentName: 'AbpUiNavigation::Menu:Administration',\n layout: eLayoutType.application,\n iconClass: 'fa fa-users',\n children: [\n {\n path: 'tenants',\n name: 'AbpTenantManagement::Tenants',\n order: 1,\n requiredPolicy: 'AbpTenantManagement.Tenants',\n },\n ],\n },\n ] as ABP.FullRoute[],\n settings: [],\n};\n","import { ABP } from '@abp/ng.core';\n\nexport namespace TenantManagement {\n export interface State {\n result: Response;\n selectedItem: Item;\n }\n\n export type Response = ABP.PagedResponse;\n\n export interface Item {\n id: string;\n name: string;\n }\n\n export interface AddRequest {\n name: string;\n }\n\n export interface UpdateRequest extends AddRequest {\n id: string;\n }\n\n export interface DefaultConnectionStringRequest {\n id: string;\n defaultConnectionString: string;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAEA;KAQC;;;;IANQ,kCAAO;;;IAAd;QACE,OAAO;YACL,QAAQ,EAAE,0BAA0B;YACpC,SAAS,EAAE,EAAE;SACd,CAAC;KACH;;gBAPF,QAAQ,SAAC,EAAE;;IAQZ,iCAAC;CARD;;;;;;ACCA;IAEE,oBAAmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;KAAI;IADpC,eAAI,GAAG,+BAA+B,CAAC;IAEzD,iBAAC;CAHD,IAGC;;;IAFC,gBAAuD;;IAC3C,6BAAoC;;AAGlD;IAEE,uBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,kBAAI,GAAG,qCAAqC,CAAC;IAE/D,oBAAC;CAHD,IAGC;;;IAFC,mBAA6D;;IACjD,gCAAsB;;AAGpC;IAEE,sBAAmB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;KAAI;IAD3C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAA2C;;AAGzD;IAEE,sBAAmB,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;KAAI;IAD9C,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAA8C;;AAG5D;IAEE,sBAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;KAAI;IADtB,iBAAI,GAAG,kCAAkC,CAAC;IAE5D,mBAAC;CAHD,IAGC;;;IAFC,kBAA0D;;IAC9C,+BAAsB;;;;;;;ACzBpC;IASE,iCAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;KAAI;;;;;IAEzC,2CAAS;;;;IAAT,UAAU,MAAkC;QAAlC,uBAAA,EAAA,4BAAS,EAAE,EAAuB;;YACpC,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,4BAA4B;YACjC,MAAM,QAAA;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkC,OAAO,CAAC,CAAC;KACpE;;;;;IAED,+CAAa;;;;IAAb,UAAc,EAAU;;YAChB,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsB,OAAO,CAAC,CAAC;KACxD;;;;;IAED,8CAAY;;;;IAAZ,UAAa,EAAU;;YACf,OAAO,GAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,gCAA8B,EAAI;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAa,OAAO,CAAC,CAAC;KAC/C;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAiC;;YACtC,OAAO,GAA8C;YACzD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,4BAA4B;YACjC,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,8CAAY;;;;IAAZ,UAAa,IAAoC;;YACzC,GAAG,GAAG,gCAA8B,IAAI,CAAC,EAAI;QACnD,OAAO,IAAI,CAAC,EAAE,CAAC;;YAET,OAAO,GAAiD;YAC5D,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,IAAI,MAAA;SACL;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C,OAAO,CAAC,CAAC;KAC/E;;;;;IAED,4DAA0B;;;;IAA1B,UAA2B,EAAU;;YAC7B,GAAG,GAAG,gCAA8B,EAAE,+BAA4B;;YAElE,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0D,OAAO,CAAC,CAAC;KAC5F;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,OAAwD;;YAC9E,GAAG,GAAG,gCAA8B,OAAO,CAAC,EAAE,+BAA4B;;YAE1E,OAAO,GAAkE;YAC7E,MAAM,EAAE,KAAK;YACb,GAAG,KAAA;YACH,MAAM,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE;SACrE;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;;;;IAED,+DAA6B;;;;IAA7B,UAA8B,EAAU;;YAChC,GAAG,GAAG,gCAA8B,EAAE,+BAA4B;;YAElE,OAAO,GAAkE;YAC7E,MAAM,EAAE,QAAQ;YAChB,GAAG,KAAA;SACJ;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuD,OAAO,CAAC,CAAC;KACzF;;gBAvFF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALQ,WAAW;;;kCAFpB;CAKA,IAwFC;;;;;;IApFa,uCAAyB;;;;;;;;ICmBrC,+BAAoB,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;KAAI;;;;;IATjE,yBAAG;;;;IAAV,UAAW,EAAkC;YAAhC,kBAAM;QACjB,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;KAC3B;;;;;IAGM,0CAAoB;;;;IAA3B,UAA4B,EAAkC;YAAhC,kBAAM;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC;KAC1B;;;;;;IAKD,mCAAG;;;;;IAAH,UAAI,EAAoD,EAAE,EAAuB;YAA3E,0BAAU;YAA4C,oBAAO;QACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CACzD,GAAG;;;;QAAC,UAAA,MAAM;YACR,OAAA,UAAU,CAAC;gBACT,MAAM,QAAA;aACP,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,uCAAO;;;;;IAAP,UAAQ,EAAoD,EAAE,EAA0B;YAA9E,0BAAU;YAA4C,oBAAO;QACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7D,GAAG;;;;QAAC,UAAA,YAAY;YACd,OAAA,UAAU,CAAC;gBACT,YAAY,cAAA;aACb,CAAC;SAAA,EACH,CACF,CAAC;KACH;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,mCAAG;;;;;IAAH,UAAI,EAAkD,EAAE,EAAyB;YAA3E,sBAAQ;YAA4C,oBAAO;QAC/D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAAC,CAAC;KAC7G;;;;;;IAGD,sCAAM;;;;;IAAN,UAAO,EAA4D,EAAE,EAAyB;QAD9F,iBAMC;YALQ,sBAAQ,EAAE,sBAAQ;YAA4C,oBAAO;QAC5E,OAAO,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACjD,SAAS;;;QAAC,cAAM,OAAA,KAAI,CAAC,uBAAuB,CAAC,YAAY,cAAM,QAAQ,EAAE,CAAC,YAAY,EAAK,OAAO,EAAG,GAAA,EAAC,EACtG,SAAS;;;QAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,GAAA,EAAC,CAC5C,CAAC;KACH;IArCDA;QADC,MAAM,CAAC,UAAU,CAAC;;iDACoD,UAAU;;oDAQhF;IAGDA;QADC,MAAM,CAAC,aAAa,CAAC;;iDACqD,aAAa;;wDAQvF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACmD,YAAY;;uDAEnF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDACgD,YAAY;;oDAEhF;IAGDA;QADC,MAAM,CAAC,YAAY,CAAC;;iDAC6D,YAAY;;uDAK7F;IAjDDA;QADC,QAAQ,EAAE;;;;0CAGV;IAGDA;QADC,QAAQ,EAAE;;;;2DAGV;IATU,qBAAqB;QAJjC,KAAK,CAAyB;YAC7B,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,qBAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAA0B;SACrE,CAAC;yCAY6C,uBAAuB;OAXzD,qBAAqB,CAoDjC;IAAD,4BAAC;CAAA,IAAA;;;;;;IAzCa,wDAAwD;;;;;;;;IC8CpE,0BACU,mBAAwC,EACxC,aAAsC,EACtC,EAAe,EACf,KAAY;QAHZ,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAyB;QACtC,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAO;QAlCtB,yBAAoB,sBAAG,EAAE,EAAwB,CAAC;QAElD,oBAAe,GAAY,KAAK,CAAC;QAMjC,cAAS,GAAwB;YAC/B,OAAO,EAAE,MAAM;SAChB,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;QAEzB,cAAS,GAAY,KAAK,CAAC;KAqBvB;IAnBJ,sBAAI,+CAAiB;;;;QAArB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;SACxE;;;OAAA;IAED,sBAAI,8CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;SAC9E;;;OAAA;;;;;IAeD,mCAAQ;;;;IAAR,UAAS,KAAK;QACZ,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;;IAEO,2CAAgB;;;;IAAxB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC;KACJ;;;;;IAEO,4DAAiC;;;;IAAzC;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC;SAC9D,CAAC,CAAC;KACJ;;;;;;;IAED,oCAAS;;;;;;IAAT,UAAU,KAAa,EAAE,QAA0B,EAAE,IAAY;QAC/D,IAAI,CAAC,oBAAoB,GAAG;YAC1B,KAAK,OAAA;YACL,QAAQ,UAAA;YACR,IAAI,MAAA;SACL,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;;;;;IAED,iDAAsB;;;;IAAtB,UAAuB,EAAU;QAAjC,iBAgBC;QAfC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CACH,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,EAC9C,SAAS;;;;QAAC,UAAA,QAAQ;YAChB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,KAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;SAC1D,EAAC,CACH;aACA,SAAS;;;;QAAC,UAAA,uBAAuB;YAChC,KAAI,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,KAAK,GAAG,IAAI,CAAC;YACjE,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,EAAE,CAAC;YACtF,KAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,KAAI,CAAC,SAAS,CAAC,wCAAwC,EAAE,KAAI,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;SAC7G,EAAC,CAAC;KACN;;;;IAED,sCAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,sBAAG,EAAE,EAAiB,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAC1F;;;;;IAED,uCAAY;;;;IAAZ,UAAa,EAAU;QAAvB,iBASC;QARC,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;aACpD,SAAS;;;;QAAC,UAAA,QAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;SACrF,EAAC,CAAC;KACN;;;;IAED,+BAAI;;;IAAJ;QACU,IAAA,qCAAI;QACZ,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,aAAa;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC9D;;;;IAED,+CAAoB;;;IAApB;QAAA,iBAuBC;QAtBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACjF,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC/C,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ;;;YAAC,cAAM,QAAC,KAAI,CAAC,SAAS,GAAG,KAAK,IAAC,EAAC,CACzC;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,aAAa;iBACf,6BAA6B,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACvG,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ;;;YAAC,cAAM,QAAC,KAAI,CAAC,SAAS,GAAG,KAAK,IAAC,EAAC,CACzC;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;KACF;;;;IAED,qCAAU;;;IAAV;QAAA,iBAcC;QAbC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE,OAAO;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,KAAK;aACP,QAAQ,CACP,IAAI,CAAC,QAAQ,CAAC,EAAE;cACZ,IAAI,YAAY,cAAM,IAAI,CAAC,UAAU,CAAC,KAAK,IAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAG;cACpE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C;aACA,SAAS;;;QAAC;YACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B,EAAC,CAAC;KACN;;;;;;IAED,iCAAM;;;;;IAAN,UAAO,EAAU,EAAE,IAAY;QAA/B,iBAWC;QAVC,IAAI,CAAC,mBAAmB;aACrB,IAAI,CAAC,wDAAwD,EAAE,iCAAiC,EAAE;YACjG,yBAAyB,EAAE,CAAC,IAAI,CAAC;SAClC,CAAC;aACD,SAAS;;;;QAAC,UAAC,MAAsB;YAChC,IAAI,MAAM,8BAA6B;gBACrC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;SACF,EAAC,CAAC;KACN;;;;;IAED,uCAAY;;;;IAAZ,UAAa,IAAI;QACf,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;;;;IAED,8BAAG;;;IAAH;QAAA,iBAMC;QALC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK;aACP,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxC,IAAI,CAAC,QAAQ;;;QAAC,cAAM,QAAC,KAAI,CAAC,OAAO,GAAG,KAAK,IAAC,EAAC,CAAC;aAC5C,SAAS,EAAE,CAAC;KAChB;;gBAnMF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,22LAAuC;iBACxC;;;;gBAzBQ,mBAAmB;gBAanB,uBAAuB;gBAXvB,WAAW;gBACH,KAAK;;;sCAgEnB,SAAS,SAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gDAGlD,SAAS,SAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;IA1C7DA;QADC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC;kCAC3B,UAAU;mDAAkB;IAGnCA;QADC,MAAM,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;kCACtC,UAAU;yDAAS;IA2LlC,uBAAC;CApMD,IAoMC;;;IA/LC,iCACmC;;IAEnC,uCACgC;;IAEhC,oCAAwB;;IAExB,sCAAsB;;IAEtB,uDAAuC;;IAEvC,mDAAgC;;IAEhC,0CAAwB;;IAExB,gDAAkD;;IAElD,2CAAiC;;IAEjC,uCAAoB;;IAEpB,8CAA4B;;IAE5B,qCAEE;;IAEF,mCAAyB;;IAEzB,qCAA2B;;IAU3B,+CACsC;;IAEtC,yDACgD;;;;;IAG9C,+CAAgD;;;;;IAChD,yCAA8C;;;;;IAC9C,8BAAuB;;;;;IACvB,iCAAoB;;;;;;;AC9ExB;IASE,yBAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;KAAI;;;;IAEpC,iCAAO;;;IAAP;;YACQ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC;QACjE,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;KAC3E;;gBAPF,UAAU;;;;gBALF,KAAK;;IAad,sBAAC;CARD,IAQC;;;;;;IANa,gCAAoB;;;;;;;ACTlC,SAYU,EAAE,cAAc,EAAE,6BAA6B,EAAE;;IANrD,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;IACtD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,sBAAsB;QACjC,WAAW,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACzC,IAAI,IAAmD;QACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KAClF;CACF;AAED;IAAA;KAK6C;;gBAL5C,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,SAAS,EAAE,CAAC,eAAe,CAAC;iBAC7B;;IAC2C,oCAAC;CAL7C;;;;;;ACjBA;IAYA;KAasC;;gBAbrC,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,UAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC;wBAC9C,qBAAqB;wBACrB,UAAU;wBACV,WAAW;wBACX,iBAAiB;wBACjB,iBAAiB;wBACjB,uBAAuB;qBACxB;iBACF;;IACoC,6BAAC;CAbtC;;;;;;;;;;;;;;;;;ACVA,IAAa,wBAAwB,GAAG;IACtC,MAAM,qBAAE;QACN;YACE,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,sCAAsC;YAClD,MAAM;YACN,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,8BAA8B;oBACpC,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,6BAA6B;iBAC9C;aACF;SACF;KACF,EAAmB;IACpB,QAAQ,EAAE,EAAE;CACb;;;;;;;;;;;ACnBD,IAAiB,gBAAgB,CAyBhC;AAzBD,WAAiB,gBAAgB;;;;IAC/B,oBAGC;;;;QAFC,uBAAiB;;QACjB,6BAAmB;;;;;IAKrB,mBAGC;;;;QAFC,kBAAW;;QACX,oBAAa;;;;;IAGf,yBAEC;;;;QADC,0BAAa;;;;;IAGf,4BAEC;;;;QADC,2BAAW;;;;;IAGb,6CAGC;;;;QAFC,4CAAW;;QACX,iEAAgC;;CAEnC,EAzBgB,gBAAgB,KAAhB,gBAAgB,QAyBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts index d27ecbf2b3..498828f978 100644 --- a/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/components/tenants/tenants.component.d.ts @@ -23,6 +23,8 @@ export declare class TenantsComponent { defaultConnectionString: string; isModalVisible: boolean; selectedModalContent: SelectedModalContent; + visibleFeatures: boolean; + providerKey: string; _useSharedDatabase: boolean; pageQuery: ABP.PageQueryParams; loading: boolean; diff --git a/npm/ng-packs/dist/tenant-management/lib/constants/routes.d.ts b/npm/ng-packs/dist/tenant-management/lib/constants/routes.d.ts index d3f92f257d..00066258ca 100644 --- a/npm/ng-packs/dist/tenant-management/lib/constants/routes.d.ts +++ b/npm/ng-packs/dist/tenant-management/lib/constants/routes.d.ts @@ -1,2 +1,5 @@ import { ABP } from '@abp/ng.core'; -export declare const TENANT_MANAGEMENT_ROUTES: ABP.FullRoute[]; +export declare const TENANT_MANAGEMENT_ROUTES: { + routes: ABP.FullRoute[]; + settings: any[]; +}; diff --git a/npm/ng-packs/dist/tenant-management/lib/root-tenant-management.module.d.ts b/npm/ng-packs/dist/tenant-management/lib/root-tenant-management.module.d.ts new file mode 100644 index 0000000000..8f90a784a8 --- /dev/null +++ b/npm/ng-packs/dist/tenant-management/lib/root-tenant-management.module.d.ts @@ -0,0 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; +export declare class RootTenantManagementModule { + static forRoot(): ModuleWithProviders; +} diff --git a/npm/ng-packs/dist/tenant-management/package.json b/npm/ng-packs/dist/tenant-management/package.json index 3f3a0fec58..69fc8fcc7e 100644 --- a/npm/ng-packs/dist/tenant-management/package.json +++ b/npm/ng-packs/dist/tenant-management/package.json @@ -3,6 +3,7 @@ "version": "0.8.3", "dependencies": { "@abp/ng.theme.shared": "^0.8.3", + "@abp/ng.feature-management": "^0.8.3", "tslib": "^1.9.0" }, "publishConfig": { diff --git a/npm/ng-packs/dist/tenant-management/public-api.d.ts b/npm/ng-packs/dist/tenant-management/public-api.d.ts index 9bae9a9edb..6b2ae2d388 100644 --- a/npm/ng-packs/dist/tenant-management/public-api.d.ts +++ b/npm/ng-packs/dist/tenant-management/public-api.d.ts @@ -1,3 +1,4 @@ +export * from './lib/root-tenant-management.module'; export * from './lib/tenant-management.module'; export * from './lib/actions'; export * from './lib/components'; diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts index 6ce43f94aa..ba277e59d0 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.d.ts @@ -2,13 +2,11 @@ * Generated bundle index. Do not edit. */ export * from './public-api'; -export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AddNavigationElement as ɵg, RemoveNavigationElementByName as ɵh } from './lib/actions/layout.actions'; export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; -export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; -export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; -export { Layout as ɵk } from './lib/models/layout'; +export { Layout as ɵi } from './lib/models/layout'; export { LayoutState as ɵb } from './lib/states'; -export { LayoutState as ɵh } from './lib/states/layout.state'; +export { LayoutState as ɵf } from './lib/states/layout.state'; diff --git a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json index af5ab537d4..d6b2402cd2 100644 --- a/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json +++ b/npm/ng-packs/dist/theme-basic/abp-ng.theme.basic.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":20,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":21,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":22,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":23,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":24,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":25,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":26,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵh"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n
    \n\n
      \n \n
    \n\n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n \n\n \n \n \n \n \n\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":12,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":48,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":48,"character":54},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ToasterService","line":48,"character":85}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":36,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵj"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵk"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/components/change-password/change-password.component","ɵg":"./lib/components/profile/profile.component","ɵh":"./lib/states/layout.state","ɵi":"./lib/actions/layout.actions","ɵj":"./lib/actions/layout.actions","ɵk":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/layout.state"},{"from":"./lib/application-layout/application-layout.component"},{"from":"./lib/empty-layout/empty-layout.component"}],"metadata":{"LAYOUTS":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"ThemeBasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":18,"character":4},{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"ThemeSharedModule","line":19,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbCollapseModule","line":20,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdownModule","line":21,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":22,"character":4},{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":23,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":24,"character":4},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵf"}]]}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}],"entryComponents":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"LAYOUTS"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"abp-layout-application","template":"\n \n\n
      \n \n
    \n
    \n\n\n
  • \n \n {{ defaultLanguage$ | async }}\n \n
    \n {{ lang?.displayName }}\n
    \n
  • \n
    \n\n\n
  • \n \n {{ (currentUser$ | async)?.userName }}\n \n \n
  • \n\n \n\n \n
    \n"}]}],"members":{"routes$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":40,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":40,"character":10},"member":"getOne"},"arguments":["routes"]}]}]}],"currentUser$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":43,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":43,"character":10},"member":"getOne"},"arguments":["currentUser"]}]}]}],"languages$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":46,"character":3},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ConfigState","line":46,"character":10},"member":"getDeep"},"arguments":["localization.languages"]}]}]}],"navElements$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":49,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"getNavigationElements"}]}]}],"currentUserRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["currentUser",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":52,"character":51}}]}]}],"languageRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["language",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":48}}]}]}],"navbarRootDropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["navbarRootDropdown",{"read":{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbDropdown","line":58,"character":46}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":96,"character":29},{"__symbolic":"reference","module":"angular-oauth2-oidc","name":"OAuthService","line":96,"character":58}]}],"checkWindowWidth":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onChangeLang":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":38,"character":16},"member":"application"}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-account","template":"\n"}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":9,"character":16},"member":"account"}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-layout-empty","template":"\n Layout-empty\n \n "}]}],"members":{},"statics":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"eLayoutType","line":11,"character":16},"member":"empty"}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":" abp-layout","animations":[{"__symbolic":"reference","module":"@abp/ng.theme.shared","name":"slideFromBottom","line":8,"character":15}],"template":"\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":17,"character":29}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":"LayoutState","defaults":{"navigationElements":[]}}]}],"members":{"layoutAddAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}],"layoutRemoveAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}]},"statics":{"getNavigationElements":{"__symbolic":"function","parameters":["navigationElements"],"value":{"__symbolic":"reference","name":"navigationElements"}}}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵi"},"member":"NavigationElement"}]}]},"statics":{"type":"[Layout] Add Navigation Element"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"type":"[Layout] Remove Navigation ElementByName"}}},"origins":{"LAYOUTS":"./lib/theme-basic.module","ThemeBasicModule":"./lib/theme-basic.module","ɵa":"./lib/components/application-layout/application-layout.component","ɵb":"./lib/states","ɵc":"./lib/components/account-layout/account-layout.component","ɵd":"./lib/components/empty-layout/empty-layout.component","ɵe":"./lib/components/layout/layout.component","ɵf":"./lib/states/layout.state","ɵg":"./lib/actions/layout.actions","ɵh":"./lib/actions/layout.actions","ɵi":"./lib/models/layout"},"importAs":"@abp/ng.theme.basic"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js index 900eb9f08f..ebfb6926d8 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js @@ -1,11 +1,11 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@abp/ng.theme.shared'), require('@angular/forms'), require('@ngx-validate/core'), require('@ngxs/store'), require('snq'), require('rxjs/operators'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('primeng/toast')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@abp/ng.theme.shared', '@angular/forms', '@ngx-validate/core', '@ngxs/store', 'snq', 'rxjs/operators', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'primeng/toast'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.ng_theme_shared, global.ng.forms, global.core$1, global.store, global.snq, global.rxjs.operators, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.toast)); -}(this, function (exports, ng_core, core, ngBootstrap, ng_theme_shared, forms, core$1, store, snq, operators, routerPlugin, angularOauth2Oidc, compare, rxjs, toast) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@abp/ng.theme.shared'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core'), require('@ngxs/store'), require('primeng/toast'), require('@ngxs/router-plugin'), require('angular-oauth2-oidc'), require('just-compare'), require('rxjs'), require('rxjs/operators'), require('snq')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.basic', ['exports', '@abp/ng.core', '@abp/ng.theme.shared', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core', '@ngxs/store', 'primeng/toast', '@ngxs/router-plugin', 'angular-oauth2-oidc', 'just-compare', 'rxjs', 'rxjs/operators', 'snq'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.basic = {}), global.ng_core, global.ng_theme_shared, global.ng.core, global.ngBootstrap, global.core$1, global.store, global.toast, global.routerPlugin, global.angularOauth2Oidc, global.compare, global.rxjs, global.rxjs.operators, global.snq)); +}(this, function (exports, ng_core, ng_theme_shared, core, ngBootstrap, core$1, store, toast, routerPlugin, angularOauth2Oidc, compare, rxjs, operators, snq) { 'use strict'; - snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; compare = compare && compare.hasOwnProperty('default') ? compare['default'] : compare; + snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -204,188 +204,19 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var minLength = forms.Validators.minLength, required = forms.Validators.required; - var ChangePasswordComponent = /** @class */ (function () { - function ChangePasswordComponent(fb, store, toasterService) { - this.fb = fb; - this.store = store; - this.toasterService = toasterService; - this.visibleChange = new core.EventEmitter(); - this.modalBusy = false; - } - Object.defineProperty(ChangePasswordComponent.prototype, "visible", { - get: /** - * @return {?} - */ - function () { - return this._visible; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._visible = value; - this.visibleChange.emit(value); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ChangePasswordComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.form = this.fb.group({ - password: ['', required], - newPassword: ['', required], - repeatNewPassword: ['', required], - }, { - validators: [core$1.comparePasswords(['newPassword', 'repeatNewPassword'])], - }); - }; - /** - * @return {?} - */ - ChangePasswordComponent.prototype.onSubmit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.form.invalid) - return; - this.modalBusy = true; - this.store - .dispatch(new ng_core.ChangePassword({ - currentPassword: this.form.get('password').value, - newPassword: this.form.get('newPassword').value, - })) - .pipe(operators.finalize((/** - * @return {?} - */ - function () { - _this.modalBusy = false; - }))) - .subscribe({ - next: (/** - * @return {?} - */ - function () { - _this.visible = false; - _this.form.reset(); - }), - error: (/** - * @param {?} err - * @return {?} - */ - function (err) { - _this.toasterService.error(snq((/** - * @return {?} - */ - function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { - life: 7000, - }); - }), - }); - }; - /** - * @return {?} - */ - ChangePasswordComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.visible = true; - }; - /** - * @param {?} __0 - * @return {?} - */ - ChangePasswordComponent.prototype.ngOnChanges = /** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var visible = _a.visible; - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - }; - ChangePasswordComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } - ]; - /** @nocollapse */ - ChangePasswordComponent.ctorParameters = function () { return [ - { type: forms.FormBuilder }, - { type: store.Store }, - { type: ng_theme_shared.ToasterService } - ]; }; - ChangePasswordComponent.propDecorators = { - visible: [{ type: core.Input }], - visibleChange: [{ type: core.Output }], - modalContent: [{ type: core.ViewChild, args: ['modalContent', { static: false },] }] - }; - return ChangePasswordComponent; - }()); - if (false) { - /** - * @type {?} - * @protected - */ - ChangePasswordComponent.prototype._visible; - /** @type {?} */ - ChangePasswordComponent.prototype.visibleChange; - /** @type {?} */ - ChangePasswordComponent.prototype.modalContent; - /** @type {?} */ - ChangePasswordComponent.prototype.form; - /** @type {?} */ - ChangePasswordComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.store; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.toasterService; - } - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var AccountLayoutComponent = /** @class */ (function () { function AccountLayoutComponent() { - this.isCollapsed = false; } // required for dynamic component AccountLayoutComponent.type = "account" /* account */; AccountLayoutComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n" }] } ]; return AccountLayoutComponent; @@ -393,8 +224,6 @@ if (false) { /** @type {?} */ AccountLayoutComponent.type; - /** @type {?} */ - AccountLayoutComponent.prototype.isCollapsed; } /** @@ -762,7 +591,6 @@ */ function (cultureName) { this.store.dispatch(new ng_core.SetLanguage(cultureName)); - this.store.dispatch(new ng_core.GetAppConfiguration()); }; /** * @return {?} @@ -880,7 +708,6 @@ var EmptyLayoutComponent = /** @class */ (function () { function EmptyLayoutComponent() { } - // required for dynamic component EmptyLayoutComponent.type = "empty" /* empty */; EmptyLayoutComponent.decorators = [ { type: core.Component, args: [{ @@ -937,158 +764,6 @@ LayoutComponent.prototype.store; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var maxLength = forms.Validators.maxLength, required$1 = forms.Validators.required, email = forms.Validators.email; - var ProfileComponent = /** @class */ (function () { - function ProfileComponent(fb, store) { - this.fb = fb; - this.store = store; - this.visibleChange = new core.EventEmitter(); - this.modalBusy = false; - } - Object.defineProperty(ProfileComponent.prototype, "visible", { - get: /** - * @return {?} - */ - function () { - return this._visible; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._visible = value; - this.visibleChange.emit(value); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ProfileComponent.prototype.buildForm = /** - * @return {?} - */ - function () { - var _this = this; - this.store - .dispatch(new ng_core.GetProfile()) - .pipe(operators.withLatestFrom(this.profile$), operators.take(1)) - .subscribe((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = __read(_a, 2), profile = _b[1]; - _this.form = _this.fb.group({ - userName: [profile.userName, [required$1, maxLength(256)]], - email: [profile.email, [required$1, email, maxLength(256)]], - name: [profile.name || '', [maxLength(64)]], - surname: [profile.surname || '', [maxLength(64)]], - phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], - }); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.onSubmit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.form.invalid) - return; - this.modalBusy = true; - this.store.dispatch(new ng_core.UpdateProfile(this.form.value)).subscribe((/** - * @return {?} - */ - function () { - _this.modalBusy = false; - _this.visible = false; - _this.form.reset(); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.buildForm(); - this.visible = true; - }; - /** - * @param {?} __0 - * @return {?} - */ - ProfileComponent.prototype.ngOnChanges = /** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var visible = _a.visible; - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - }; - ProfileComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } - ]; - /** @nocollapse */ - ProfileComponent.ctorParameters = function () { return [ - { type: forms.FormBuilder }, - { type: store.Store } - ]; }; - ProfileComponent.propDecorators = { - visible: [{ type: core.Input }], - visibleChange: [{ type: core.Output }] - }; - __decorate([ - store.Select(ng_core.ProfileState.getProfile), - __metadata("design:type", rxjs.Observable) - ], ProfileComponent.prototype, "profile$", void 0); - return ProfileComponent; - }()); - if (false) { - /** - * @type {?} - * @protected - */ - ProfileComponent.prototype._visible; - /** @type {?} */ - ProfileComponent.prototype.visibleChange; - /** @type {?} */ - ProfileComponent.prototype.profile$; - /** @type {?} */ - ProfileComponent.prototype.form; - /** @type {?} */ - ProfileComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.store; - } - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1100,7 +775,7 @@ } ThemeBasicModule.decorators = [ { type: core.NgModule, args: [{ - declarations: __spread(LAYOUTS, [LayoutComponent, ChangePasswordComponent, ProfileComponent]), + declarations: __spread(LAYOUTS, [LayoutComponent]), imports: [ ng_core.CoreModule, ng_theme_shared.ThemeSharedModule, @@ -1165,11 +840,9 @@ exports.ɵc = AccountLayoutComponent; exports.ɵd = EmptyLayoutComponent; exports.ɵe = LayoutComponent; - exports.ɵf = ChangePasswordComponent; - exports.ɵg = ProfileComponent; - exports.ɵh = LayoutState; - exports.ɵi = AddNavigationElement; - exports.ɵj = RemoveNavigationElementByName; + exports.ɵf = LayoutState; + exports.ɵg = AddNavigationElement; + exports.ɵh = RemoveNavigationElementByName; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map index eb6492c77c..95866c6981 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["EventEmitter","comparePasswords","ChangePassword","finalize","Component","FormBuilder","Store","ToasterService","Input","Output","ViewChild","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","GetAppConfiguration","Navigate","RouterState","OAuthService","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","required","GetProfile","withLatestFrom","take","UpdateProfile","ProfileState","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":";;;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ICnMD,IAmBQ,sCAAS,EAAE,oCAAQ;AAE3B;QA2BE,iCAAoB,EAAe,EAAU,KAAY,EAAU,cAA8B;YAA7E,OAAE,GAAF,EAAE,CAAa;YAAU,UAAK,GAAL,KAAK,CAAO;YAAU,mBAAc,GAAd,cAAc,CAAgB;YATjG,kBAAa,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAO5C,cAAS,GAAY,KAAK,CAAC;SAE0E;QApBrG,sBACI,4CAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAc;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;;;WALA;;;;QAmBD,0CAAQ;;;QAAR;YACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;gBACE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;gBACxB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;gBAC3B,iBAAiB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;aAClC,EACD;gBACE,UAAU,EAAE,CAACC,uBAAgB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;aACrE,CACF,CAAC;SACH;;;;QAED,0CAAQ;;;QAAR;YAAA,iBA2BC;YA1BC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,KAAK;iBACP,QAAQ,CACP,IAAIC,sBAAc,CAAC;gBACjB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBAChD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;aAChD,CAAC,CACH;iBACA,IAAI,CACHC,kBAAQ;;;YAAC;gBACP,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB,EAAC,CACH;iBACA,SAAS,CAAC;gBACT,IAAI;;;gBAAE;oBACJ,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACnB,CAAA;gBACD,KAAK;;;;gBAAE,UAAA,GAAG;oBACR,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;;;oBAAC,cAAM,OAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAA,GAAE,iCAAiC,CAAC,EAAE,OAAO,EAAE;wBACxG,IAAI,EAAE,IAAI;qBACX,CAAC,CAAC;iBACJ,CAAA;aACF,CAAC,CAAC;SACN;;;;QAED,2CAAS;;;QAAT;YACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;;;;;QAED,6CAAW;;;;QAAX,UAAY,EAA0B;gBAAxB,oBAAO;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBAnFFC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,gvDAA+C;qBAChD;;;;oBAXQC,iBAAW;oBAEXC,WAAK;oBAdLC,8BAAc;;;8BA2BpBC,UAAK;oCAULC,WAAM;mCAGNC,cAAS,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;QAgE9C,8BAAC;KApFD,IAoFC;;;;;;QA/EC,2CAAmB;;QAYnB,gDAC4C;;QAE5C,+CAC+B;;QAE/B,uCAAgB;;QAEhB,4CAA2B;;;;;QAEf,qCAAuB;;;;;QAAE,wCAAoB;;;;;QAAE,iDAAsC;;;;;;;AChDnG;QAGA;YAQE,gBAAW,GAAY,KAAK,CAAC;SAC9B;;QAHQ,2BAAI,2BAAuB;;oBANnCN,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,2zBAA8C;qBAC/C;;QAMD,6BAAC;KATD,IASC;;;QAHC,4BAAkC;;QAElC,6CAA6B;;;;;;;ACT/B;QAEE,8BAAmB,OAA8D;YAA9D,YAAO,GAAP,OAAO,CAAuD;SAAI;QADrE,yBAAI,GAAG,iCAAiC,CAAC;QAE3D,2BAAC;KAHD,IAGC;;;QAFC,0BAAyD;;QAC7C,uCAAqE;;AAGnF;QAEE,uCAAmB,IAAY;YAAZ,SAAI,GAAJ,IAAI,CAAQ;SAAI;QADnB,kCAAI,GAAG,0CAA0C,CAAC;QAEpE,oCAAC;KAHD,IAGC;;;QAFC,mCAAkE;;QACtD,6CAAmB;;;;;;;;;;;;;;SCkDhC;;;;;QA/CQ,iCAAqB;;;;QAA5B,UAA6B,EAAoC;gBAAlC,0CAAkB;YAC/C,OAAO,kBAAkB,CAAC;SAC3B;;;;;;QAGD,qCAAe;;;;;QAAf,UAAgB,EAAoD,EAAE,EAAsC;gBAA1F,sBAAQ,EAAE,0BAAU;gBAAkC,eAAY,EAAZ,iCAAY;YAC5E,IAAA,kDAAkB;YAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;aACrB;YAED,IAAI,kBAAkB,CAAC,MAAM,EAAE;gBAC7B,OAAO,GAAG,GAAG;;;gBACX;oBACE,OAAA,oBAAC,OAAO,IAAgC,MAAM;;;;oBAC5C,UAAC,EAAQ;4BAAN,cAAI;wBAAO,OAAA,kBAAkB,CAAC,SAAS;;;;wBAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC,GAAG,CAAC;qBAAA,EACzE;iBAAA,GACH,EAAE,CACH,CAAC;aACH;YAED,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO;YAE5B,kBAAkB,GAAGO,SAAI,kBAAkB,EAAK,OAAO,EACpD,GAAG;;;;YAAC,UAAA,OAAO,IAAI,qBAAM,OAAO,IAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,OAAG,EAAC;iBAC5D,IAAI;;;;;YAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,EAAC,CAAC;YAErC,OAAO,UAAU,CAAC;gBAChB,kBAAkB,oBAAA;aACnB,CAAC,CAAC;SACJ;;;;;;QAGD,wCAAkB;;;;;QAAlB,UAAmB,EAAoD,EAAE,EAAuC;gBAA3F,sBAAQ,EAAE,0BAAU;gBAAkC,cAAI;YACvE,IAAA,kDAAkB;;gBAElB,KAAK,GAAG,kBAAkB,CAAC,SAAS;;;;YAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,IAAI,KAAK,IAAI,GAAA,EAAC;YAE5E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC1D;YAED,OAAO,UAAU,CAAC;gBAChB,kBAAkB,oBAAA;aACnB,CAAC,CAAC;SACJ;QAzCDC;YADCC,YAAM,CAAC,oBAAoB,CAAC;;qDAC2D,oBAAoB;;0DA0B3G;QAGDD;YADCC,YAAM,CAAC,6BAA6B,CAAC;;qDAC6C,6BAA6B;;6DAY/G;QA9CDD;YADCE,cAAQ,EAAE;;;;sDAGV;QAJU,WAAW;YAJvBC,WAAK,CAAe;gBACnB,IAAI,EAAE,aAAa;gBACnB,QAAQ,qBAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAgB;aACrD,CAAC;WACW,WAAW,CAiDvB;QAAD,kBAAC;KAAA;;;;;;;;;;;;QCqCC,oCAAoB,KAAY,EAAU,YAA0B;YAAhD,UAAK,GAAL,KAAK,CAAO;YAAU,iBAAY,GAAZ,YAAY,CAAc;YAnCpE,yBAAoB,GAAY,KAAK,CAAC;YAEtC,kBAAa,GAAY,KAAK,CAAC;YA2B/B,sBAAiB,GAAuB,EAAE,CAAC;YAE3C,cAAS;;;;;YAAmC,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,GAAA,EAAC;YAEnE,qBAAgB;;;;;YAAmC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,OAAO,GAAA,EAAC;SAEH;QA7BxE,sBAAI,sDAAc;;;;YAAlB;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,aAAG;;;;gBAAC,UAAA,MAAM,IAAI,OAAA,gBAAgB,CAAC,MAAM,CAAC,GAAA,EAAC,CAAC,CAAC;aACnE;;;WAAA;QAED,sBAAI,wDAAgB;;;;YAApB;gBAAA,iBAOC;gBANC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzBA,aAAG;;;;gBACD,UAAA,SAAS,IAAI,OAAA,GAAG;;;gBAAC,cAAM,OAAA,SAAS,CAAC,IAAI;;;;gBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,CAAC,WAAW,GAAA,EAAC,GAAA,GACzG,EAAE,CACH,CACF,CAAC;aACH;;;WAAA;QAED,sBAAI,0DAAkB;;;;YAAtB;gBAAA,iBAIC;gBAHC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzBA,aAAG;;;;gBAAC,UAAA,SAAS,IAAI,OAAA,GAAG;;;gBAAC,cAAM,OAAA,SAAS,CAAC,MAAM;;;;gBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,KAAK,KAAI,CAAC,mBAAmB,GAAA,EAAC,GAAA,EAAC,GAAA,GAAE,EAAE,CAAC,CACzG,CAAC;aACH;;;WAAA;QAED,sBAAI,2DAAmB;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAACC,oBAAY,CAAC,WAAW,CAAC,CAAC;aAC5D;;;WAAA;;;;;QAUO,qDAAgB;;;;QAAxB;YAAA,iBAWC;YAVC,UAAU;;;YAAC;gBACT,KAAI,CAAC,mBAAmB,CAAC,OAAO;;;;gBAAC,UAAA,IAAI;oBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACd,EAAC,CAAC;gBACH,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;oBAC3B,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;iBACrC;qBAAM;oBACL,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;iBACpC;aACF,GAAE,CAAC,CAAC,CAAC;SACP;;;;QAED,oDAAe;;;QAAf;YAAA,iBAgCC;;gBA/BO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;;;;YAAC,UAAC,EAAQ;oBAAN,cAAI;gBAAO,OAAA,IAAI;aAAA,EAAC;YAExG,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAI,oBAAoB,CAAC;oBACvB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC5D,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;iBACnE,CAAC,CACH,CAAC;aACH;YAED,IAAI,CAAC,YAAY;iBACd,IAAI,CACHD,aAAG;;;;YAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,GAAG;;;;YAAC,UAAC,EAAW;oBAAT,oBAAO;gBAAO,OAAA,OAAO;aAAA,EAAC,GAAA,EAAC,EACvDE,gBAAM;;;;YAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,iBAAiB,CAAC,GAAA,EAAC,EAC9DC,wBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,QAAQ;gBACjB,UAAU;;;gBAAC,cAAM,QAAC,KAAI,CAAC,iBAAiB,GAAG,QAAQ,IAAC,GAAE,CAAC,CAAC,CAAC;aAC1D,EAAC,CAAC;YAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExBC,cAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;iBACxB,IAAI,CACHD,wBAAgB,CAAC,IAAI,CAAC,EACtBE,sBAAY,CAAC,GAAG,CAAC,CAClB;iBACA,SAAS;;;YAAC;gBACT,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB,EAAC,CAAC;SACN;;;;QAED,gDAAW;;;QAAX,eAAgB;;;;;QAEhB,iDAAY;;;;QAAZ,UAAa,WAAmB;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAIC,mBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAIC,2BAAmB,EAAE,CAAC,CAAC;SAChD;;;;QAED,2CAAM;;;QAAN;YACE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAIC,qBAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;gBACxB,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAACC,wBAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;aACzE,CAAC,CACH,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAIF,2BAAmB,EAAE,CAAC,CAAC;SAChD;;QA1HM,+BAAI,mCAA2B;;oBANvCnB,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,yvJAAkD;qBACnD;;;;oBAbgBE,WAAK;oBACboB,8BAAY;;;qCA6BlBhB,cAAS,SAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEiB,gBAAW,EAAE;kCAG7DjB,cAAS,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEiB,gBAAW,EAAE;0CAG1DC,iBAAY,SAAC,oBAAoB,EAAE,EAAE,IAAI,EAAEC,uBAAW,EAAE;;QAjBzDjB;YADCkB,YAAM,CAACC,mBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;sCAC5BC,eAAU;mEAAkB;QAGrCpB;YADCkB,YAAM,CAACC,mBAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;sCAC5BC,eAAU;wEAAuC;QAG/DpB;YADCkB,YAAM,CAACC,mBAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;sCAC1CC,eAAU;sEAAsC;QAG5DpB;YADCkB,YAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;sCAC5BE,eAAU;wEAA6B;QA+GvD,iCAAC;KAjID,IAiIC;;;QA3HC,gCAAsC;;QAEtC,6CACqC;;QAErC,kDAC+D;;QAE/D,gDAC4D;;QAE5D,kDACqD;;QAErD,oDACiC;;QAEjC,iDAC8B;;QAE9B,yDAC4C;;QAE5C,0DAAsC;;QAEtC,mDAA+B;;QAE/B,4DAAgC;;QAyBhC,uDAA2C;;QAE3C,+CAAmE;;QAEnE,sDAA2E;;;;;QAE/D,2CAAoB;;;;;QAAE,kDAAkC;;;;;;IAmEtE,SAAS,gBAAgB,CAAC,MAAuB;QAC/C,OAAO,MAAM,CAAC,MAAM;;;;;QAAC,UAAC,GAAG,EAAE,GAAG;YAC5B,IAAI,GAAG,CAAC,SAAS;gBAAE,OAAO,GAAG,CAAC;YAE9B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACvC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC/C;YAED,gBAAW,GAAG,GAAE,GAAG,GAAE;SACtB,GAAE,EAAE,CAAC,CAAC;KACR;;;;;;AC7KD;QAGA;SAUC;;QADQ,yBAAI,uBAAqB;;oBATjC5B,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,6DAGT;qBACF;;QAID,2BAAC;KAVD,IAUC;;;QADC,0BAAgC;;;;;;;ACZlC;QAiBE,yBAAoB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YANhC,gBAAW,GAAY,IAAI,CAAC;SAMQ;QAJpC,sBAAI,oCAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC2B,mBAAW,CAAC,kBAAkB,CAAC,CAAC;aAClE;;;WAAA;;oBAVF3B,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,g8BAAsC;wBACtC,UAAU,EAAE,CAAC6B,+BAAe,CAAC;qBAC9B;;;;oBANQ3B,WAAK;;QAed,sBAAC;KAbD,IAaC;;;QAPC,sCAA4B;;;;;QAMhB,gCAAoB;;;;;;;ICV1B,IAAA,sCAAS,EAAE4B,sCAAQ,EAAE,8BAAK;AAElC;QA2BE,0BAAoB,EAAe,EAAU,KAAY;YAArC,OAAE,GAAF,EAAE,CAAa;YAAU,UAAK,GAAL,KAAK,CAAO;YATzD,kBAAa,GAAG,IAAIlC,iBAAY,EAAW,CAAC;YAO5C,cAAS,GAAY,KAAK,CAAC;SAEkC;QApB7D,sBACI,qCAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAc;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;;;WALA;;;;QAmBD,oCAAS;;;QAAT;YAAA,iBAgBC;YAfC,IAAI,CAAC,KAAK;iBACP,QAAQ,CAAC,IAAImC,kBAAU,EAAE,CAAC;iBAC1B,IAAI,CACHC,wBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7BC,cAAI,CAAC,CAAC,CAAC,CACR;iBACA,SAAS;;;;YAAC,UAAC,EAAW;oBAAX,kBAAW,EAAR,eAAO;gBACpB,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACxB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAACH,UAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxD,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAACA,UAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjD,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC1D,CAAC,CAAC;aACJ,EAAC,CAAC;SACN;;;;QAED,mCAAQ;;;QAAR;YAAA,iBASC;YARC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAII,qBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;;YAAC;gBAChE,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACnB,EAAC,CAAC;SACJ;;;;QAED,oCAAS;;;QAAT;YACE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;;;;;QAED,sCAAW;;;;QAAX,UAAY,EAA0B;gBAAxB,oBAAO;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBAvEFlC,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,kkEAAuC;qBACxC;;;;oBAVQC,iBAAW;oBACHC,WAAK;;;8BAanBE,UAAK;oCAULC,WAAM;;QAIPG;YADCkB,YAAM,CAACS,oBAAY,CAAC,UAAU,CAAC;sCACtBP,eAAU;0DAAmB;QAmDzC,uBAAC;KAxED,IAwEC;;;;;;QAnEC,oCAAmB;;QAYnB,yCAC4C;;QAE5C,oCACuC;;QAEvC,gCAAgB;;QAEhB,qCAA2B;;;;;QAEf,8BAAuB;;;;;QAAE,iCAAoB;;;;;;;;ACrB3D,QAAa,OAAO,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,CAAC;AAEjG;QAAA;SAcgC;;oBAd/BQ,aAAQ,SAAC;wBACR,YAAY,WAAM,OAAO,GAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAC;wBACtF,OAAO,EAAE;4BACPC,kBAAU;4BACVC,iCAAiB;4BACjBC,6BAAiB;4BACjBC,6BAAiB;4BACjBC,iBAAW;4BACXC,4BAAqB;4BACrBC,gBAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;yBACrC;wBACD,OAAO,WAAM,OAAO,CAAC;wBACrB,eAAe,WAAM,OAAO,CAAC;qBAC9B;;QAC8B,uBAAC;KAdhC;;;;;;;;;;;ICfA,IAAiB,MAAM,CAUtB;IAVD,WAAiB,MAAM;;;;QACrB,oBAEC;;;;YADC,mCAAwC;;;;;QAG1C,gCAIC;;;;YAHC,iCAAa;;YACb,oCAA0B;;YAC1B,kCAAe;;KAElB,EAVgB,MAAM,KAAN,MAAM,QAUtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { ToastModule } from 'primeng/toast';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["Component","tslib_1.__spread","tslib_1.__decorate","Action","Selector","State","map","SessionState","filter","takeUntilDestroy","fromEvent","debounceTime","SetLanguage","Navigate","RouterState","GetAppConfiguration","Store","OAuthService","ViewChild","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","Observable","slideFromBottom","NgModule","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js index c14abb45c0..2f2950d264 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@abp/ng.theme.shared"),require("@angular/forms"),require("@ngx-validate/core"),require("@ngxs/store"),require("snq"),require("rxjs/operators"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("primeng/toast")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@abp/ng.theme.shared","@angular/forms","@ngx-validate/core","@ngxs/store","snq","rxjs/operators","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","primeng/toast"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng.core,e.ngBootstrap,e.ng_theme_shared,e.ng.forms,e.core$1,e.store,e.snq,e.rxjs.operators,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.toast)}(this,function(e,n,t,o,a,r,i,s,l,p,u,c,d,m,g){"use strict";l=l&&l.hasOwnProperty("default")?l.default:l,d=d&&d.hasOwnProperty("default")?d.default:d;var b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;s--)(a=e[s])&&(i=(r<3?a(i):r>3?a(n,t,i):a(n,t))||i);return r>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function y(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,a,r=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(e){a={error:e}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(a)throw a.error}}return i}function v(){for(var e=[],n=0;n\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n\n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store},{type:a.ToasterService}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}],modalContent:[{type:t.ViewChild,args:["modalContent",{static:!1}]}]},e}();var P=function(){function e(){this.isCollapsed=!1}return e.type="account",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-account",template:'\n \n\n \n \n \n \n \n\n'}]}],e}();var L=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}();var N=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}();var S=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,a=n.payload,r=void 0===a?[]:a,i=t().navigationElements;if(Array.isArray(r)||(r=[r]),i.length&&(r=l(function(){return r.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),r.length)return o({navigationElements:i=v(i,r).map(function(e){return b({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,a=n.name,r=t().navigationElements,i=r.findIndex(function(e){return e.name===a});return i>-1&&(r=r.splice(i,1)),o({navigationElements:r})},f([s.Action(L),h("design:type",Function),h("design:paramtypes",[Object,L]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),f([s.Action(N),h("design:type",Function),h("design:paramtypes",[Object,N]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),f([s.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=f([s.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),O=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(p.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),v(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(p.map(function(n){return l(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(S.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new L([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(p.map(function(e){return e.map(function(e){return e.element})}),p.filter(function(n){return!d(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),m.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),p.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e)),this.store.dispatch(new n.GetAppConfiguration)},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new u.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(u.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:s.Store},{type:c.OAuthService}]},e.propDecorators={currentUserRef:[{type:t.ViewChild,args:["currentUser",{static:!1,read:t.TemplateRef}]}],languageRef:[{type:t.ViewChild,args:["language",{static:!1,read:t.TemplateRef}]}],navbarRootDropdowns:[{type:t.ViewChildren,args:["navbarRootDropdown",{read:o.NgbDropdown}]}]},f([s.Select(n.ConfigState.getOne("routes")),h("design:type",m.Observable)],e.prototype,"routes$",void 0),f([s.Select(n.ConfigState.getOne("currentUser")),h("design:type",m.Observable)],e.prototype,"currentUser$",void 0),f([s.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",m.Observable)],e.prototype,"languages$",void 0),f([s.Select(S.getNavigationElements),h("design:type",m.Observable)],e.prototype,"navElements$",void 0),e}();var D=function(){function e(){}return e.type="empty",e.decorators=[{type:t.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}();var k=function(){function e(e){this.store=e,this.isCollapsed=!0}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[a.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:s.Store}]},e}();var A=r.Validators.maxLength,x=r.Validators.required,E=r.Validators.email,I=function(){function e(e,n){this.fb=e,this.store=n,this.visibleChange=new t.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new n.GetProfile).pipe(p.withLatestFrom(this.profile$),p.take(1)).subscribe(function(n){var t=y(n,2)[1];e.form=e.fb.group({userName:[t.userName,[x,A(256)]],email:[t.email,[x,E,A(256)]],name:[t.name||"",[A(64)]],surname:[t.surname||"",[A(64)]],phoneNumber:[t.phoneNumber||"",[A(16)]]})})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||(this.modalBusy=!0,this.store.dispatch(new n.UpdateProfile(this.form.value)).subscribe(function(){e.modalBusy=!1,e.visible=!1,e.form.reset()}))},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var n=e.visible;n&&(n.currentValue?this.openModal():!1===n.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:t.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:r.FormBuilder},{type:s.Store}]},e.propDecorators={visible:[{type:t.Input}],visibleChange:[{type:t.Output}]},f([s.Select(n.ProfileState.getProfile),h("design:type",m.Observable)],e.prototype,"profile$",void 0),e}();var F,R=[O,P,D],j=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:v(R,[k,C,I]),imports:[n.CoreModule,a.ThemeSharedModule,o.NgbCollapseModule,o.NgbDropdownModule,g.ToastModule,i.NgxValidateCoreModule,s.NgxsModule.forFeature([S])],exports:v(R),entryComponents:v(R)}]}],e}();!function(e){function n(){}function t(){}e.State=n,e.NavigationElement=t}(F||(F={})),e.AccountLayoutComponent=P,e.AddNavigationElement=L,e.ApplicationLayoutComponent=O,e.EmptyLayoutComponent=D,e.LAYOUTS=R,e.LayoutState=S,e.RemoveNavigationElementByName=N,e.ThemeBasicModule=j,e.ɵa=O,e.ɵb=S,e.ɵc=P,e.ɵd=D,e.ɵe=k,e.ɵf=C,e.ɵg=I,e.ɵh=S,e.ɵi=L,e.ɵj=N,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("@ngxs/store"),require("primeng/toast"),require("@ngxs/router-plugin"),require("angular-oauth2-oidc"),require("just-compare"),require("rxjs"),require("rxjs/operators"),require("snq")):"function"==typeof define&&define.amd?define("@abp/ng.theme.basic",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","@ngxs/store","primeng/toast","@ngxs/router-plugin","angular-oauth2-oidc","just-compare","rxjs","rxjs/operators","snq"],n):n(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.basic={}),e.ng_core,e.ng_theme_shared,e.ng.core,e.ngBootstrap,e.core$1,e.store,e.toast,e.routerPlugin,e.angularOauth2Oidc,e.compare,e.rxjs,e.rxjs.operators,e.snq)}(this,function(e,n,t,o,r,a,i,l,p,s,u,c,d,g){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u,g=g&&g.hasOwnProperty("default")?g.default:g;var m=function(){return(m=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;l--)(r=e[l])&&(i=(a<3?r(i):a>3?r(n,t,i):r(n,t))||i);return a>3&&i&&Object.defineProperty(n,t,i),i}function h(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function b(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,a=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=a.return)&&t.call(a)}finally{if(r)throw r.error}}return i}function y(){for(var e=[],n=0;n\n"}]}],e}();var w=function(){function e(e){this.payload=e}return e.type="[Layout] Add Navigation Element",e}();var C=function(){function e(e){this.name=e}return e.type="[Layout] Remove Navigation ElementByName",e}();var O=function(){function e(){}return e.getNavigationElements=function(e){return e.navigationElements},e.prototype.layoutAddAction=function(e,n){var t=e.getState,o=e.patchState,r=n.payload,a=void 0===r?[]:r,i=t().navigationElements;if(Array.isArray(a)||(a=[a]),i.length&&(a=g(function(){return a.filter(function(e){var n=e.name;return i.findIndex(function(e){return e.name===n})<0})},[])),a.length)return o({navigationElements:i=y(i,a).map(function(e){return m({},e,{order:e.order||99})}).sort(function(e,n){return e.order-n.order})})},e.prototype.layoutRemoveAction=function(e,n){var t=e.getState,o=e.patchState,r=n.name,a=t().navigationElements,i=a.findIndex(function(e){return e.name===r});return i>-1&&(a=a.splice(i,1)),o({navigationElements:a})},f([i.Action(w),h("design:type",Function),h("design:paramtypes",[Object,w]),h("design:returntype",void 0)],e.prototype,"layoutAddAction",null),f([i.Action(C),h("design:type",Function),h("design:paramtypes",[Object,C]),h("design:returntype",void 0)],e.prototype,"layoutRemoveAction",null),f([i.Selector(),h("design:type",Function),h("design:paramtypes",[Object]),h("design:returntype",Array)],e,"getNavigationElements",null),e=f([i.State({name:"LayoutState",defaults:{navigationElements:[]}})],e)}(),L=function(){function e(e,n){this.store=e,this.oauthService=n,this.isOpenChangePassword=!1,this.isOpenProfile=!1,this.rightPartElements=[],this.trackByFn=function(e,n){return n.name},this.trackElementByFn=function(e,n){return n}}return Object.defineProperty(e.prototype,"visibleRoutes$",{get:function(){return this.routes$.pipe(d.map(function(e){return function e(n){return n.reduce(function(n,t){return t.invisible?n:(t.children&&t.children.length&&(t.children=e(t.children)),y(n,[t]))},[])}(e)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultLanguage$",{get:function(){var e=this;return this.languages$.pipe(d.map(function(n){return g(function(){return n.find(function(n){return n.cultureName===e.selectedLangCulture}).displayName})},""))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownLanguages$",{get:function(){var e=this;return this.languages$.pipe(d.map(function(n){return g(function(){return n.filter(function(n){return n.cultureName!==e.selectedLangCulture})})},[]))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedLangCulture",{get:function(){return this.store.selectSnapshot(n.SessionState.getLanguage)},enumerable:!0,configurable:!0}),e.prototype.checkWindowWidth=function(){var e=this;setTimeout(function(){e.navbarRootDropdowns.forEach(function(e){e.close()}),window.innerWidth<768?e.isDropdownChildDynamic=!1:e.isDropdownChildDynamic=!0},0)},e.prototype.ngAfterViewInit=function(){var e=this;this.store.selectSnapshot(O.getNavigationElements).map(function(e){return e.name}).indexOf("LanguageRef")<0&&this.store.dispatch(new w([{element:this.languageRef,order:4,name:"LanguageRef"},{element:this.currentUserRef,order:5,name:"CurrentUserRef"}])),this.navElements$.pipe(d.map(function(e){return e.map(function(e){return e.element})}),d.filter(function(n){return!u(n,e.rightPartElements)}),n.takeUntilDestroy(this)).subscribe(function(n){setTimeout(function(){return e.rightPartElements=n},0)}),this.checkWindowWidth(),c.fromEvent(window,"resize").pipe(n.takeUntilDestroy(this),d.debounceTime(250)).subscribe(function(){e.checkWindowWidth()})},e.prototype.ngOnDestroy=function(){},e.prototype.onChangeLang=function(e){this.store.dispatch(new n.SetLanguage(e))},e.prototype.logout=function(){this.oauthService.logOut(),this.store.dispatch(new p.Navigate(["/"],null,{state:{redirectUrl:this.store.selectSnapshot(p.RouterState).state.url}})),this.store.dispatch(new n.GetAppConfiguration)},e.type="application",e.decorators=[{type:o.Component,args:[{selector:"abp-layout-application",template:'\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:i.Store},{type:s.OAuthService}]},e.propDecorators={currentUserRef:[{type:o.ViewChild,args:["currentUser",{static:!1,read:o.TemplateRef}]}],languageRef:[{type:o.ViewChild,args:["language",{static:!1,read:o.TemplateRef}]}],navbarRootDropdowns:[{type:o.ViewChildren,args:["navbarRootDropdown",{read:r.NgbDropdown}]}]},f([i.Select(n.ConfigState.getOne("routes")),h("design:type",c.Observable)],e.prototype,"routes$",void 0),f([i.Select(n.ConfigState.getOne("currentUser")),h("design:type",c.Observable)],e.prototype,"currentUser$",void 0),f([i.Select(n.ConfigState.getDeep("localization.languages")),h("design:type",c.Observable)],e.prototype,"languages$",void 0),f([i.Select(O.getNavigationElements),h("design:type",c.Observable)],e.prototype,"navElements$",void 0),e}();var k=function(){function e(){}return e.type="empty",e.decorators=[{type:o.Component,args:[{selector:"abp-layout-empty",template:"\n Layout-empty\n \n "}]}],e}();var P=function(){function e(e){this.store=e,this.isCollapsed=!0}return Object.defineProperty(e.prototype,"appInfo",{get:function(){return this.store.selectSnapshot(n.ConfigState.getApplicationInfo)},enumerable:!0,configurable:!0}),e.decorators=[{type:o.Component,args:[{selector:" abp-layout",template:'\n\n\n \n\n\n\n\n\n\n {{ appInfo.name }}\n\n',animations:[t.slideFromBottom]}]}],e.ctorParameters=function(){return[{type:i.Store}]},e}();var S,x=[L,v,k],D=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{declarations:y(x,[P]),imports:[n.CoreModule,t.ThemeSharedModule,r.NgbCollapseModule,r.NgbDropdownModule,l.ToastModule,a.NgxValidateCoreModule,i.NgxsModule.forFeature([O])],exports:y(x),entryComponents:y(x)}]}],e}();!function(e){function n(){}function t(){}e.State=n,e.NavigationElement=t}(S||(S={})),e.AccountLayoutComponent=v,e.AddNavigationElement=w,e.ApplicationLayoutComponent=L,e.EmptyLayoutComponent=k,e.LAYOUTS=x,e.LayoutState=O,e.RemoveNavigationElementByName=C,e.ThemeBasicModule=D,e.ɵa=L,e.ɵb=O,e.ɵc=v,e.ɵd=k,e.ɵe=P,e.ɵf=O,e.ɵg=w,e.ɵh=C,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.basic.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map index a70a7cf09d..e55c34dc28 100644 --- a/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map +++ b/npm/ng-packs/dist/theme-basic/bundles/abp-ng.theme.basic.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","forms","Validators","minLength","required","ChangePasswordComponent","fb","store","toasterService","visibleChange","EventEmitter","modalBusy","_visible","emit","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","_this","invalid","dispatch","ChangePassword","currentPassword","get","pipe","finalize","subscribe","visible","reset","err","snq","message","life","openModal","ngOnChanges","_a","currentValue","Component","args","selector","template","FormBuilder","Store","ToasterService","Input","Output","ViewChild","static","AccountLayoutComponent","isCollapsed","type","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","routes","getVisibleRoutes","reduce","acc","val","invisible","children","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","GetAppConfiguration","logout","logOut","Navigate","state","redirectUrl","RouterState","url","OAuthService","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","EmptyLayoutComponent","LayoutComponent","getApplicationInfo","animations","slideFromBottom","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","UpdateProfile","ProfileState","getProfile","Layout","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents","NavigationElement"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","AccountLayoutComponent","type","Component","args","selector","template","AddNavigationElement","payload","RemoveNavigationElementByName","name","LayoutState","getNavigationElements","_a","navigationElements","layoutAddAction","_b","getState","patchState","_c","Array","isArray","snq","filter","findIndex","nav","tslib_1.__spread","map","element","order","sort","a","b","layoutRemoveAction","index","splice","tslib_1.__decorate","Action","Selector","State","defaults","ApplicationLayoutComponent","store","oauthService","isOpenChangePassword","isOpenProfile","rightPartElements","trackByFn","_","item","trackElementByFn","routes$","pipe","routes","getVisibleRoutes","reduce","acc","val","invisible","children","_this","languages$","languages","find","lang","cultureName","selectedLangCulture","displayName","selectSnapshot","SessionState","getLanguage","checkWindowWidth","setTimeout","navbarRootDropdowns","forEach","close","window","innerWidth","isDropdownChildDynamic","ngAfterViewInit","indexOf","dispatch","languageRef","currentUserRef","navElements$","elements","compare","takeUntilDestroy","subscribe","fromEvent","debounceTime","ngOnDestroy","onChangeLang","SetLanguage","logout","logOut","Navigate","state","redirectUrl","RouterState","url","GetAppConfiguration","Store","OAuthService","ViewChild","static","read","TemplateRef","ViewChildren","NgbDropdown","Select","ConfigState","getOne","Observable","getDeep","EmptyLayoutComponent","LayoutComponent","isCollapsed","getApplicationInfo","animations","slideFromBottom","Layout","LAYOUTS","ThemeBasicModule","NgModule","declarations","imports","CoreModule","ThemeSharedModule","NgbCollapseModule","NgbDropdownModule","ToastModule","NgxValidateCoreModule","NgxsModule","forFeature","exports","entryComponents","NavigationElement"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { ToastModule } from 'primeng/toast';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js index 83c843c4b6..cf2d483fbb 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/abp-ng.theme.basic.js @@ -6,13 +6,11 @@ * Generated bundle index. Do not edit. */ export { LAYOUTS, ThemeBasicModule, AddNavigationElement, RemoveNavigationElementByName, AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent, LayoutState } from './public-api'; -export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AddNavigationElement as ɵg, RemoveNavigationElementByName as ɵh } from './lib/actions/layout.actions'; export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; -export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; -export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; export { LayoutState as ɵb } from './lib/states'; -export { LayoutState as ɵh } from './lib/states/layout.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0FjY291bnRMYXlvdXRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0VtcHR5TGF5b3V0Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file +export { LayoutState as ɵf } from './lib/states/layout.state'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FkZE5hdmlnYXRpb25FbGVtZW50IGFzIMm1ZyxSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSBhcyDJtWh9IGZyb20gJy4vbGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50TGF5b3V0Q29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbXB0eUxheW91dENvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtMYXlvdXRDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1aX0gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVmfSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js index 82077cde4e..65eef0327d 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/account-layout/account-layout.component.js @@ -4,22 +4,17 @@ */ import { Component } from '@angular/core'; export class AccountLayoutComponent { - constructor() { - this.isCollapsed = false; - } } // required for dynamic component AccountLayoutComponent.type = "account" /* account */; AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n" }] } ]; if (false) { /** @type {?} */ AccountLayoutComponent.type; - /** @type {?} */ - AccountLayoutComponent.prototype.isCollapsed; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O0FBSFEsMkJBQUksMkJBQXVCOztZQU5uQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsMnpCQUE4QzthQUMvQzs7OztJQUdDLDRCQUFrQzs7SUFFbEMsNkNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xuXG4gIGlzQ29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCOzs7QUFFMUIsMkJBQUksMkJBQXVCOztZQU5uQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsNkNBQThDO2FBQy9DOzs7O0lBR0MsNEJBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js index 416cacfecd..6982b9fbb2 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/application-layout/application-layout.component.js @@ -173,7 +173,6 @@ export class ApplicationLayoutComponent { */ onChangeLang(cultureName) { this.store.dispatch(new SetLanguage(cultureName)); - this.store.dispatch(new GetAppConfiguration()); } /** * @return {?} @@ -279,4 +278,4 @@ function getVisibleRoutes(routes) { return [...acc, val]; }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTTNDLE1BQU0sT0FBTywwQkFBMEI7Ozs7O0lBNERyQyxZQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FB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RTVELGtEQUNxRDs7SUFFckQsb0RBQ2lDOztJQUVqQyxpREFDOEI7O0lBRTlCLHlEQUM0Qzs7SUFFNUMsMERBQXNDOztJQUV0QyxtREFBK0I7O0lBRS9CLDREQUFnQzs7SUF5QmhDLHVEQUEyQzs7SUFFM0MsK0NBQW1FOztJQUVuRSxzREFBMkU7Ozs7O0lBRS9ELDJDQUFvQjs7Ozs7SUFBRSxrREFBa0M7Ozs7OztBQW1FdEUsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF1QjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2hDLElBQUksR0FBRyxDQUFDLFNBQVM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUU5QixJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsR0FBRyxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFCUCxcbiAgQXBwbGljYXRpb25Db25maWd1cmF0aW9uLFxuICBHZXRBcHBDb25maWd1cmF0aW9uLFxuICBDb25maWdTdGF0ZSxcbiAgZUxheW91dFR5cGUsXG4gIFNldExhbmd1YWdlLFxuICBTZXNzaW9uU3RhdGUsXG4gIHRha2VVbnRpbERlc3Ryb3ksXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93biB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5hdmlnYXRlLCBSb3V0ZXJTdGF0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFkZE5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGF5b3V0JztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1hcHBsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8vIHJlcXVpcmVkIGZvciBkeW5hbWljIGNvbXBvbmVudFxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyb3V0ZXMnKSlcbiAgcm91dGVzJDogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdjdXJyZW50VXNlcicpKVxuICBjdXJyZW50VXNlciQ6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkN1cnJlbnRVc2VyPjtcblxuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5sYW5ndWFnZXMnKSlcbiAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uTGFuZ3VhZ2VbXT47XG5cbiAgQFNlbGVjdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpXG4gIG5hdkVsZW1lbnRzJDogT2JzZXJ2YWJsZTxMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXT47XG5cbiAgQFZpZXdDaGlsZCgnY3VycmVudFVzZXInLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGN1cnJlbnRVc2VyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2xhbmd1YWdlJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBsYW5ndWFnZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkcmVuKCduYXZiYXJSb290RHJvcGRvd24nLCB7IHJlYWQ6IE5nYkRyb3Bkb3duIH0pXG4gIG5hdmJhclJvb3REcm9wZG93bnM6IFF1ZXJ5TGlzdDxOZ2JEcm9wZG93bj47XG5cbiAgaXNPcGVuQ2hhbmdlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc09wZW5Qcm9maWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNEcm9wZG93bkNoaWxkRHluYW1pYzogYm9vbGVhbjtcblxuICBnZXQgdmlzaWJsZVJvdXRlcyQoKTogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXMkLnBpcGUobWFwKHJvdXRlcyA9PiBnZXRWaXNpYmxlUm91dGVzKHJvdXRlcykpKTtcbiAgfVxuXG4gIGdldCBkZWZhdWx0TGFuZ3VhZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICBsYW5ndWFnZXMgPT4gc25xKCgpID0+IGxhbmd1YWdlcy5maW5kKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSA9PT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKS5kaXNwbGF5TmFtZSksXG4gICAgICAgICcnLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duTGFuZ3VhZ2VzJCgpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbHRlcihsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgIT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSkpLCBbXSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhbmdDdWx0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKTtcbiAgfVxuXG4gIHJpZ2h0UGFydEVsZW1lbnRzOiBUZW1wbGF0ZVJlZjxhbnk+W10gPSBbXTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxBQlAuRnVsbFJvdXRlPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgdHJhY2tFbGVtZW50QnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGVsZW1lbnQpID0+IGVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBjaGVja1dpbmRvd1dpZHRoKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5uYXZiYXJSb290RHJvcGRvd25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uY2xvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4KSB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkNoaWxkRHluYW1pYyA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9ucyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoTGF5b3V0U3RhdGUuZ2V0TmF2aWdhdGlvbkVsZW1lbnRzKS5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKTtcblxuICAgIGlmIChuYXZpZ2F0aW9ucy5pbmRleE9mKCdMYW5ndWFnZVJlZicpIDwgMCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IEFkZE5hdmlnYXRpb25FbGVtZW50KFtcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMubGFuZ3VhZ2VSZWYsIG9yZGVyOiA0LCBuYW1lOiAnTGFuZ3VhZ2VSZWYnIH0sXG4gICAgICAgICAgeyBlbGVtZW50OiB0aGlzLmN1cnJlbnRVc2VyUmVmLCBvcmRlcjogNSwgbmFtZTogJ0N1cnJlbnRVc2VyUmVmJyB9LFxuICAgICAgICBdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZFbGVtZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZWxlbWVudHMgPT4gZWxlbWVudHMubWFwKCh7IGVsZW1lbnQgfSkgPT4gZWxlbWVudCkpLFxuICAgICAgICBmaWx0ZXIoZWxlbWVudHMgPT4gIWNvbXBhcmUoZWxlbWVudHMsIHRoaXMucmlnaHRQYXJ0RWxlbWVudHMpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZWxlbWVudHMgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnJpZ2h0UGFydEVsZW1lbnRzID0gZWxlbWVudHMpLCAwKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XG5cbiAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIG9uQ2hhbmdlTGFuZyhjdWx0dXJlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0TGFuZ3VhZ2UoY3VsdHVyZU5hbWUpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvJ10sIG51bGwsIHtcbiAgICAgICAgc3RhdGU6IHsgcmVkaXJlY3RVcmw6IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpLnN0YXRlLnVybCB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZpc2libGVSb3V0ZXMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10pIHtcbiAgcmV0dXJuIHJvdXRlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgaWYgKHZhbC5pbnZpc2libGUpIHJldHVybiBhY2M7XG5cbiAgICBpZiAodmFsLmNoaWxkcmVuICYmIHZhbC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHZhbC5jaGlsZHJlbiA9IGdldFZpc2libGVSb3V0ZXModmFsLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmFjYywgdmFsXTtcbiAgfSwgW10pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTTNDLE1BQU0sT0FBTywwQkFBMEI7Ozs7O0lBNERyQyxZQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FB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QXNDOztJQUV0QyxtREFBK0I7O0lBRS9CLDREQUFnQzs7SUF5QmhDLHVEQUEyQzs7SUFFM0MsK0NBQW1FOztJQUVuRSxzREFBMkU7Ozs7O0lBRS9ELDJDQUFvQjs7Ozs7SUFBRSxrREFBa0M7Ozs7OztBQWtFdEUsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF1QjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2hDLElBQUksR0FBRyxDQUFDLFNBQVM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUU5QixJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsR0FBRyxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFCUCxcbiAgQXBwbGljYXRpb25Db25maWd1cmF0aW9uLFxuICBHZXRBcHBDb25maWd1cmF0aW9uLFxuICBDb25maWdTdGF0ZSxcbiAgZUxheW91dFR5cGUsXG4gIFNldExhbmd1YWdlLFxuICBTZXNzaW9uU3RhdGUsXG4gIHRha2VVbnRpbERlc3Ryb3ksXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93biB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5hdmlnYXRlLCBSb3V0ZXJTdGF0ZSB9IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4nO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFkZE5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGF5b3V0JztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1hcHBsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8vIHJlcXVpcmVkIGZvciBkeW5hbWljIGNvbXBvbmVudFxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdyb3V0ZXMnKSlcbiAgcm91dGVzJDogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0T25lKCdjdXJyZW50VXNlcicpKVxuICBjdXJyZW50VXNlciQ6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkN1cnJlbnRVc2VyPjtcblxuICBAU2VsZWN0KENvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5sYW5ndWFnZXMnKSlcbiAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uTGFuZ3VhZ2VbXT47XG5cbiAgQFNlbGVjdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpXG4gIG5hdkVsZW1lbnRzJDogT2JzZXJ2YWJsZTxMYXlvdXQuTmF2aWdhdGlvbkVsZW1lbnRbXT47XG5cbiAgQFZpZXdDaGlsZCgnY3VycmVudFVzZXInLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGN1cnJlbnRVc2VyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2xhbmd1YWdlJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBsYW5ndWFnZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkcmVuKCduYXZiYXJSb290RHJvcGRvd24nLCB7IHJlYWQ6IE5nYkRyb3Bkb3duIH0pXG4gIG5hdmJhclJvb3REcm9wZG93bnM6IFF1ZXJ5TGlzdDxOZ2JEcm9wZG93bj47XG5cbiAgaXNPcGVuQ2hhbmdlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc09wZW5Qcm9maWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNEcm9wZG93bkNoaWxkRHluYW1pYzogYm9vbGVhbjtcblxuICBnZXQgdmlzaWJsZVJvdXRlcyQoKTogT2JzZXJ2YWJsZTxBQlAuRnVsbFJvdXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXMkLnBpcGUobWFwKHJvdXRlcyA9PiBnZXRWaXNpYmxlUm91dGVzKHJvdXRlcykpKTtcbiAgfVxuXG4gIGdldCBkZWZhdWx0TGFuZ3VhZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICBsYW5ndWFnZXMgPT4gc25xKCgpID0+IGxhbmd1YWdlcy5maW5kKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSA9PT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKS5kaXNwbGF5TmFtZSksXG4gICAgICAgICcnLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duTGFuZ3VhZ2VzJCgpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbHRlcihsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgIT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSkpLCBbXSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhbmdDdWx0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKTtcbiAgfVxuXG4gIHJpZ2h0UGFydEVsZW1lbnRzOiBUZW1wbGF0ZVJlZjxhbnk+W10gPSBbXTtcblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxBQlAuRnVsbFJvdXRlPiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XG5cbiAgdHJhY2tFbGVtZW50QnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGVsZW1lbnQpID0+IGVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBjaGVja1dpbmRvd1dpZHRoKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5uYXZiYXJSb290RHJvcGRvd25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uY2xvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4KSB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkNoaWxkRHluYW1pYyA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9ucyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoTGF5b3V0U3RhdGUuZ2V0TmF2aWdhdGlvbkVsZW1lbnRzKS5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKTtcblxuICAgIGlmIChuYXZpZ2F0aW9ucy5pbmRleE9mKCdMYW5ndWFnZVJlZicpIDwgMCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IEFkZE5hdmlnYXRpb25FbGVtZW50KFtcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMubGFuZ3VhZ2VSZWYsIG9yZGVyOiA0LCBuYW1lOiAnTGFuZ3VhZ2VSZWYnIH0sXG4gICAgICAgICAgeyBlbGVtZW50OiB0aGlzLmN1cnJlbnRVc2VyUmVmLCBvcmRlcjogNSwgbmFtZTogJ0N1cnJlbnRVc2VyUmVmJyB9LFxuICAgICAgICBdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZFbGVtZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZWxlbWVudHMgPT4gZWxlbWVudHMubWFwKCh7IGVsZW1lbnQgfSkgPT4gZWxlbWVudCkpLFxuICAgICAgICBmaWx0ZXIoZWxlbWVudHMgPT4gIWNvbXBhcmUoZWxlbWVudHMsIHRoaXMucmlnaHRQYXJ0RWxlbWVudHMpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZWxlbWVudHMgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnJpZ2h0UGFydEVsZW1lbnRzID0gZWxlbWVudHMpLCAwKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XG5cbiAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIG9uQ2hhbmdlTGFuZyhjdWx0dXJlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0TGFuZ3VhZ2UoY3VsdHVyZU5hbWUpKTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IE5hdmlnYXRlKFsnLyddLCBudWxsLCB7XG4gICAgICAgIHN0YXRlOiB7IHJlZGlyZWN0VXJsOiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKS5zdGF0ZS51cmwgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0QXBwQ29uZmlndXJhdGlvbigpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRWaXNpYmxlUm91dGVzKHJvdXRlczogQUJQLkZ1bGxSb3V0ZVtdKSB7XG4gIHJldHVybiByb3V0ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgIGlmICh2YWwuaW52aXNpYmxlKSByZXR1cm4gYWNjO1xuXG4gICAgaWYgKHZhbC5jaGlsZHJlbiAmJiB2YWwuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICB2YWwuY2hpbGRyZW4gPSBnZXRWaXNpYmxlUm91dGVzKHZhbC5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5hY2MsIHZhbF07XG4gIH0sIFtdKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js deleted file mode 100644 index ca505959f6..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/change-password/change-password.component.js +++ /dev/null @@ -1,161 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import { ChangePassword } from '@abp/ng.core'; -import { ToasterService } from '@abp/ng.theme.shared'; -import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; -import { FormBuilder, Validators } from '@angular/forms'; -import { comparePasswords } from '@ngx-validate/core'; -import { Store } from '@ngxs/store'; -import snq from 'snq'; -import { finalize } from 'rxjs/operators'; -const { minLength, required } = Validators; -export class ChangePasswordComponent { - /** - * @param {?} fb - * @param {?} store - * @param {?} toasterService - */ - constructor(fb, store, toasterService) { - this.fb = fb; - this.store = store; - this.toasterService = toasterService; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - /** - * @return {?} - */ - get visible() { - return this._visible; - } - /** - * @param {?} value - * @return {?} - */ - set visible(value) { - this._visible = value; - this.visibleChange.emit(value); - } - /** - * @return {?} - */ - ngOnInit() { - this.form = this.fb.group({ - password: ['', required], - newPassword: ['', required], - repeatNewPassword: ['', required], - }, { - validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], - }); - } - /** - * @return {?} - */ - onSubmit() { - if (this.form.invalid) - return; - this.modalBusy = true; - this.store - .dispatch(new ChangePassword({ - currentPassword: this.form.get('password').value, - newPassword: this.form.get('newPassword').value, - })) - .pipe(finalize((/** - * @return {?} - */ - () => { - this.modalBusy = false; - }))) - .subscribe({ - next: (/** - * @return {?} - */ - () => { - this.visible = false; - this.form.reset(); - }), - error: (/** - * @param {?} err - * @return {?} - */ - err => { - this.toasterService.error(snq((/** - * @return {?} - */ - () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { - life: 7000, - }); - }), - }); - } - /** - * @return {?} - */ - openModal() { - this.visible = true; - } - /** - * @param {?} __0 - * @return {?} - */ - ngOnChanges({ visible }) { - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - } -} -ChangePasswordComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } -]; -/** @nocollapse */ -ChangePasswordComponent.ctorParameters = () => [ - { type: FormBuilder }, - { type: Store }, - { type: ToasterService } -]; -ChangePasswordComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }], - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] -}; -if (false) { - /** - * @type {?} - * @protected - */ - ChangePasswordComponent.prototype._visible; - /** @type {?} */ - ChangePasswordComponent.prototype.visibleChange; - /** @type {?} */ - ChangePasswordComponent.prototype.modalContent; - /** @type {?} */ - ChangePasswordComponent.prototype.form; - /** @type {?} */ - ChangePasswordComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.store; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.toasterService; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO01BRXBDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVU7QUFNMUMsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBdUJsQyxZQUFvQixFQUFlLEVBQVUsS0FBWSxFQUFVLGNBQThCO1FBQTdFLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVGpHLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81QyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRXlFLENBQUM7Ozs7SUFwQnJHLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFD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Q29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICBuZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIHJlcGVhdE5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXSldLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js index 10f24c8252..2faa8d8e3c 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/empty-layout/empty-layout.component.js @@ -5,7 +5,6 @@ import { Component } from '@angular/core'; export class EmptyLayoutComponent { } -// required for dynamic component EmptyLayoutComponent.type = "empty" /* empty */; EmptyLayoutComponent.decorators = [ { type: Component, args: [{ @@ -20,4 +19,4 @@ if (false) { /** @type {?} */ EmptyLayoutComponent.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COzs7QUFFeEIseUJBQUksdUJBQXFCOztZQVRqQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7R0FHVDthQUNGOzs7O0lBR0MsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COztBQUN4Qix5QkFBSSx1QkFBcUI7O1lBUmpDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7OztHQUdUO2FBQ0Y7Ozs7SUFFQywwQkFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1lbXB0eScsXG4gIHRlbXBsYXRlOiBgXG4gICAgTGF5b3V0LWVtcHR5XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBFbXB0eUxheW91dENvbXBvbmVudCB7XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuZW1wdHk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js deleted file mode 100644 index de1477f650..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/components/profile/profile.component.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import * as tslib_1 from "tslib"; -import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { FormBuilder, Validators } from '@angular/forms'; -import { Select, Store } from '@ngxs/store'; -import { Observable } from 'rxjs'; -import { take, withLatestFrom } from 'rxjs/operators'; -const { maxLength, required, email } = Validators; -export class ProfileComponent { - /** - * @param {?} fb - * @param {?} store - */ - constructor(fb, store) { - this.fb = fb; - this.store = store; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - /** - * @return {?} - */ - get visible() { - return this._visible; - } - /** - * @param {?} value - * @return {?} - */ - set visible(value) { - this._visible = value; - this.visibleChange.emit(value); - } - /** - * @return {?} - */ - buildForm() { - this.store - .dispatch(new GetProfile()) - .pipe(withLatestFrom(this.profile$), take(1)) - .subscribe((/** - * @param {?} __0 - * @return {?} - */ - ([, profile]) => { - this.form = this.fb.group({ - userName: [profile.userName, [required, maxLength(256)]], - email: [profile.email, [required, email, maxLength(256)]], - name: [profile.name || '', [maxLength(64)]], - surname: [profile.surname || '', [maxLength(64)]], - phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], - }); - })); - } - /** - * @return {?} - */ - onSubmit() { - if (this.form.invalid) - return; - this.modalBusy = true; - this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** - * @return {?} - */ - () => { - this.modalBusy = false; - this.visible = false; - this.form.reset(); - })); - } - /** - * @return {?} - */ - openModal() { - this.buildForm(); - this.visible = true; - } - /** - * @param {?} __0 - * @return {?} - */ - ngOnChanges({ visible }) { - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - } -} -ProfileComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } -]; -/** @nocollapse */ -ProfileComponent.ctorParameters = () => [ - { type: FormBuilder }, - { type: Store } -]; -ProfileComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }] -}; -tslib_1.__decorate([ - Select(ProfileState.getProfile), - tslib_1.__metadata("design:type", Observable) -], ProfileComponent.prototype, "profile$", void 0); -if (false) { - /** - * @type {?} - * @protected - */ - ProfileComponent.prototype._visible; - /** @type {?} */ - ProfileComponent.prototype.visibleChange; - /** @type {?} */ - ProfileComponent.prototype.profile$; - /** @type {?} */ - ProfileComponent.prototype.form; - /** @type {?} */ - ProfileComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.store; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztNQUVoRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVTtBQU1qRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQXVCM0IsWUFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQzs7OztJQXBCN0QsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7O0lBY0QsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLO2FBQ1AsUUFBUSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7YUFDMUIsSUFBSSxDQUNILGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVM7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFELENBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBdkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsa2tFQUF1QzthQUN4Qzs7OztZQVZRLFdBQVc7WUFDSCxLQUFLOzs7c0JBYW5CLEtBQUs7NEJBVUwsTUFBTTs7QUFJUDtJQURDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO3NDQUN0QixVQUFVO2tEQUFtQjs7Ozs7O0lBaEJ2QyxvQ0FBbUI7O0lBWW5CLHlDQUM0Qzs7SUFFNUMsb0NBQ3VDOztJQUV2QyxnQ0FBZ0I7O0lBRWhCLHFDQUEyQjs7Ozs7SUFFZiw4QkFBdUI7Ozs7O0lBQUUsaUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSwgR2V0UHJvZmlsZSwgUHJvZmlsZVN0YXRlLCBVcGRhdGVQcm9maWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSlcbiAgcHJvZmlsZSQ6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQcm9maWxlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wcm9maWxlJCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbLCBwcm9maWxlXSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICB1c2VyTmFtZTogW3Byb2ZpbGUudXNlck5hbWUsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBlbWFpbDogW3Byb2ZpbGUuZW1haWwsIFtyZXF1aXJlZCwgZW1haWwsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgbmFtZTogW3Byb2ZpbGUubmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBzdXJuYW1lOiBbcHJvZmlsZS5zdXJuYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHBob25lTnVtYmVyOiBbcHJvZmlsZS5waG9uZU51bWJlciB8fCAnJywgW21heExlbmd0aCgxNildXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVByb2ZpbGUodGhpcy5mb3JtLnZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js b/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js index cb0895c81b..ad646507dc 100644 --- a/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js +++ b/npm/ng-packs/dist/theme-basic/esm2015/lib/theme-basic.module.js @@ -3,18 +3,16 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { ChangePasswordComponent } from './components/change-password/change-password.component'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { NgxsModule } from '@ngxs/store'; +import { ToastModule } from 'primeng/toast'; import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; import { LayoutComponent } from './components/layout/layout.component'; -import { ProfileComponent } from './components/profile/profile.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { ToastModule } from 'primeng/toast'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; -import { NgxsModule } from '@ngxs/store'; import { LayoutState } from './states/layout.state'; /** @type {?} */ export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; @@ -22,7 +20,7 @@ export class ThemeBasicModule { } ThemeBasicModule.decorators = [ { type: NgModule, args: [{ - declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent], + declarations: [...LAYOUTS, LayoutComponent], imports: [ CoreModule, ThemeSharedModule, @@ -36,4 +34,4 @@ ThemeBasicModule.decorators = [ entryComponents: [...LAYOUTS], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFcEQsTUFBTSxPQUFPLE9BQU8sR0FBRyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDO0FBZ0JqRyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFkNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDdEYsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLGVBQWUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWNjb3VudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvbGF5b3V0LnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IExBWU9VVFMgPSBbQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQsIEFjY291bnRMYXlvdXRDb21wb25lbnQsIEVtcHR5TGF5b3V0Q29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uTEFZT1VUUywgTGF5b3V0Q29tcG9uZW50LCBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCwgUHJvZmlsZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIE5nYkNvbGxhcHNlTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW0xheW91dFN0YXRlXSksXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5MQVlPVVRTXSxcbiAgZW50cnlDb21wb25lbnRzOiBbLi4uTEFZT1VUU10sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQmFzaWNNb2R1bGUge31cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFcEQsTUFBTSxPQUFPLE9BQU8sR0FBRyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDO0FBZ0JqRyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFkNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLGVBQWUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLGVBQWUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JDb2xsYXBzZU1vZHVsZSwgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eUxheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0U3RhdGUgfSBmcm9tICcuL3N0YXRlcy9sYXlvdXQuc3RhdGUnO1xuXG5leHBvcnQgY29uc3QgTEFZT1VUUyA9IFtBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCwgQWNjb3VudExheW91dENvbXBvbmVudCwgRW1wdHlMYXlvdXRDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5MQVlPVVRTLCBMYXlvdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtMYXlvdXRTdGF0ZV0pLFxuICBdLFxuICBleHBvcnRzOiBbLi4uTEFZT1VUU10sXG4gIGVudHJ5Q29tcG9uZW50czogWy4uLkxBWU9VVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUJhc2ljTW9kdWxlIHt9XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js index 83c843c4b6..cf2d483fbb 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/esm5/abp-ng.theme.basic.js @@ -6,13 +6,11 @@ * Generated bundle index. Do not edit. */ export { LAYOUTS, ThemeBasicModule, AddNavigationElement, RemoveNavigationElementByName, AccountLayoutComponent, ApplicationLayoutComponent, EmptyLayoutComponent, LayoutState } from './public-api'; -export { AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj } from './lib/actions/layout.actions'; +export { AddNavigationElement as ɵg, RemoveNavigationElementByName as ɵh } from './lib/actions/layout.actions'; export { AccountLayoutComponent as ɵc } from './lib/components/account-layout/account-layout.component'; export { ApplicationLayoutComponent as ɵa } from './lib/components/application-layout/application-layout.component'; -export { ChangePasswordComponent as ɵf } from './lib/components/change-password/change-password.component'; export { EmptyLayoutComponent as ɵd } from './lib/components/empty-layout/empty-layout.component'; export { LayoutComponent as ɵe } from './lib/components/layout/layout.component'; -export { ProfileComponent as ɵg } from './lib/components/profile/profile.component'; export { LayoutState as ɵb } from './lib/states'; -export { LayoutState as ɵh } from './lib/states/layout.state'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWRkTmF2aWdhdGlvbkVsZW1lbnQgYXMgybVpLFJlbW92ZU5hdmlnYXRpb25FbGVtZW50QnlOYW1lIGFzIMm1an0gZnJvbSAnLi9saWIvYWN0aW9ucy9sYXlvdXQuYWN0aW9ucyc7XG5leHBvcnQge0FjY291bnRMYXlvdXRDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQge0VtcHR5TGF5b3V0Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1a30gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVofSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file +export { LayoutState as ɵf } from './lib/states/layout.state'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImFicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsc0xBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FkZE5hdmlnYXRpb25FbGVtZW50IGFzIMm1ZyxSZW1vdmVOYXZpZ2F0aW9uRWxlbWVudEJ5TmFtZSBhcyDJtWh9IGZyb20gJy4vbGliL2FjdGlvbnMvbGF5b3V0LmFjdGlvbnMnO1xuZXhwb3J0IHtBY2NvdW50TGF5b3V0Q29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbXB0eUxheW91dENvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0IHtMYXlvdXRDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCB7TGF5b3V0IGFzIMm1aX0gZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dCc7XG5leHBvcnQge0xheW91dFN0YXRlIGFzIMm1Yn0gZnJvbSAnLi9saWIvc3RhdGVzJztcbmV4cG9ydCB7TGF5b3V0U3RhdGUgYXMgybVmfSBmcm9tICcuL2xpYi9zdGF0ZXMvbGF5b3V0LnN0YXRlJzsiXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js index 5f5e94e5ff..a4c8881a38 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/account-layout/account-layout.component.js @@ -5,14 +5,13 @@ import { Component } from '@angular/core'; var AccountLayoutComponent = /** @class */ (function () { function AccountLayoutComponent() { - this.isCollapsed = false; } // required for dynamic component AccountLayoutComponent.type = "account" /* account */; AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n" }] } ]; return AccountLayoutComponent; @@ -21,7 +20,5 @@ export { AccountLayoutComponent }; if (false) { /** @type {?} */ AccountLayoutComponent.type; - /** @type {?} */ - AccountLayoutComponent.prototype.isCollapsed; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO1FBUUUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7SUFIUSwyQkFBSSwyQkFBdUI7O2dCQU5uQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsMnpCQUE4QztpQkFDL0M7O0lBTUQsNkJBQUM7Q0FBQSxBQVRELElBU0M7U0FMWSxzQkFBc0I7OztJQUVqQyw0QkFBa0M7O0lBRWxDLDZDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYWNjb3VudDtcblxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO0lBT0EsQ0FBQzs7SUFEUSwyQkFBSSwyQkFBdUI7O2dCQU5uQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsNkNBQThDO2lCQUMvQzs7SUFJRCw2QkFBQztDQUFBLEFBUEQsSUFPQztTQUhZLHNCQUFzQjs7O0lBRWpDLDRCQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYWNjb3VudDtcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js index e75005e8df..157997c5a4 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/application-layout/application-layout.component.js @@ -209,7 +209,6 @@ var ApplicationLayoutComponent = /** @class */ (function () { */ function (cultureName) { this.store.dispatch(new SetLanguage(cultureName)); - this.store.dispatch(new GetAppConfiguration()); }; /** * @return {?} @@ -320,4 +319,4 @@ function getVisibleRoutes(routes) { return tslib_1.__spread(acc, [val]); }), []); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDO0lBZ0VFLG9DQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGlCQUFZLEdBQVosWUFB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QzswQ0FDNUIsVUFBVTtvRUFBdUM7SUFHL0Q7UUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzBDQUMxQyxVQUFVO2tFQUFzQztJQUc1RDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUM7MENBQzVCLFVBQVU7b0VBQTZCO0lBK0d2RCxpQ0FBQztDQUFBLEFBaklELElBaUlDO1NBN0hZLDBCQUEwQjs7O0lBRXJDLGdDQUFzQzs7SUFFdEMsNkNBQ3FDOztJQUVyQyxrREFDK0Q7O0lBRS9ELGdEQUM0RDs7SUFFNUQsa0RBQ3FEOztJQUVyRCxvREFDaUM7O0lBRWpDLGlEQUM4Qjs7SUFFOUIseURBQzRDOztJQUU1QywwREFBc0M7O0lBRXRDLG1EQUErQjs7SUFFL0IsNERBQWdDOztJQXlCaEMsdURBQTJDOztJQUUzQywrQ0FBbUU7O0lBRW5FLHNEQUEyRTs7Ozs7SUFFL0QsMkNBQW9COzs7OztJQUFFLGtEQUFrQzs7Ozs7O0FBbUV0RSxTQUFTLGdCQUFnQixDQUFDLE1BQXVCO0lBQy9DLE9BQU8sTUFBTSxDQUFDLE1BQU07Ozs7O0lBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRztRQUM1QixJQUFJLEdBQUcsQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsd0JBQVcsR0FBRyxHQUFFLEdBQUcsR0FBRTtJQUN2QixDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQUJQLFxuICBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG4gIEdldEFwcENvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ1N0YXRlLFxuICBlTGF5b3V0VHlwZSxcbiAgU2V0TGFuZ3VhZ2UsXG4gIFNlc3Npb25TdGF0ZSxcbiAgdGFrZVVudGlsRGVzdHJveSxcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmF2aWdhdGUsIFJvdXRlclN0YXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgQWRkTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYXBwbGljYXRpb247XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JvdXRlcycpKVxuICByb3V0ZXMkOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT47XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRVc2VyJykpXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uQ3VycmVudFVzZXI+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0RGVlcCgnbG9jYWxpemF0aW9uLmxhbmd1YWdlcycpKVxuICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPjtcblxuICBAU2VsZWN0KExheW91dFN0YXRlLmdldE5hdmlnYXRpb25FbGVtZW50cylcbiAgbmF2RWxlbWVudHMkOiBPYnNlcnZhYmxlPExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdPjtcblxuICBAVmlld0NoaWxkKCdjdXJyZW50VXNlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgY3VycmVudFVzZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnbGFuZ3VhZ2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhbmd1YWdlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ25hdmJhclJvb3REcm9wZG93bicsIHsgcmVhZDogTmdiRHJvcGRvd24gfSlcbiAgbmF2YmFyUm9vdERyb3Bkb3duczogUXVlcnlMaXN0PE5nYkRyb3Bkb3duPjtcblxuICBpc09wZW5DaGFuZ2VQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzT3BlblByb2ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0Ryb3Bkb3duQ2hpbGREeW5hbWljOiBib29sZWFuO1xuXG4gIGdldCB2aXNpYmxlUm91dGVzJCgpOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlcyQucGlwZShtYXAocm91dGVzID0+IGdldFZpc2libGVSb3V0ZXMocm91dGVzKSkpO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbmQobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lID09PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpLmRpc3BsYXlOYW1lKSxcbiAgICAgICAgJycsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25MYW5ndWFnZXMkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkxhbmd1YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAobGFuZ3VhZ2VzID0+IHNucSgoKSA9PiBsYW5ndWFnZXMuZmlsdGVyKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSAhPT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKSksIFtdKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFuZ0N1bHR1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgcmlnaHRQYXJ0RWxlbWVudHM6IFRlbXBsYXRlUmVmPGFueT5bXSA9IFtdO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0ubmFtZTtcblxuICB0cmFja0VsZW1lbnRCeUZuOiBUcmFja0J5RnVuY3Rpb248QUJQLkZ1bGxSb3V0ZT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSkge31cblxuICBwcml2YXRlIGNoZWNrV2luZG93V2lkdGgoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5hdmJhclJvb3REcm9wZG93bnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA3NjgpIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25DaGlsZER5bmFtaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpO1xuXG4gICAgaWYgKG5hdmlnYXRpb25zLmluZGV4T2YoJ0xhbmd1YWdlUmVmJykgPCAwKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQWRkTmF2aWdhdGlvbkVsZW1lbnQoW1xuICAgICAgICAgIHsgZWxlbWVudDogdGhpcy5sYW5ndWFnZVJlZiwgb3JkZXI6IDQsIG5hbWU6ICdMYW5ndWFnZVJlZicgfSxcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMuY3VycmVudFVzZXJSZWYsIG9yZGVyOiA1LCBuYW1lOiAnQ3VycmVudFVzZXJSZWYnIH0sXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkVsZW1lbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50cyA9PiBlbGVtZW50cy5tYXAoKHsgZWxlbWVudCB9KSA9PiBlbGVtZW50KSksXG4gICAgICAgIGZpbHRlcihlbGVtZW50cyA9PiAhY29tcGFyZShlbGVtZW50cywgdGhpcy5yaWdodFBhcnRFbGVtZW50cykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlbGVtZW50cyA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMucmlnaHRQYXJ0RWxlbWVudHMgPSBlbGVtZW50cyksIDApO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcblxuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgIGRlYm91bmNlVGltZSgyNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tXaW5kb3dXaWR0aCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgb25DaGFuZ2VMYW5nKGN1bHR1cmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRMYW5ndWFnZShjdWx0dXJlTmFtZSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBOYXZpZ2F0ZShbJy8nXSwgbnVsbCwge1xuICAgICAgICBzdGF0ZTogeyByZWRpcmVjdFVybDogdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSkuc3RhdGUudXJsIH0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldEFwcENvbmZpZ3VyYXRpb24oKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VmlzaWJsZVJvdXRlcyhyb3V0ZXM6IEFCUC5GdWxsUm91dGVbXSkge1xuICByZXR1cm4gcm91dGVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICBpZiAodmFsLmludmlzaWJsZSkgcmV0dXJuIGFjYztcblxuICAgIGlmICh2YWwuY2hpbGRyZW4gJiYgdmFsLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgdmFsLmNoaWxkcmVuID0gZ2V0VmlzaWJsZVJvdXRlcyh2YWwuY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIHJldHVybiBbLi4uYWNjLCB2YWxdO1xuICB9LCBbXSk7XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxTQUFTLEVBRVQsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDO0lBZ0VFLG9DQUFvQixLQUFZLEVBQVUsWUFBMEI7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGlCQUFZLEdBQVosWUFB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QkFBd0IsQ0FBQyxDQUFDOzBDQUMxQyxVQUFVO2tFQUFzQztJQUc1RDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUM7MENBQzVCLFVBQVU7b0VBQTZCO0lBOEd2RCxpQ0FBQztDQUFBLEFBaElELElBZ0lDO1NBNUhZLDBCQUEwQjs7O0lBRXJDLGdDQUFzQzs7SUFFdEMsNkNBQ3FDOztJQUVyQyxrREFDK0Q7O0lBRS9ELGdEQUM0RDs7SUFFNUQsa0RBQ3FEOztJQUVyRCxvREFDaUM7O0lBRWpDLGlEQUM4Qjs7SUFFOUIseURBQzRDOztJQUU1QywwREFBc0M7O0lBRXRDLG1EQUErQjs7SUFFL0IsNERBQWdDOztJQXlCaEMsdURBQTJDOztJQUUzQywrQ0FBbUU7O0lBRW5FLHNEQUEyRTs7Ozs7SUFFL0QsMkNBQW9COzs7OztJQUFFLGtEQUFrQzs7Ozs7O0FBa0V0RSxTQUFTLGdCQUFnQixDQUFDLE1BQXVCO0lBQy9DLE9BQU8sTUFBTSxDQUFDLE1BQU07Ozs7O0lBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRztRQUM1QixJQUFJLEdBQUcsQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsd0JBQVcsR0FBRyxHQUFFLEdBQUcsR0FBRTtJQUN2QixDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQUJQLFxuICBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG4gIEdldEFwcENvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ1N0YXRlLFxuICBlTGF5b3V0VHlwZSxcbiAgU2V0TGFuZ3VhZ2UsXG4gIFNlc3Npb25TdGF0ZSxcbiAgdGFrZVVudGlsRGVzdHJveSxcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmF2aWdhdGUsIFJvdXRlclN0YXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgQWRkTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuYXBwbGljYXRpb247XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ3JvdXRlcycpKVxuICByb3V0ZXMkOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT47XG5cbiAgQFNlbGVjdChDb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRVc2VyJykpXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24uQ3VycmVudFVzZXI+O1xuXG4gIEBTZWxlY3QoQ29uZmlnU3RhdGUuZ2V0RGVlcCgnbG9jYWxpemF0aW9uLmxhbmd1YWdlcycpKVxuICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbi5MYW5ndWFnZVtdPjtcblxuICBAU2VsZWN0KExheW91dFN0YXRlLmdldE5hdmlnYXRpb25FbGVtZW50cylcbiAgbmF2RWxlbWVudHMkOiBPYnNlcnZhYmxlPExheW91dC5OYXZpZ2F0aW9uRWxlbWVudFtdPjtcblxuICBAVmlld0NoaWxkKCdjdXJyZW50VXNlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgY3VycmVudFVzZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnbGFuZ3VhZ2UnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhbmd1YWdlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ25hdmJhclJvb3REcm9wZG93bicsIHsgcmVhZDogTmdiRHJvcGRvd24gfSlcbiAgbmF2YmFyUm9vdERyb3Bkb3duczogUXVlcnlMaXN0PE5nYkRyb3Bkb3duPjtcblxuICBpc09wZW5DaGFuZ2VQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzT3BlblByb2ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0Ryb3Bkb3duQ2hpbGREeW5hbWljOiBib29sZWFuO1xuXG4gIGdldCB2aXNpYmxlUm91dGVzJCgpOiBPYnNlcnZhYmxlPEFCUC5GdWxsUm91dGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlcyQucGlwZShtYXAocm91dGVzID0+IGdldFZpc2libGVSb3V0ZXMocm91dGVzKSkpO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIGxhbmd1YWdlcyA9PiBzbnEoKCkgPT4gbGFuZ3VhZ2VzLmZpbmQobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lID09PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpLmRpc3BsYXlOYW1lKSxcbiAgICAgICAgJycsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25MYW5ndWFnZXMkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uLkxhbmd1YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAobGFuZ3VhZ2VzID0+IHNucSgoKSA9PiBsYW5ndWFnZXMuZmlsdGVyKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSAhPT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKSksIFtdKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFuZ0N1bHR1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgcmlnaHRQYXJ0RWxlbWVudHM6IFRlbXBsYXRlUmVmPGFueT5bXSA9IFtdO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFCUC5GdWxsUm91dGU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0ubmFtZTtcblxuICB0cmFja0VsZW1lbnRCeUZuOiBUcmFja0J5RnVuY3Rpb248QUJQLkZ1bGxSb3V0ZT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSkge31cblxuICBwcml2YXRlIGNoZWNrV2luZG93V2lkdGgoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5hdmJhclJvb3REcm9wZG93bnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA3NjgpIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duQ2hpbGREeW5hbWljID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25DaGlsZER5bmFtaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChMYXlvdXRTdGF0ZS5nZXROYXZpZ2F0aW9uRWxlbWVudHMpLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpO1xuXG4gICAgaWYgKG5hdmlnYXRpb25zLmluZGV4T2YoJ0xhbmd1YWdlUmVmJykgPCAwKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQWRkTmF2aWdhdGlvbkVsZW1lbnQoW1xuICAgICAgICAgIHsgZWxlbWVudDogdGhpcy5sYW5ndWFnZVJlZiwgb3JkZXI6IDQsIG5hbWU6ICdMYW5ndWFnZVJlZicgfSxcbiAgICAgICAgICB7IGVsZW1lbnQ6IHRoaXMuY3VycmVudFVzZXJSZWYsIG9yZGVyOiA1LCBuYW1lOiAnQ3VycmVudFVzZXJSZWYnIH0sXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkVsZW1lbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50cyA9PiBlbGVtZW50cy5tYXAoKHsgZWxlbWVudCB9KSA9PiBlbGVtZW50KSksXG4gICAgICAgIGZpbHRlcihlbGVtZW50cyA9PiAhY29tcGFyZShlbGVtZW50cywgdGhpcy5yaWdodFBhcnRFbGVtZW50cykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlbGVtZW50cyA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMucmlnaHRQYXJ0RWxlbWVudHMgPSBlbGVtZW50cyksIDApO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoZWNrV2luZG93V2lkdGgoKTtcblxuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICAgIGRlYm91bmNlVGltZSgyNTApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tXaW5kb3dXaWR0aCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgb25DaGFuZ2VMYW5nKGN1bHR1cmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRMYW5ndWFnZShjdWx0dXJlTmFtZSkpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvJ10sIG51bGwsIHtcbiAgICAgICAgc3RhdGU6IHsgcmVkaXJlY3RVcmw6IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpLnN0YXRlLnVybCB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBHZXRBcHBDb25maWd1cmF0aW9uKCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZpc2libGVSb3V0ZXMocm91dGVzOiBBQlAuRnVsbFJvdXRlW10pIHtcbiAgcmV0dXJuIHJvdXRlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgaWYgKHZhbC5pbnZpc2libGUpIHJldHVybiBhY2M7XG5cbiAgICBpZiAodmFsLmNoaWxkcmVuICYmIHZhbC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHZhbC5jaGlsZHJlbiA9IGdldFZpc2libGVSb3V0ZXModmFsLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmFjYywgdmFsXTtcbiAgfSwgW10pO1xufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js index e565e8450d..b3473ddc90 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/components/empty-layout/empty-layout.component.js @@ -6,7 +6,6 @@ import { Component } from '@angular/core'; var EmptyLayoutComponent = /** @class */ (function () { function EmptyLayoutComponent() { } - // required for dynamic component EmptyLayoutComponent.type = "empty" /* empty */; EmptyLayoutComponent.decorators = [ { type: Component, args: [{ @@ -21,4 +20,4 @@ if (false) { /** @type {?} */ EmptyLayoutComponent.type; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO0lBVUEsQ0FBQzs7SUFEUSx5QkFBSSx1QkFBcUI7O2dCQVRqQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLDZEQUdUO2lCQUNGOztJQUlELDJCQUFDO0NBQUEsQUFWRCxJQVVDO1NBSFksb0JBQW9COzs7SUFFL0IsMEJBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIExheW91dC1lbXB0eVxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlMYXlvdXRDb21wb25lbnQge1xuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5lbXB0eTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQztJQUFBO0lBU0EsQ0FBQztJQURRLHlCQUFJLHVCQUFxQjs7Z0JBUmpDLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsNkRBR1Q7aUJBQ0Y7O0lBR0QsMkJBQUM7Q0FBQSxBQVRELElBU0M7U0FGWSxvQkFBb0I7OztJQUMvQiwwQkFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1lbXB0eScsXG4gIHRlbXBsYXRlOiBgXG4gICAgTGF5b3V0LWVtcHR5XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBFbXB0eUxheW91dENvbXBvbmVudCB7XG4gIHN0YXRpYyB0eXBlID0gZUxheW91dFR5cGUuZW1wdHk7XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js deleted file mode 100644 index cecd37fd0d..0000000000 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/profile/profile.component.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import * as tslib_1 from "tslib"; -import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { FormBuilder, Validators } from '@angular/forms'; -import { Select, Store } from '@ngxs/store'; -import { Observable } from 'rxjs'; -import { take, withLatestFrom } from 'rxjs/operators'; -var maxLength = Validators.maxLength, required = Validators.required, email = Validators.email; -var ProfileComponent = /** @class */ (function () { - function ProfileComponent(fb, store) { - this.fb = fb; - this.store = store; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - Object.defineProperty(ProfileComponent.prototype, "visible", { - get: /** - * @return {?} - */ - function () { - return this._visible; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._visible = value; - this.visibleChange.emit(value); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ProfileComponent.prototype.buildForm = /** - * @return {?} - */ - function () { - var _this = this; - this.store - .dispatch(new GetProfile()) - .pipe(withLatestFrom(this.profile$), take(1)) - .subscribe((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = tslib_1.__read(_a, 2), profile = _b[1]; - _this.form = _this.fb.group({ - userName: [profile.userName, [required, maxLength(256)]], - email: [profile.email, [required, email, maxLength(256)]], - name: [profile.name || '', [maxLength(64)]], - surname: [profile.surname || '', [maxLength(64)]], - phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], - }); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.onSubmit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.form.invalid) - return; - this.modalBusy = true; - this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** - * @return {?} - */ - function () { - _this.modalBusy = false; - _this.visible = false; - _this.form.reset(); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.buildForm(); - this.visible = true; - }; - /** - * @param {?} __0 - * @return {?} - */ - ProfileComponent.prototype.ngOnChanges = /** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var visible = _a.visible; - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - }; - ProfileComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } - ]; - /** @nocollapse */ - ProfileComponent.ctorParameters = function () { return [ - { type: FormBuilder }, - { type: Store } - ]; }; - ProfileComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }] - }; - tslib_1.__decorate([ - Select(ProfileState.getProfile), - tslib_1.__metadata("design:type", Observable) - ], ProfileComponent.prototype, "profile$", void 0); - return ProfileComponent; -}()); -export { ProfileComponent }; -if (false) { - /** - * @type {?} - * @protected - */ - ProfileComponent.prototype._visible; - /** @type {?} */ - ProfileComponent.prototype.visibleChange; - /** @type {?} */ - ProfileComponent.prototype.profile$; - /** @type {?} */ - ProfileComponent.prototype.form; - /** @type {?} */ - ProfileComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.store; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLmJhc2ljLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBVyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxJQUFBLGdDQUFTLEVBQUUsOEJBQVEsRUFBRSx3QkFBSztBQUVsQztJQTJCRSwwQkFBb0IsRUFBZSxFQUFVLEtBQVk7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFUekQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFaUMsQ0FBQztJQXBCN0Qsc0JBQ0kscUNBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDOzs7T0FMQTs7OztJQW1CRCxv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dGVudCI6WyJpbXBvcnQgeyBQcm9maWxlLCBHZXRQcm9maWxlLCBQcm9maWxlU3RhdGUsIFVwZGF0ZVByb2ZpbGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgeyBtYXhMZW5ndGgsIHJlcXVpcmVkLCBlbWFpbCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXByb2ZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAU2VsZWN0KFByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxQcm9maWxlLlJlc3BvbnNlPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2gobmV3IEdldFByb2ZpbGUoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnByb2ZpbGUkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFssIHByb2ZpbGVdKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIHVzZXJOYW1lOiBbcHJvZmlsZS51c2VyTmFtZSwgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIGVtYWlsOiBbcHJvZmlsZS5lbWFpbCwgW3JlcXVpcmVkLCBlbWFpbCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBuYW1lOiBbcHJvZmlsZS5uYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHN1cm5hbWU6IFtwcm9maWxlLnN1cm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgcGhvbmVOdW1iZXI6IFtwcm9maWxlLnBob25lTnVtYmVyIHx8ICcnLCBbbWF4TGVuZ3RoKDE2KV1dLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js b/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js index 8e5391010d..f378add9db 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js +++ b/npm/ng-packs/dist/theme-basic/esm5/lib/theme-basic.module.js @@ -4,18 +4,16 @@ */ import * as tslib_1 from "tslib"; import { CoreModule } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { ChangePasswordComponent } from './components/change-password/change-password.component'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { NgxsModule } from '@ngxs/store'; +import { ToastModule } from 'primeng/toast'; import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; import { LayoutComponent } from './components/layout/layout.component'; -import { ProfileComponent } from './components/profile/profile.component'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { ToastModule } from 'primeng/toast'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; -import { NgxsModule } from '@ngxs/store'; import { LayoutState } from './states/layout.state'; /** @type {?} */ export var LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; @@ -24,7 +22,7 @@ var ThemeBasicModule = /** @class */ (function () { } ThemeBasicModule.decorators = [ { type: NgModule, args: [{ - declarations: tslib_1.__spread(LAYOUTS, [LayoutComponent, ChangePasswordComponent, ProfileComponent]), + declarations: tslib_1.__spread(LAYOUTS, [LayoutComponent]), imports: [ CoreModule, ThemeSharedModule, @@ -41,4 +39,4 @@ var ThemeBasicModule = /** @class */ (function () { return ThemeBasicModule; }()); export { ThemeBasicModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXBELE1BQU0sS0FBTyxPQUFPLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztBQUVqRztJQUFBO0lBYytCLENBQUM7O2dCQWQvQixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxtQkFBTSxPQUFPLEdBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDO29CQUN0RixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNyQztvQkFDRCxPQUFPLG1CQUFNLE9BQU8sQ0FBQztvQkFDckIsZUFBZSxtQkFBTSxPQUFPLENBQUM7aUJBQzlCOztJQUM4Qix1QkFBQztDQUFBLEFBZGhDLElBY2dDO1NBQW5CLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkNvbGxhcHNlTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjY291bnRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvYWNjb3VudC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FwcGxpY2F0aW9uLWxheW91dC9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LWxheW91dC9lbXB0eS1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMYXlvdXRTdGF0ZSB9IGZyb20gJy4vc3RhdGVzL2xheW91dC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBMQVlPVVRTID0gW0FwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50LCBBY2NvdW50TGF5b3V0Q29tcG9uZW50LCBFbXB0eUxheW91dENvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkxBWU9VVFMsIExheW91dENvbXBvbmVudCwgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQsIFByb2ZpbGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXG4gICAgTmd4c01vZHVsZS5mb3JGZWF0dXJlKFtMYXlvdXRTdGF0ZV0pLFxuICBdLFxuICBleHBvcnRzOiBbLi4uTEFZT1VUU10sXG4gIGVudHJ5Q29tcG9uZW50czogWy4uLkxBWU9VVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUJhc2ljTW9kdWxlIHt9XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5iYXNpYy8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXBELE1BQU0sS0FBTyxPQUFPLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztBQUVqRztJQUFBO0lBYytCLENBQUM7O2dCQWQvQixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxtQkFBTSxPQUFPLEdBQUUsZUFBZSxFQUFDO29CQUMzQyxPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNyQztvQkFDRCxPQUFPLG1CQUFNLE9BQU8sQ0FBQztvQkFDckIsZUFBZSxtQkFBTSxPQUFPLENBQUM7aUJBQzlCOztJQUM4Qix1QkFBQztDQUFBLEFBZGhDLElBY2dDO1NBQW5CLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUsIE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgQWNjb3VudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFN0YXRlIH0gZnJvbSAnLi9zdGF0ZXMvbGF5b3V0LnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IExBWU9VVFMgPSBbQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQsIEFjY291bnRMYXlvdXRDb21wb25lbnQsIEVtcHR5TGF5b3V0Q29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uTEFZT1VUUywgTGF5b3V0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvcmVNb2R1bGUsXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXG4gICAgTmdiQ29sbGFwc2VNb2R1bGUsXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxuICAgIE5neHNNb2R1bGUuZm9yRmVhdHVyZShbTGF5b3V0U3RhdGVdKSxcbiAgXSxcbiAgZXhwb3J0czogWy4uLkxBWU9VVFNdLFxuICBlbnRyeUNvbXBvbmVudHM6IFsuLi5MQVlPVVRTXSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVCYXNpY01vZHVsZSB7fVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js index d60f25a6cd..95c06f77b4 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js @@ -1,194 +1,35 @@ -import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; -import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; +import { SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, CoreModule } from '@abp/ng.core'; +import { slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { Component, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Validators, FormBuilder } from '@angular/forms'; -import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; -import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; -import snq from 'snq'; -import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; +import { ToastModule } from 'primeng/toast'; import { __decorate, __metadata } from 'tslib'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { ToastModule } from 'primeng/toast'; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -const { minLength, required } = Validators; -class ChangePasswordComponent { - /** - * @param {?} fb - * @param {?} store - * @param {?} toasterService - */ - constructor(fb, store, toasterService) { - this.fb = fb; - this.store = store; - this.toasterService = toasterService; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - /** - * @return {?} - */ - get visible() { - return this._visible; - } - /** - * @param {?} value - * @return {?} - */ - set visible(value) { - this._visible = value; - this.visibleChange.emit(value); - } - /** - * @return {?} - */ - ngOnInit() { - this.form = this.fb.group({ - password: ['', required], - newPassword: ['', required], - repeatNewPassword: ['', required], - }, { - validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], - }); - } - /** - * @return {?} - */ - onSubmit() { - if (this.form.invalid) - return; - this.modalBusy = true; - this.store - .dispatch(new ChangePassword({ - currentPassword: this.form.get('password').value, - newPassword: this.form.get('newPassword').value, - })) - .pipe(finalize((/** - * @return {?} - */ - () => { - this.modalBusy = false; - }))) - .subscribe({ - next: (/** - * @return {?} - */ - () => { - this.visible = false; - this.form.reset(); - }), - error: (/** - * @param {?} err - * @return {?} - */ - err => { - this.toasterService.error(snq((/** - * @return {?} - */ - () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { - life: 7000, - }); - }), - }); - } - /** - * @return {?} - */ - openModal() { - this.visible = true; - } - /** - * @param {?} __0 - * @return {?} - */ - ngOnChanges({ visible }) { - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - } -} -ChangePasswordComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } -]; -/** @nocollapse */ -ChangePasswordComponent.ctorParameters = () => [ - { type: FormBuilder }, - { type: Store }, - { type: ToasterService } -]; -ChangePasswordComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }], - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] -}; -if (false) { - /** - * @type {?} - * @protected - */ - ChangePasswordComponent.prototype._visible; - /** @type {?} */ - ChangePasswordComponent.prototype.visibleChange; - /** @type {?} */ - ChangePasswordComponent.prototype.modalContent; - /** @type {?} */ - ChangePasswordComponent.prototype.form; - /** @type {?} */ - ChangePasswordComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.store; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.toasterService; -} +import { map, filter, debounceTime } from 'rxjs/operators'; +import snq from 'snq'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class AccountLayoutComponent { - constructor() { - this.isCollapsed = false; - } } // required for dynamic component AccountLayoutComponent.type = "account" /* account */; AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n" }] } ]; if (false) { /** @type {?} */ AccountLayoutComponent.type; - /** @type {?} */ - AccountLayoutComponent.prototype.isCollapsed; } /** @@ -498,7 +339,6 @@ class ApplicationLayoutComponent { */ onChangeLang(cultureName) { this.store.dispatch(new SetLanguage(cultureName)); - this.store.dispatch(new GetAppConfiguration()); } /** * @return {?} @@ -611,7 +451,6 @@ function getVisibleRoutes(routes) { */ class EmptyLayoutComponent { } -// required for dynamic component EmptyLayoutComponent.type = "empty" /* empty */; EmptyLayoutComponent.decorators = [ { type: Component, args: [{ @@ -667,140 +506,6 @@ if (false) { LayoutComponent.prototype.store; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -const { maxLength, required: required$1, email } = Validators; -class ProfileComponent { - /** - * @param {?} fb - * @param {?} store - */ - constructor(fb, store) { - this.fb = fb; - this.store = store; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - /** - * @return {?} - */ - get visible() { - return this._visible; - } - /** - * @param {?} value - * @return {?} - */ - set visible(value) { - this._visible = value; - this.visibleChange.emit(value); - } - /** - * @return {?} - */ - buildForm() { - this.store - .dispatch(new GetProfile()) - .pipe(withLatestFrom(this.profile$), take(1)) - .subscribe((/** - * @param {?} __0 - * @return {?} - */ - ([, profile]) => { - this.form = this.fb.group({ - userName: [profile.userName, [required$1, maxLength(256)]], - email: [profile.email, [required$1, email, maxLength(256)]], - name: [profile.name || '', [maxLength(64)]], - surname: [profile.surname || '', [maxLength(64)]], - phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], - }); - })); - } - /** - * @return {?} - */ - onSubmit() { - if (this.form.invalid) - return; - this.modalBusy = true; - this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** - * @return {?} - */ - () => { - this.modalBusy = false; - this.visible = false; - this.form.reset(); - })); - } - /** - * @return {?} - */ - openModal() { - this.buildForm(); - this.visible = true; - } - /** - * @param {?} __0 - * @return {?} - */ - ngOnChanges({ visible }) { - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - } -} -ProfileComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } -]; -/** @nocollapse */ -ProfileComponent.ctorParameters = () => [ - { type: FormBuilder }, - { type: Store } -]; -ProfileComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }] -}; -__decorate([ - Select(ProfileState.getProfile), - __metadata("design:type", Observable) -], ProfileComponent.prototype, "profile$", void 0); -if (false) { - /** - * @type {?} - * @protected - */ - ProfileComponent.prototype._visible; - /** @type {?} */ - ProfileComponent.prototype.visibleChange; - /** @type {?} */ - ProfileComponent.prototype.profile$; - /** @type {?} */ - ProfileComponent.prototype.form; - /** @type {?} */ - ProfileComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -811,7 +516,7 @@ class ThemeBasicModule { } ThemeBasicModule.decorators = [ { type: NgModule, args: [{ - declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent], + declarations: [...LAYOUTS, LayoutComponent], imports: [ CoreModule, ThemeSharedModule, @@ -876,5 +581,5 @@ var Layout; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; +export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, LayoutState as ɵf, AddNavigationElement as ɵg, RemoveNavigationElementByName as ɵh }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map index 5a601ca57a..5d44457e7c 100644 --- a/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm2015/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { ToastModule } from 'primeng/toast';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js index 8195942547..7e3bed552d 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js @@ -1,186 +1,17 @@ -import { __spread, __assign, __decorate, __metadata, __read } from 'tslib'; -import { ChangePassword, SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, GetProfile, UpdateProfile, ProfileState, CoreModule } from '@abp/ng.core'; -import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; +import { __spread, __assign, __decorate, __metadata } from 'tslib'; +import { SessionState, takeUntilDestroy, SetLanguage, GetAppConfiguration, ConfigState, CoreModule } from '@abp/ng.core'; +import { slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; +import { Component, ViewChild, TemplateRef, ViewChildren, NgModule } from '@angular/core'; import { NgbDropdown, NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; -import { ToasterService, slideFromBottom, ThemeSharedModule } from '@abp/ng.theme.shared'; -import { Validators, FormBuilder } from '@angular/forms'; -import { comparePasswords, NgxValidateCoreModule } from '@ngx-validate/core'; -import { Store, Action, Selector, State, Select, NgxsModule } from '@ngxs/store'; -import snq from 'snq'; -import { finalize, map, filter, debounceTime, withLatestFrom, take } from 'rxjs/operators'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; +import { ToastModule } from 'primeng/toast'; import { Navigate, RouterState } from '@ngxs/router-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import compare from 'just-compare'; import { fromEvent, Observable } from 'rxjs'; -import { ToastModule } from 'primeng/toast'; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -var minLength = Validators.minLength, required = Validators.required; -var ChangePasswordComponent = /** @class */ (function () { - function ChangePasswordComponent(fb, store, toasterService) { - this.fb = fb; - this.store = store; - this.toasterService = toasterService; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - Object.defineProperty(ChangePasswordComponent.prototype, "visible", { - get: /** - * @return {?} - */ - function () { - return this._visible; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._visible = value; - this.visibleChange.emit(value); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ChangePasswordComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.form = this.fb.group({ - password: ['', required], - newPassword: ['', required], - repeatNewPassword: ['', required], - }, { - validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], - }); - }; - /** - * @return {?} - */ - ChangePasswordComponent.prototype.onSubmit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.form.invalid) - return; - this.modalBusy = true; - this.store - .dispatch(new ChangePassword({ - currentPassword: this.form.get('password').value, - newPassword: this.form.get('newPassword').value, - })) - .pipe(finalize((/** - * @return {?} - */ - function () { - _this.modalBusy = false; - }))) - .subscribe({ - next: (/** - * @return {?} - */ - function () { - _this.visible = false; - _this.form.reset(); - }), - error: (/** - * @param {?} err - * @return {?} - */ - function (err) { - _this.toasterService.error(snq((/** - * @return {?} - */ - function () { return err.error.error.message; }), 'AbpAccount::DefaultErrorMessage'), 'Error', { - life: 7000, - }); - }), - }); - }; - /** - * @return {?} - */ - ChangePasswordComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.visible = true; - }; - /** - * @param {?} __0 - * @return {?} - */ - ChangePasswordComponent.prototype.ngOnChanges = /** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var visible = _a.visible; - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - }; - ChangePasswordComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-change-password', - template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } - ]; - /** @nocollapse */ - ChangePasswordComponent.ctorParameters = function () { return [ - { type: FormBuilder }, - { type: Store }, - { type: ToasterService } - ]; }; - ChangePasswordComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }], - modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] - }; - return ChangePasswordComponent; -}()); -if (false) { - /** - * @type {?} - * @protected - */ - ChangePasswordComponent.prototype._visible; - /** @type {?} */ - ChangePasswordComponent.prototype.visibleChange; - /** @type {?} */ - ChangePasswordComponent.prototype.modalContent; - /** @type {?} */ - ChangePasswordComponent.prototype.form; - /** @type {?} */ - ChangePasswordComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.store; - /** - * @type {?} - * @private - */ - ChangePasswordComponent.prototype.toasterService; -} +import { map, filter, debounceTime } from 'rxjs/operators'; +import snq from 'snq'; /** * @fileoverview added by tsickle @@ -188,14 +19,13 @@ if (false) { */ var AccountLayoutComponent = /** @class */ (function () { function AccountLayoutComponent() { - this.isCollapsed = false; } // required for dynamic component AccountLayoutComponent.type = "account" /* account */; AccountLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'abp-layout-account', - template: "\n \n\n \n \n \n \n \n\n" + template: "\n" }] } ]; return AccountLayoutComponent; @@ -203,8 +33,6 @@ var AccountLayoutComponent = /** @class */ (function () { if (false) { /** @type {?} */ AccountLayoutComponent.type; - /** @type {?} */ - AccountLayoutComponent.prototype.isCollapsed; } /** @@ -572,7 +400,6 @@ var ApplicationLayoutComponent = /** @class */ (function () { */ function (cultureName) { this.store.dispatch(new SetLanguage(cultureName)); - this.store.dispatch(new GetAppConfiguration()); }; /** * @return {?} @@ -690,7 +517,6 @@ function getVisibleRoutes(routes) { var EmptyLayoutComponent = /** @class */ (function () { function EmptyLayoutComponent() { } - // required for dynamic component EmptyLayoutComponent.type = "empty" /* empty */; EmptyLayoutComponent.decorators = [ { type: Component, args: [{ @@ -747,158 +573,6 @@ if (false) { LayoutComponent.prototype.store; } -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -var maxLength = Validators.maxLength, required$1 = Validators.required, email = Validators.email; -var ProfileComponent = /** @class */ (function () { - function ProfileComponent(fb, store) { - this.fb = fb; - this.store = store; - this.visibleChange = new EventEmitter(); - this.modalBusy = false; - } - Object.defineProperty(ProfileComponent.prototype, "visible", { - get: /** - * @return {?} - */ - function () { - return this._visible; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._visible = value; - this.visibleChange.emit(value); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ProfileComponent.prototype.buildForm = /** - * @return {?} - */ - function () { - var _this = this; - this.store - .dispatch(new GetProfile()) - .pipe(withLatestFrom(this.profile$), take(1)) - .subscribe((/** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var _b = __read(_a, 2), profile = _b[1]; - _this.form = _this.fb.group({ - userName: [profile.userName, [required$1, maxLength(256)]], - email: [profile.email, [required$1, email, maxLength(256)]], - name: [profile.name || '', [maxLength(64)]], - surname: [profile.surname || '', [maxLength(64)]], - phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], - }); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.onSubmit = /** - * @return {?} - */ - function () { - var _this = this; - if (this.form.invalid) - return; - this.modalBusy = true; - this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** - * @return {?} - */ - function () { - _this.modalBusy = false; - _this.visible = false; - _this.form.reset(); - })); - }; - /** - * @return {?} - */ - ProfileComponent.prototype.openModal = /** - * @return {?} - */ - function () { - this.buildForm(); - this.visible = true; - }; - /** - * @param {?} __0 - * @return {?} - */ - ProfileComponent.prototype.ngOnChanges = /** - * @param {?} __0 - * @return {?} - */ - function (_a) { - var visible = _a.visible; - if (!visible) - return; - if (visible.currentValue) { - this.openModal(); - } - else if (visible.currentValue === false && this.visible) { - this.visible = false; - } - }; - ProfileComponent.decorators = [ - { type: Component, args: [{ - selector: 'abp-profile', - template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" - }] } - ]; - /** @nocollapse */ - ProfileComponent.ctorParameters = function () { return [ - { type: FormBuilder }, - { type: Store } - ]; }; - ProfileComponent.propDecorators = { - visible: [{ type: Input }], - visibleChange: [{ type: Output }] - }; - __decorate([ - Select(ProfileState.getProfile), - __metadata("design:type", Observable) - ], ProfileComponent.prototype, "profile$", void 0); - return ProfileComponent; -}()); -if (false) { - /** - * @type {?} - * @protected - */ - ProfileComponent.prototype._visible; - /** @type {?} */ - ProfileComponent.prototype.visibleChange; - /** @type {?} */ - ProfileComponent.prototype.profile$; - /** @type {?} */ - ProfileComponent.prototype.form; - /** @type {?} */ - ProfileComponent.prototype.modalBusy; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.fb; - /** - * @type {?} - * @private - */ - ProfileComponent.prototype.store; -} - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -910,7 +584,7 @@ var ThemeBasicModule = /** @class */ (function () { } ThemeBasicModule.decorators = [ { type: NgModule, args: [{ - declarations: __spread(LAYOUTS, [LayoutComponent, ChangePasswordComponent, ProfileComponent]), + declarations: __spread(LAYOUTS, [LayoutComponent]), imports: [ CoreModule, ThemeSharedModule, @@ -977,5 +651,5 @@ var Layout; * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, ChangePasswordComponent as ɵf, ProfileComponent as ɵg, LayoutState as ɵh, AddNavigationElement as ɵi, RemoveNavigationElementByName as ɵj }; +export { AccountLayoutComponent, AddNavigationElement, ApplicationLayoutComponent, EmptyLayoutComponent, LAYOUTS, LayoutState, RemoveNavigationElementByName, ThemeBasicModule, ApplicationLayoutComponent as ɵa, LayoutState as ɵb, AccountLayoutComponent as ɵc, EmptyLayoutComponent as ɵd, LayoutComponent as ɵe, LayoutState as ɵf, AddNavigationElement as ɵg, RemoveNavigationElementByName as ɵh }; //# sourceMappingURL=abp-ng.theme.basic.js.map diff --git a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map index 034c40ece8..8a1ffbbd31 100644 --- a/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map +++ b/npm/ng-packs/dist/theme-basic/fesm5/abp-ng.theme.basic.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { ChangePassword } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n\n isCollapsed: boolean = false;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n this.store.dispatch(new GetAppConfiguration());\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ToastModule } from 'primeng/toast';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent, ChangePasswordComponent, ProfileComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate","required"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.basic.js","sources":["ng://@abp/ng.theme.basic/lib/components/account-layout/account-layout.component.ts","ng://@abp/ng.theme.basic/lib/actions/layout.actions.ts","ng://@abp/ng.theme.basic/lib/states/layout.state.ts","ng://@abp/ng.theme.basic/lib/components/application-layout/application-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/empty-layout/empty-layout.component.ts","ng://@abp/ng.theme.basic/lib/components/layout/layout.component.ts","ng://@abp/ng.theme.basic/lib/theme-basic.module.ts","ng://@abp/ng.theme.basic/lib/models/layout.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n})\nexport class AccountLayoutComponent {\n // required for dynamic component\n static type = eLayoutType.account;\n}\n","import { Layout } from '../models/layout';\n\nexport class AddNavigationElement {\n static readonly type = '[Layout] Add Navigation Element';\n constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}\n}\n\nexport class RemoveNavigationElementByName {\n static readonly type = '[Layout] Remove Navigation ElementByName';\n constructor(public name: string) {}\n}\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\nimport { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions';\nimport { Layout } from '../models/layout';\nimport { TemplateRef } from '@angular/core';\nimport snq from 'snq';\n\n@State({\n name: 'LayoutState',\n defaults: { navigationElements: [] } as Layout.State,\n})\nexport class LayoutState {\n @Selector()\n static getNavigationElements({ navigationElements }: Layout.State): Layout.NavigationElement[] {\n return navigationElements;\n }\n\n @Action(AddNavigationElement)\n layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) {\n let { navigationElements } = getState();\n\n if (!Array.isArray(payload)) {\n payload = [payload];\n }\n\n if (navigationElements.length) {\n payload = snq(\n () =>\n (payload as Layout.NavigationElement[]).filter(\n ({ name }) => navigationElements.findIndex(nav => nav.name === name) < 0,\n ),\n [],\n );\n }\n\n if (!payload.length) return;\n\n navigationElements = [...navigationElements, ...payload]\n .map(element => ({ ...element, order: element.order || 99 }))\n .sort((a, b) => a.order - b.order);\n\n return patchState({\n navigationElements,\n });\n }\n\n @Action(RemoveNavigationElementByName)\n layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) {\n let { navigationElements } = getState();\n\n const index = navigationElements.findIndex(element => element.name === name);\n\n if (index > -1) {\n navigationElements = navigationElements.splice(index, 1);\n }\n\n return patchState({\n navigationElements,\n });\n }\n}\n","import {\n ABP,\n ApplicationConfiguration,\n GetAppConfiguration,\n ConfigState,\n eLayoutType,\n SetLanguage,\n SessionState,\n takeUntilDestroy,\n} from '@abp/ng.core';\nimport {\n AfterViewInit,\n Component,\n OnDestroy,\n QueryList,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { Navigate, RouterState } from '@ngxs/router-plugin';\nimport { Select, Store } from '@ngxs/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { fromEvent, Observable } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { AddNavigationElement } from '../../actions';\nimport { Layout } from '../../models/layout';\nimport { LayoutState } from '../../states';\n\n@Component({\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n})\nexport class ApplicationLayoutComponent implements AfterViewInit, OnDestroy {\n // required for dynamic component\n static type = eLayoutType.application;\n\n @Select(ConfigState.getOne('routes'))\n routes$: Observable;\n\n @Select(ConfigState.getOne('currentUser'))\n currentUser$: Observable;\n\n @Select(ConfigState.getDeep('localization.languages'))\n languages$: Observable;\n\n @Select(LayoutState.getNavigationElements)\n navElements$: Observable;\n\n @ViewChild('currentUser', { static: false, read: TemplateRef })\n currentUserRef: TemplateRef;\n\n @ViewChild('language', { static: false, read: TemplateRef })\n languageRef: TemplateRef;\n\n @ViewChildren('navbarRootDropdown', { read: NgbDropdown })\n navbarRootDropdowns: QueryList;\n\n isOpenChangePassword: boolean = false;\n\n isOpenProfile: boolean = false;\n\n isDropdownChildDynamic: boolean;\n\n get visibleRoutes$(): Observable {\n return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));\n }\n\n get defaultLanguage$(): Observable {\n return this.languages$.pipe(\n map(\n languages => snq(() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName),\n '',\n ),\n );\n }\n\n get dropdownLanguages$(): Observable {\n return this.languages$.pipe(\n map(languages => snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)), []),\n );\n }\n\n get selectedLangCulture(): string {\n return this.store.selectSnapshot(SessionState.getLanguage);\n }\n\n rightPartElements: TemplateRef[] = [];\n\n trackByFn: TrackByFunction = (_, item) => item.name;\n\n trackElementByFn: TrackByFunction = (_, element) => element;\n\n constructor(private store: Store, private oauthService: OAuthService) {}\n\n private checkWindowWidth() {\n setTimeout(() => {\n this.navbarRootDropdowns.forEach(item => {\n item.close();\n });\n if (window.innerWidth < 768) {\n this.isDropdownChildDynamic = false;\n } else {\n this.isDropdownChildDynamic = true;\n }\n }, 0);\n }\n\n ngAfterViewInit() {\n const navigations = this.store.selectSnapshot(LayoutState.getNavigationElements).map(({ name }) => name);\n\n if (navigations.indexOf('LanguageRef') < 0) {\n this.store.dispatch(\n new AddNavigationElement([\n { element: this.languageRef, order: 4, name: 'LanguageRef' },\n { element: this.currentUserRef, order: 5, name: 'CurrentUserRef' },\n ]),\n );\n }\n\n this.navElements$\n .pipe(\n map(elements => elements.map(({ element }) => element)),\n filter(elements => !compare(elements, this.rightPartElements)),\n takeUntilDestroy(this),\n )\n .subscribe(elements => {\n setTimeout(() => (this.rightPartElements = elements), 0);\n });\n\n this.checkWindowWidth();\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroy(this),\n debounceTime(250),\n )\n .subscribe(() => {\n this.checkWindowWidth();\n });\n }\n\n ngOnDestroy() {}\n\n onChangeLang(cultureName: string) {\n this.store.dispatch(new SetLanguage(cultureName));\n }\n\n logout() {\n this.oauthService.logOut();\n this.store.dispatch(\n new Navigate(['/'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n this.store.dispatch(new GetAppConfiguration());\n }\n}\n\nfunction getVisibleRoutes(routes: ABP.FullRoute[]) {\n return routes.reduce((acc, val) => {\n if (val.invisible) return acc;\n\n if (val.children && val.children.length) {\n val.children = getVisibleRoutes(val.children);\n }\n\n return [...acc, val];\n }, []);\n}\n","import { Component } from '@angular/core';\nimport { eLayoutType } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-layout-empty',\n template: `\n Layout-empty\n \n `,\n})\nexport class EmptyLayoutComponent {\n static type = eLayoutType.empty;\n}\n","import { Config, ConfigState } from '@abp/ng.core';\nimport { slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component } from '@angular/core';\nimport { Store } from '@ngxs/store';\n\n@Component({\n selector: ' abp-layout',\n templateUrl: './layout.component.html',\n animations: [slideFromBottom],\n})\nexport class LayoutComponent {\n isCollapsed: boolean = true;\n\n get appInfo(): Config.Application {\n return this.store.selectSnapshot(ConfigState.getApplicationInfo);\n }\n\n constructor(private store: Store) {}\n}\n","import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgModule } from '@angular/core';\nimport { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { ToastModule } from 'primeng/toast';\nimport { AccountLayoutComponent } from './components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from './components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component';\nimport { LayoutComponent } from './components/layout/layout.component';\nimport { LayoutState } from './states/layout.state';\n\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\n\n@NgModule({\n declarations: [...LAYOUTS, LayoutComponent],\n imports: [\n CoreModule,\n ThemeSharedModule,\n NgbCollapseModule,\n NgbDropdownModule,\n ToastModule,\n NgxValidateCoreModule,\n NgxsModule.forFeature([LayoutState]),\n ],\n exports: [...LAYOUTS],\n entryComponents: [...LAYOUTS],\n})\nexport class ThemeBasicModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport namespace Layout {\n export interface State {\n navigationElements: NavigationElement[];\n }\n\n export interface NavigationElement {\n name: string;\n element: TemplateRef;\n order?: number;\n }\n}\n"],"names":["tslib_1.__spread","tslib_1.__decorate"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts b/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts index 00d0d9ad95..6f276026a9 100644 --- a/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/components/account-layout/account-layout.component.d.ts @@ -1,5 +1,4 @@ import { eLayoutType } from '@abp/ng.core'; export declare class AccountLayoutComponent { static type: eLayoutType; - isCollapsed: boolean; } diff --git a/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts b/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts index c9a4e25086..0cf31961cb 100644 --- a/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts +++ b/npm/ng-packs/dist/theme-basic/lib/theme-basic.module.d.ts @@ -1,5 +1,5 @@ +import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; -import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; -export declare const LAYOUTS: (typeof ApplicationLayoutComponent | typeof EmptyLayoutComponent)[]; +export declare const LAYOUTS: (typeof ApplicationLayoutComponent | typeof AccountLayoutComponent)[]; export declare class ThemeBasicModule { } diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts index f6018dd5ee..6c76bd406f 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.d.ts @@ -3,12 +3,16 @@ */ export * from './public-api'; export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { BreadcrumbComponent as ɵm } from './lib/components/breadcrumb/breadcrumb.component'; export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ChangePasswordComponent as ɵj } from './lib/components/change-password/change-password.component'; export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ProfileComponent as ɵl } from './lib/components/profile/profile.component'; export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ErrorHandler as ɵn } from './lib/handlers/error.handler'; export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; +export { ToasterService as ɵk } from './lib/services/toaster.service'; diff --git a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json index e8fcc219cb..023e254454 100644 --- a/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json +++ b/npm/ng-packs/dist/theme-shared/abp-ng.theme.shared.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":38,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":39,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":40,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":41,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":64,"character":12},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":73,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":75,"character":17},{"__symbolic":"reference","name":"ɵj"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":78,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file +{"__symbolic":"module","version":4,"exports":[{"from":"./lib/confirmation.service"},{"from":"./lib/toaster.service"},{"from":"./lib/setting-management"},{"from":"./lib/confirmation/confirmation.component"},{"from":"./lib/loader-bar/loader-bar.component"},{"from":"./lib/modal/modal.component"},{"from":"./lib/profile/profile.component"},{"from":"./lib/toast/toast.component"}],"metadata":{"appendScript":{"__symbolic":"function"},"ThemeSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":38,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@abp/ng.core","name":"CoreModule","line":40,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":41,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-validate/core","name":"NgxValidateCoreModule","line":42,"character":4},"member":"forRoot"},"arguments":[{"targetSelector":".form-group","blueprints":{"email":"AbpAccount::ThisFieldIsNotAValidEmailAddress.","max":"AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]","maxlength":"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]","min":"AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]","minlength":"AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]","required":"AbpAccount::ThisFieldIsRequired.","passwordMismatch":"AbpIdentity::Identity.PasswordConfirmationFailed"},"errorTemplate":{"__symbolic":"reference","name":"ɵa"}}]}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"}],"exports":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"}],"entryComponents":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ThemeSharedModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":86,"character":19},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":88,"character":17},{"__symbolic":"reference","name":"ɵn"}],"useFactory":{"__symbolic":"reference","name":"appendScript"}},{"provide":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":91,"character":19},"useClass":{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":91,"character":45}}]}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-validate/core","name":"ValidationErrorComponent","line":13,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"abp-validation-error","template":"\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"}}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-button","template":"\n \n "}]}],"members":{"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"abp-confirmation","template":"\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"close":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/components/common/messageservice","name":"MessageService","line":11,"character":40}]}],"info":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-toast","template":"\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n "}]}],"members":{}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"abp-modal","template":"\n \n
    \n
    \n \n\n \n
    \n \n \n\n
    \n \n
    \n
    \n \n \n\n \n\n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"busy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"modalClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"abpHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":84,"character":3},"arguments":["abpHeader",{"static":false}]}]}],"abpBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":86,"character":3},"arguments":["abpBody",{"static":false}]}]}],"abpFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":88,"character":3},"arguments":["abpFooter",{"static":false}]}]}],"abpClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":90,"character":3},"arguments":["abpClose",{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"character":51}}]}]}],"abpSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"static":false,"read":{"__symbolic":"reference","name":"ɵb"}}]}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["abpModalContent",{"static":false}]}]}],"abpButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":96,"character":3},"arguments":["abp-button"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":32},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setVisible":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"abp-error","template":"\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ","styles":[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],"members":{"destroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"abp-loader-bar","template":"\n
    \n
    \n
    \n ","styles":[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],"members":{"containerClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"progressClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":33,"character":31},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":56}]}],"ngOnDestroy":[{"__symbolic":"method"}],"startLoading":[{"__symbolic":"method"}],"stopLoading":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"abp-change-password","template":"\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"modalContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":3},"arguments":["modalContent",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":48,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":48,"character":54},{"__symbolic":"reference","name":"ɵk"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"addAll":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"abp-profile","template":"\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n"}]}],"members":{"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"visibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"profile$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":29,"character":3},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@abp/ng.core","name":"ProfileState","line":29,"character":10},"member":"getProfile"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":36,"character":54}]}],"buildForm":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}],"openModal":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"abp-breadcrumb","template":"\n
      \n
    1. \n \n
    2. \n \n {{ segment | abpLocalization }}\n \n
    \n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":28,"character":30},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":28,"character":53}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Actions","line":43,"character":21},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":44,"character":19},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":46,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":47,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":48,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":22}]}],"showError":[{"__symbolic":"method"}],"navigateToLogin":[{"__symbolic":"method"}],"createErrorComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"appendScript":"./lib/theme-shared.module","ThemeSharedModule":"./lib/theme-shared.module","ɵa":"./lib/components/errors/validation-error.component","ɵb":"./lib/components/button/button.component","ɵc":"./lib/components/confirmation/confirmation.component","ɵd":"./lib/services/confirmation.service","ɵe":"./lib/abstracts/toaster","ɵf":"./lib/components/toast/toast.component","ɵg":"./lib/components/modal/modal.component","ɵh":"./lib/components/errors/error.component","ɵi":"./lib/components/loader-bar/loader-bar.component","ɵj":"./lib/components/change-password/change-password.component","ɵk":"./lib/services/toaster.service","ɵl":"./lib/components/profile/profile.component","ɵm":"./lib/components/breadcrumb/breadcrumb.component","ɵn":"./lib/handlers/error.handler"},"importAs":"@abp/ng.theme.shared"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js index ae713292e4..05df2930a2 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-validate/core'), require('primeng/components/common/messageservice'), require('primeng/toast'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('@ngxs/store'), require('@ngxs/router-plugin'), require('snq'), require('@angular/animations')) : - typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared', ['exports', '@abp/ng.core', '@angular/core', '@ng-bootstrap/ng-bootstrap', '@ngx-validate/core', 'primeng/components/common/messageservice', 'primeng/toast', 'rxjs', 'rxjs/operators', '@angular/router', '@ngxs/store', '@ngxs/router-plugin', 'snq', '@angular/animations'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = {}), global.ng_core, global.ng.core, global.ngBootstrap, global.core$1, global.messageservice, global.toast, global.rxjs, global.rxjs.operators, global.ng.router, global.store, global.routerPlugin, global.snq, global.ng.animations)); -}(this, function (exports, ng_core, core, ngBootstrap, core$1, messageservice, toast, rxjs, operators, router, store, routerPlugin, snq, animations) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@abp/ng.core'), require('@angular/core'), require('@ngx-validate/core'), require('primeng/components/common/messageservice'), require('primeng/toast'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('@ngxs/store'), require('@angular/common/http'), require('@ngxs/router-plugin'), require('snq'), require('@angular/forms'), require('@angular/animations')) : + typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared', ['exports', '@abp/ng.core', '@angular/core', '@ngx-validate/core', 'primeng/components/common/messageservice', 'primeng/toast', 'rxjs', 'rxjs/operators', '@angular/router', '@ngxs/store', '@angular/common/http', '@ngxs/router-plugin', 'snq', '@angular/forms', '@angular/animations'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = {}), global.ng_core, global.ng.core, global.core$1, global.messageservice, global.toast, global.rxjs, global.rxjs.operators, global.ng.router, global.store, global.ng.common.http, global.routerPlugin, global.snq, global.ng.forms, global.ng.animations)); +}(this, function (exports, ng_core, core, core$1, messageservice, toast, rxjs, operators, router, store, http, routerPlugin, snq, forms, animations) { 'use strict'; snq = snq && snq.hasOwnProperty('default') ? snq['default'] : snq; @@ -297,7 +297,7 @@ */ function (message, title, severity, options) { this.messageService.clear(this.key); - this.messageService.add(__assign({ severity: severity, detail: message, summary: title }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); + this.messageService.add(__assign({ severity: severity, detail: message || '', summary: title || '' }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); this.status$ = new rxjs.Subject(); return this.status$; }; @@ -380,7 +380,7 @@ ConfirmationComponent.decorators = [ { type: core.Component, args: [{ selector: 'abp-confirmation', - template: "\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n " + template: "\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n " }] } ]; /** @nocollapse */ @@ -478,7 +478,9 @@ * @param {?} event * @return {?} */ - function (event) { return event instanceof router.NavigationStart || event instanceof router.NavigationEnd; })), core$1.takeUntilDestroy(this)) + function (event) { + return event instanceof router.NavigationStart || event instanceof router.NavigationEnd || event instanceof router.NavigationError; + })), core$1.takeUntilDestroy(this)) .subscribe((/** * @param {?} event * @return {?} @@ -962,7 +964,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* \n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n\n" + }] } + ]; + /** @nocollapse */ + ChangePasswordComponent.ctorParameters = function () { return [ + { type: forms.FormBuilder }, + { type: store.Store }, + { type: ToasterService } + ]; }; + ChangePasswordComponent.propDecorators = { + visible: [{ type: core.Input }], + visibleChange: [{ type: core.Output }], + modalContent: [{ type: core.ViewChild, args: ['modalContent', { static: false },] }] + }; + return ChangePasswordComponent; + }()); + if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var maxLength = forms.Validators.maxLength, required$1 = forms.Validators.required, email = forms.Validators.email; + var ProfileComponent = /** @class */ (function () { + function ProfileComponent(fb, store) { + this.fb = fb; + this.store = store; + this.visibleChange = new core.EventEmitter(); + this.modalBusy = false; + } + Object.defineProperty(ProfileComponent.prototype, "visible", { + get: /** + * @return {?} + */ + function () { + return this._visible; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._visible = value; + this.visibleChange.emit(value); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + ProfileComponent.prototype.buildForm = /** + * @return {?} + */ + function () { + var _this = this; + this.store + .dispatch(new ng_core.GetProfile()) + .pipe(operators.withLatestFrom(this.profile$), operators.take(1)) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var _b = __read(_a, 2), profile = _b[1]; + _this.form = _this.fb.group({ + userName: [profile.userName, [required$1, maxLength(256)]], + email: [profile.email, [required$1, email, maxLength(256)]], + name: [profile.name || '', [maxLength(64)]], + surname: [profile.surname || '', [maxLength(64)]], + phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], + }); + })); + }; + /** + * @return {?} + */ + ProfileComponent.prototype.submit = /** + * @return {?} + */ + function () { + var _this = this; + if (this.form.invalid) + return; + this.modalBusy = true; + this.store.dispatch(new ng_core.UpdateProfile(this.form.value)).subscribe((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + _this.visible = false; + _this.form.reset(); + })); + }; + /** + * @return {?} + */ + ProfileComponent.prototype.openModal = /** + * @return {?} + */ + function () { + this.buildForm(); + this.visible = true; + }; + /** + * @param {?} __0 + * @return {?} + */ + ProfileComponent.prototype.ngOnChanges = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var visible = _a.visible; + if (!visible) + return; + if (visible.currentValue) { + this.openModal(); + } + else if (visible.currentValue === false && this.visible) { + this.visible = false; + } + }; + ProfileComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-profile', + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + }] } + ]; + /** @nocollapse */ + ProfileComponent.ctorParameters = function () { return [ + { type: forms.FormBuilder }, + { type: store.Store } + ]; }; + ProfileComponent.propDecorators = { + visible: [{ type: core.Input }], + visibleChange: [{ type: core.Output }] + }; + __decorate([ + store.Select(ng_core.ProfileState.getProfile), + __metadata("design:type", rxjs.Observable) + ], ProfileComponent.prototype, "profile$", void 0); + return ProfileComponent; + }()); + if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; + } + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var BreadcrumbComponent = /** @class */ (function () { + function BreadcrumbComponent(router, store) { + this.router = router; + this.store = store; + this.segments = []; + this.show = !!this.store.selectSnapshot((/** + * @param {?} state + * @return {?} + */ + function (state) { return state.LeptonLayoutState; })); + } + /** + * @return {?} + */ + BreadcrumbComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + /** @type {?} */ + var splittedUrl = this.router.url.split('/').filter((/** + * @param {?} chunk + * @return {?} + */ + function (chunk) { return chunk; })); + /** @type {?} */ + var currentUrl = this.store.selectSnapshot(ng_core.ConfigState.getRoute(splittedUrl[0])); + this.segments.push(currentUrl.name); + if (splittedUrl.length > 1) { + var _a = __read(splittedUrl), arr = _a.slice(1); + /** @type {?} */ + var childRoute = currentUrl; + var _loop_1 = function (i) { + /** @type {?} */ + var element = arr[i]; + childRoute = childRoute.children.find((/** + * @param {?} child + * @return {?} + */ + function (child) { return child.path === element; })); + this_1.segments.push(childRoute.name); + }; + var this_1 = this; + for (var i = 0; i < arr.length; i++) { + _loop_1(i); + } + } + }; + BreadcrumbComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'abp-breadcrumb', + template: "\n
      \n
    1. \n \n
    2. \n \n {{ segment | abpLocalization }}\n \n
    \n " + }] } + ]; + /** @nocollapse */ + BreadcrumbComponent.ctorParameters = function () { return [ + { type: router.Router }, + { type: store.Store } + ]; }; + return BreadcrumbComponent; + }()); + if (false) { + /** @type {?} */ + BreadcrumbComponent.prototype.show; + /** @type {?} */ + BreadcrumbComponent.prototype.segments; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.router; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.store; + } + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1275,15 +1710,14 @@ imports: [ ng_core.CoreModule, toast.ToastModule, - ngBootstrap.NgbModalModule, core$1.NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', blueprints: { email: "AbpAccount::ThisFieldIsNotAValidEmailAddress.", - max: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]", + max: "AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]", maxlength: "AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]", - min: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", - minlength: "AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]", + min: "AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]", + minlength: "AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]", required: "AbpAccount::ThisFieldIsRequired.", passwordMismatch: "AbpIdentity::Identity.PasswordConfirmationFailed", }, @@ -1298,14 +1732,37 @@ ErrorComponent, LoaderBarComponent, ValidationErrorComponent, + ChangePasswordComponent, + ProfileComponent, + BreadcrumbComponent, + ], + exports: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + LoaderBarComponent, + ChangePasswordComponent, + ProfileComponent, + BreadcrumbComponent, ], - exports: [ngBootstrap.NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; return ThemeSharedModule; }()); + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var fade = animations.trigger('fade', [ + animations.state('void', animations.style({ opacity: 1 })), + animations.transition(':enter', [animations.style({ opacity: 0 }), animations.animate(250)]), + animations.transition(':leave', animations.animate(250, animations.style({ opacity: 0 }))), + ]); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1383,48 +1840,34 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @record */ - var ToasterService = /** @class */ (function (_super) { - __extends(ToasterService, _super); - function ToasterService() { - return _super !== null && _super.apply(this, arguments) || this; - } - /** - * @param {?} messages - * @return {?} - */ - ToasterService.prototype.addAll = /** - * @param {?} messages - * @return {?} - */ - function (messages) { - var _this = this; - this.messageService.addAll(messages.map((/** - * @param {?} message - * @return {?} - */ - function (message) { return (__assign({ key: _this.key }, message)); }))); - }; - ToasterService.decorators = [ - { type: core.Injectable, args: [{ providedIn: 'root' },] } - ]; - /** @nocollapse */ ToasterService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(core.ɵɵinject(messageservice.MessageService)); }, token: ToasterService, providedIn: "root" }); - return ToasterService; - }(AbstractToaster)); + function SettingTab() { } + if (false) { + /** @type {?} */ + SettingTab.prototype.name; + /** @type {?} */ + SettingTab.prototype.order; + /** @type {?} */ + SettingTab.prototype.component; + /** @type {?|undefined} */ + SettingTab.prototype.requiredPolicy; + } + exports.BreadcrumbComponent = BreadcrumbComponent; exports.ButtonComponent = ButtonComponent; + exports.ChangePasswordComponent = ChangePasswordComponent; exports.ConfirmationComponent = ConfirmationComponent; exports.ConfirmationService = ConfirmationService; exports.LoaderBarComponent = LoaderBarComponent; exports.ModalComponent = ModalComponent; + exports.ProfileComponent = ProfileComponent; exports.ThemeSharedModule = ThemeSharedModule; exports.ToastComponent = ToastComponent; exports.ToasterService = ToasterService; exports.appendScript = appendScript; + exports.fade = fade; exports.slideFromBottom = slideFromBottom; exports.ɵa = ValidationErrorComponent; exports.ɵb = ButtonComponent; @@ -1435,7 +1878,11 @@ exports.ɵg = ModalComponent; exports.ɵh = ErrorComponent; exports.ɵi = LoaderBarComponent; - exports.ɵj = ErrorHandler; + exports.ɵj = ChangePasswordComponent; + exports.ɵk = ToasterService; + exports.ɵl = ProfileComponent; + exports.ɵm = BreadcrumbComponent; + exports.ɵn = ErrorHandler; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map index 202b6e56fb..e77b970b56 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":";;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;;;;AC/LD;;;;QAOE,yBAAsB,cAA8B;YAA9B,mBAAc,GAAd,cAAc,CAAgB;YAJpD,QAAG,GAAW,UAAU,CAAC;YAEzB,WAAM,GAAY,KAAK,CAAC;SAEgC;;;;;;;QACxD,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,iCAAO;;;;;;QAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,OAAW;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACtD;;;;;;;QAED,8BAAI;;;;;;QAAJ,UAAK,OAAe,EAAE,KAAa,EAAE,OAAW;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;;;;;;QAED,+BAAK;;;;;;QAAL,UAAM,OAAe,EAAE,KAAa,EAAE,OAAW;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACpD;;;;;;;;;QAES,8BAAI;;;;;;;;QAAd,UAAe,OAAe,EAAE,KAAa,EAAE,QAA0B,EAAE,OAAW;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,YACrB,QAAQ,UAAA,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,KAAK,IACX,OAAO,IACV,GAAG,EAAE,IAAI,CAAC,GAAG,KACT,OAAO,CAAC,OAAO,wBAAK,EAAE,GAAQ,EAAE,MAAM,KAAK,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GACrF,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAIA,YAAO,EAAkB,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;;;;;QAED,+BAAK;;;;QAAL,UAAM,MAAuB;YAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,4BAA2B,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SACzB;QACH,sBAAC;KAAA,IAAA;;;QA3CC,kCAAiC;;QAEjC,8BAAyB;;QAEzB,iCAAwB;;;;;QAEZ,yCAAwC;;;;;;;;QCNbC,uCAAqC;QAD9E;YAAA,qEAKC;YAHC,SAAG,GAAW,iBAAiB,CAAC;YAEhC,YAAM,GAAY,IAAI,CAAC;;SACxB;;oBALAC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;kCAJlC;KASC,CAJwC,eAAe,GAIvD;;;QAHC,kCAAgC;;QAEhC,qCAAuB;;;;;;;ACRzB;QA0CE,+BAAoB,mBAAwC;YAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;YAJ5D,YAAO,2BAA0B;YACjC,WAAM,yBAAyB;YAC/B,YAAO,2BAA0B;SAE+B;;;;;QAEhE,qCAAK;;;;QAAL,UAAM,MAAsB;YAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxC;;oBA1CFC,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,8pCA6BT;qBACF;;;;oBAnCQ,mBAAmB;;QA8C5B,4BAAC;KA3CD,IA2CC;;;QATC,wCAAiC;;QACjC,uCAA+B;;QAC/B,wCAAiC;;;;;QAErB,oDAAgD;;;;;;;AC1C9D;QAEA;YA6BE,UAAK,GAAG,OAAO,CAAC;YAEhB,YAAO,GAAG,8BAA8B,CAAC;SAW1C;;;;QAHC,gCAAO;;;QAAP;YACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACrE;;oBAzCFA,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,g1BAuBT;;qBAEF;;QAeD,qBAAC;KA1CD,IA0CC;;;QAbC,+BAAgB;;QAEhB,iCAAyC;;QAEzC,kCAAoB;;QAEpB,oCAAuB;;QAEvB,8BAAU;;;;;;;ACvCZ;QAiCE,4BAAoB,OAAgB,EAAUC,QAAc;YAA5D,iBAqBC;YArBmB,YAAO,GAAP,OAAO,CAAS;YAAU,WAAM,GAANA,QAAM,CAAQ;YAf5D,mBAAc,GAAW,gBAAgB,CAAC;YAG1C,kBAAa,GAAW,cAAc,CAAC;YAGvC,cAAS,GAAY,KAAK,CAAC;YAG3B,WAAM;;;;YAAG,UAAC,MAAgC,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAA,EAAC;YAEtG,kBAAa,GAAW,CAAC,CAAC;YAKxB,OAAO;iBACJ,IAAI,CACHC,wBAAkB,CAACC,mBAAW,EAAEC,kBAAU,CAAC,EAC3CC,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnBC,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,MAAM;gBACf,IAAI,MAAM,YAAYH,mBAAW;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBAClD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;YAELF,QAAM,CAAC,MAAM;iBACV,IAAI,CACHI,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAYE,sBAAe,IAAI,KAAK,YAAYC,oBAAa,GAAA,EAAC,EACnFF,uBAAgB,CAAC,IAAI,CAAC,CACvB;iBACA,SAAS;;;;YAAC,UAAA,KAAK;gBACd,IAAI,KAAK,YAAYC,sBAAe;oBAAE,KAAI,CAAC,YAAY,EAAE,CAAC;;oBACrD,KAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EAAC,CAAC;SACN;;;;QAED,wCAAW;;;QAAX,eAAgB;;;;QAEhB,yCAAY;;;QAAZ;YAAA,iBAeC;YAdC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAChB,QAAQ,GAAG,WAAW;;;YAAC;gBAC3B,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAC3B,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC1C;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,EAAE,EAAE;oBAClC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM,IAAI,KAAI,CAAC,aAAa,GAAG,GAAG,EAAE;oBACnC,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC;iBAC3B;qBAAM;oBACL,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACzB;aACF,GAAE,GAAG,CAAC;YAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;;;;QAED,wCAAW;;;QAAX;YAAA,iBAQC;YAPC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,UAAU;;;YAAC;gBACT,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB,GAAE,GAAG,CAAC,CAAC;SACT;;oBA5EFP,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,mMAIT;;qBAEF;;;;oBAXQS,aAAO;oBAFyBC,aAAM;;;qCAe5CC,UAAK;oCAGLA,UAAK;gCAGLA,UAAK;6BAGLA,UAAK;;QA0DR,yBAAC;KA7ED,IA6EC;;;QAnEC,4CAC0C;;QAE1C,2CACuC;;QAEvC,uCAC2B;;QAE3B,oCACsG;;QAEtG,2CAA0B;;QAE1B,sCAAc;;;;;QAEF,qCAAwB;;;;;QAAE,oCAAsB;;;;;;;ACjC9D;QAEA;YAUE,gBAAW,GAAW,iBAAiB,CAAC;YAGxC,SAAI,GAAW,QAAQ,CAAC;YAMxB,YAAO,GAAY,KAAK,CAAC;YAGzB,aAAQ,GAAY,KAAK,CAAC;SAK3B;QAHC,sBAAI,iCAAI;;;;YAAR;gBACE,OAAO,MAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAE,CAAC;aACjF;;;WAAA;;oBA1BFX,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,+LAIT;qBACF;;;kCAEEW,UAAK;2BAGLA,UAAK;gCAGLA,UAAK;8BAGLA,UAAK;+BAGLA,UAAK;;QAMR,sBAAC;KA3BD,IA2BC;;;QAlBC,sCACwC;;QAExC,+BACwB;;QAExB,oCACkB;;QAElB,kCACyB;;QAEzB,mCAC0B;;;;;;;;QCHtB,iBAAiB,GAAG,GAAG;AAE7B;QAuFE,wBAAoB,QAAmB,EAAU,mBAAwC;YAArE,aAAQ,GAAR,QAAQ,CAAW;YAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;YAxChF,aAAQ,GAAY,KAAK,CAAC;YAE1B,eAAU,GAAW,EAAE,CAAC;YAExB,SAAI,GAAc,IAAI,CAAC;YAMtB,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAE5C,SAAI,GAAG,IAAIA,iBAAY,EAAQ,CAAC;YAgB1C,aAAQ,GAAY,KAAK,CAAC;YAE1B,UAAK,GAAY,KAAK,CAAC;YAEvB,cAAS,GAAY,KAAK,CAAC;YAE3B,uBAAkB,GAAY,KAAK,CAAC;YAEpC,aAAQ,GAAY,KAAK,CAAC;YAE1B,aAAQ,GAAG,IAAIf,YAAO,EAAQ,CAAC;SAE8D;QAlF7F,sBACI,mCAAO;;;;YADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YACD,UAAY,KAAc;gBAA1B,iBAwBC;gBAvBC,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,OAAO;gBAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACtB,IAAI,KAAK,EAAE;wBACT,UAAU;;;wBAAC;4BACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACtB,GAAE,CAAC,CAAC,CAAC;qBACP;oBACD,OAAO;iBACR;gBAED,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;oBACxE,UAAU;;;oBAAC;wBACT,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB,GAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;iBAC5B;aACF;;;WAzBA;QA2BD,sBACI,gCAAI;;;;YADR;gBAEE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;;;YACD,UAAS,KAAc;gBACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,eAAe,EAAE;oBAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAChC;gBAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;;;WAPA;;;;QAmDD,oCAAW;;;QAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;;;;;QAED,mCAAU;;;;QAAV,UAAW,KAAc;YAAzB,iBAUC;YATC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,KAAK;kBACDgB,UAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;qBAC3B,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC;qBACb,SAAS;;;;gBAAC,UAAA,CAAC,IAAI,QAAC,KAAI,CAAC,QAAQ,GAAG,IAAI,IAAC,EAAC;mBACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;SAC7B;;;;QAED,+BAAM;;;QAAN;YAAA,iBAsBC;YArBCC,cAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACzB,IAAI,CACHC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxBC,sBAAY,CAAC,GAAG,CAAC,EACjBZ,gBAAM;;;;YAAC,UAAC,GAAkB,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,QAAQ,GAAA,EAAC,CAC9E;iBACA,SAAS;;;;YAAC,UAAA,CAAC;gBACV,KAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;YAEL,UAAU;;;YAAC;gBACT,IAAI,CAAC,KAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC3BU,cAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;qBAC5C,IAAI,CACHC,mBAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,EACxBX,gBAAM;;;gBAAC,cAAM,OAAA,CAAC,EAAE,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,YAAY,CAAC,GAAA,EAAC,CACrD;qBACA,SAAS;;;gBAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,EAAC,CAAC;aAClC,GAAE,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;;;;QAED,8BAAK;;;QAAL;YAAA,iBAyBC;YAxBC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO;;gBAElC,KAAK,GAAG,YAAY,CACxB,oBAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAiB,UAAU,CAC7F;YAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI,IAAI,CAAC,kBAAkB;oBAAE,OAAO;gBAEpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,mBAAmB;qBACrB,IAAI,CAAC,4DAA4D,EAAE,wBAAwB,CAAC;qBAC5F,SAAS;;;;gBAAC,UAAC,MAAsB;oBAChCQ,UAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS;;;oBAAC;wBACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;qBACjC,EAAC,CAAC;oBAEH,IAAI,MAAM,8BAA6B;wBACrC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;iBACF,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;;oBA1JFb,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,6vCAAqC;qBACtC;;;;oBAlBCkB,cAAS;oBAQF,mBAAmB;;;8BAYzBP,UAAK;2BA8BLA,UAAK;+BAYLA,UAAK;iCAELA,UAAK;2BAELA,UAAK;6BAELA,UAAK;gCAELA,UAAK;oCAELQ,WAAM;2BAENA,WAAM;gCAENC,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;8BAE3CA,iBAAY,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gCAEzCA,iBAAY,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;+BAE3CA,iBAAY,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEC,eAAU,EAAE;gCAE5DD,iBAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;mCAEtEE,cAAS,SAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAE9CC,iBAAY,SAAC,YAAY;;QAkF5B,qBAAC;KA3JD,IA2JC;;;QA5GC,kCAAmC;;QAEnC,oCAAiC;;QAEjC,8BAAgC;;QAEhC,gCAAwB;;QAExB,mCAA2B;;QAE3B,uCAAsD;;QAEtD,8BAA0C;;QAE1C,mCAA0E;;QAE1E,iCAAsE;;QAEtE,mCAA0E;;QAE1E,kCAAyF;;QAEzF,mCAAoG;;QAEpG,sCAA0E;;QAE1E,oCAAuC;;QAEvC,kCAA0B;;QAE1B,+BAAuB;;QAEvB,mCAA2B;;QAE3B,4CAAoC;;QAEpC,kCAA0B;;QAE1B,kCAA+B;;;;;QAEnB,kCAA2B;;;;;QAAE,6CAAgD;;;;;;IAsE3F,SAAS,YAAY,CAAC,KAAe;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;;;;;QAC7B,UAAC,GAAG,EAAE,GAAG,IAAK,gBAAI,GAAG,GAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAE,GAC3G,EAAE,CACH,CAAC;KACH;;;;;IAED,SAAS,UAAU,CAAC,KAAoB;QACtC,OAAO,KAAK,CAAC,SAAS;;;;QAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,EAAC,GAAG,CAAC,CAAC,CAAC;KACtF;;;;;;AC7LD;QAEA;SAsB8B;;oBAtB7BvB,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,y0BAkBT;qBACF;;QAC4B,qBAAC;KAtB9B;;;;;;ICFA,aAAe,miCAyEd,CAAC;;;;;;ICzEF;QAkBM,QAAQ,GAAG;QACf,YAAY,EAAE;YACZ,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,kCAAkC;SAC5C;QAED,eAAe,EAAE;YACf,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,2EAA2E;SACrF;QAED,eAAe,EAAE;YACf,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,gDAAgD;SAC1D;QAED,eAAe,EAAE;YACf,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,uDAAuD;SACjE;KACF;AAED;QAEE,sBACU,OAAgB,EAChBwB,OAAY,EACZ,mBAAwC,EACxC,MAAsB,EACtB,KAA+B,EAC/B,eAAiC,EACjC,QAAkB;YAP5B,iBAyDC;YAxDS,YAAO,GAAP,OAAO,CAAS;YAChB,UAAK,GAALA,OAAK,CAAO;YACZ,wBAAmB,GAAnB,mBAAmB,CAAqB;YACxC,WAAM,GAAN,MAAM,CAAgB;YACtB,UAAK,GAAL,KAAK,CAA0B;YAC/B,oBAAe,GAAf,eAAe,CAAkB;YACjC,aAAQ,GAAR,QAAQ,CAAU;YAE1B,OAAO,CAAC,IAAI,CAACtB,wBAAkB,CAACuB,sBAAc,CAAC,CAAC,CAAC,SAAS;;;;YAAC,UAAA,GAAG;gBACpD,IAAA,gBAA4C,EAA5C,kDAA4C;;oBAC9C,IAAI,GAAG,GAAG;;;gBAAC,cAAM,OAAA,oBAAC,GAAG,IAAuB,KAAK,CAAC,KAAK,GAAA,GAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAE7F,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;;wBAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;oBAEtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;wBACtB,aAAa,CAAC,SAAS;;;wBAAC;4BACtB,KAAI,CAAC,eAAe,EAAE,CAAC;yBACxB,EAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,QAAQ,oBAAC,GAAG,IAAuB,MAAM;wBACvC,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;4BAAC;gCAC3F,OAAA,KAAI,CAAC,eAAe,EAAE;6BAAA,EACvB,CAAC;4BACF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;gCACvC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;6BAC1C,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;4BACnF,MAAM;wBACR,KAAK,GAAG;4BACN,KAAI,CAAC,oBAAoB,CAAC;gCACxB,KAAK,EAAE,KAAK;gCACZ,OAAO,EAAE,wCAAwC;6BAClD,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,CAAC;4BACJ,IAAI,oBAAC,GAAG,IAAuB,UAAU,KAAK,eAAe,EAAE;gCAC7D,KAAI,CAAC,oBAAoB,CAAC;oCACxB,KAAK,EAAE,eAAe;oCACtB,OAAO,EAAE,wCAAwC;iCAClD,CAAC,CAAC;6BACJ;4BACD,MAAM;wBACR;4BACE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;4BAC7E,MAAM;qBACT;iBACF;aACF,EAAC,CAAC;SACJ;;;;;;;;QAEO,gCAAS;;;;;;;QAAjB,UAAkB,OAAgB,EAAE,KAAc,EAAE,IAAU;YAC5D,IAAI,IAAI,EAAE;gBACR,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACvB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;iBACtB;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;iBACzD;aACF;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;gBACpD,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;;;;;QAEO,sCAAe;;;;QAAvB;YACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAIC,qBAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;gBACrC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAACC,wBAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;aACzE,CAAC,CACH,CAAC;SACH;;;;;QAED,2CAAoB;;;;QAApB,UAAqB,QAAiC;;gBAC9C,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;gBAC1D,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;;gBAEnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE7F,KAAK,IAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC7C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC5C;aACF;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAC,YAAY,CAAC,QAAQ,IAA0B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzF,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC;YACzD,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACnC;;oBAvGF5B,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBA7BzBU,aAAO;oBAAsBmB,WAAK;oBAIlC,mBAAmB;oBAZ1BC,mBAAc;oBACdC,6BAAwB;oBAIxBC,qBAAgB;oBADhBC,aAAQ;;;2BAPV;KAwCA,IAwGC;;;;;;QArGG,+BAAwB;;;;;QACxB,6BAAoB;;;;;QACpB,2CAAgD;;;;;QAChD,8BAA8B;;;;;QAC9B,6BAAuC;;;;;QACvC,uCAAyC;;;;;QACzC,gCAA0B;;;;;;;;QCpCgBlC,4CAAc;QAV5D;;SA8BC;QAnBC,sBAAI,+CAAS;;;;YAAb;gBACE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;;;;gBAAC,UAAA,KAAK;oBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;;wBAE3B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;wBACd,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACtF;qBACH;oBAED,OAAO,KAAK,CAAC;iBACd,EAAC,CAAC;aACJ;;;WAAA;;oBA7BFE,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,QAAQ,EAAE,oLAIT;wBACD,eAAe,EAAEiC,4BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;qBACtC;;QAqBD,+BAAC;KAAA,CApB6CC,+BAAc;;;;;;ICb5D;;;;IAkBA,SAAgB,YAAY,CAAC,QAAkB;;YACvC,EAAE;;;QAAG;;gBACH,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAACC,uBAAe,CAAC;YAEtE,OAAOC,aAAQ,CACb,eAAe,CAAC,IAAI,CAClB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,CACb,qDACF,CAAC,IAAI,CAACvB,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjB,CAAA;QAED,OAAO,EAAE,CAAC;KACX;AAED;QAAA;SA8CC;;;;QAdQ,yBAAO;;;QAAd;YACE,OAAO;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEwB,oBAAe;wBACxB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,CAACN,aAAQ,EAAE,YAAY,CAAC;wBAC9B,UAAU,EAAE,YAAY;qBACzB;oBACD,EAAE,OAAO,EAAEO,6BAAc,EAAE,QAAQ,EAAEA,6BAAc,EAAE;iBACtD;aACF,CAAC;SACH;;oBA7CFC,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,kBAAU;4BACVC,iBAAW;4BACXC,0BAAc;4BACdC,4BAAqB,CAAC,OAAO,CAAC;gCAC5B,cAAc,EAAE,aAAa;gCAC7B,UAAU,EAAE;oCACV,KAAK,EAAE,+CAA+C;oCACtD,GAAG,EAAE,sEAAsE;oCAC3E,SAAS,EAAE,iFAAiF;oCAC5F,GAAG,EAAE,sGAAsG;oCAC3G,SAAS,EAAE,sGAAsG;oCACjH,QAAQ,EAAE,kCAAkC;oCAC5C,gBAAgB,EAAE,kDAAkD;iCACrE;gCACD,aAAa,EAAE,wBAAwB;6BACxC,CAAC;yBACH;wBACD,YAAY,EAAE;4BACZ,eAAe;4BACf,qBAAqB;4BACrB,cAAc;4BACd,cAAc;4BACd,cAAc;4BACd,kBAAkB;4BAClB,wBAAwB;yBACzB;wBACD,OAAO,EAAE,CAACD,0BAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;wBACrH,eAAe,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;qBAC5D;;QAgBD,wBAAC;KA9CD;;;;;;ICpCA;AACA,QAAa,eAAe,GAAGE,kBAAO,CAAC,iBAAiB,EAAE;QACxDC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5DD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxDC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAAC,eAAe,EAAEF,gBAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/F,CAAC;;;;;;;;;;;;;;;;ICHF,IAAiB,YAAY,CAO5B;IAPD,WAAiB,YAAY;;;;QAC3B,sBAKC;;;;YAJC,gCAAwB;;YACxB,6BAAqB;;YACrB,6BAAoB;;YACpB,0BAAiB;;KAEpB,EAPgB,YAAY,KAAZ,YAAY,QAO5B;;;;;;ACTD,AAkBC;IAlBD,WAAiB,OAAO;;;;QACtB,sBAQC;;;;YAPC,qBAAS;;YACT,2BAAmB;;YACnB,uBAAc;;YACd,yBAAiB;;YACjB,uBAAW;;YACX,4CAAqC;;YACrC,0CAAmC;;KAUtC,EAlBgBG,eAAO,KAAPA,eAAO,QAkBvB;;;;;;;;;;;;QCbmCpD,kCAAe;QADnD;;SAKC;;;;;QAHC,+BAAM;;;;QAAN,UAAO,QAAmB;YAA1B,iBAEC;YADC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;YAAC,UAAA,OAAO,IAAI,mBAAG,GAAG,EAAE,KAAI,CAAC,GAAG,IAAK,OAAO,KAAG,EAAC,CAAC,CAAC;SACtF;;oBAJFC,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;6BAJlC;KASC,CAJmC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"abp-ng.theme.shared.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts","ng://@abp/ng.theme.shared/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.shared/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.shared/lib/components/breadcrumb/breadcrumb.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/animations/fade.animations.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animations.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/models/setting-management.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message || '',\n summary: title || '',\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router, NavigationError } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(\n event =>\n event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError,\n ),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n","import { ChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\nimport { ToasterService } from '../../services/toaster.service';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n submit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { ConfigState, ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-breadcrumb',\n template: `\n
      \n
    1. \n \n
    2. \n \n {{ segment | abpLocalization }}\n \n
    \n `,\n})\nexport class BreadcrumbComponent implements OnInit {\n show: boolean;\n\n segments: string[] = [];\n\n constructor(private router: Router, private store: Store) {\n this.show = !!this.store.selectSnapshot(state => state.LeptonLayoutState);\n }\n\n ngOnInit(): void {\n const splittedUrl = this.router.url.split('/').filter(chunk => chunk);\n\n const currentUrl: ABP.FullRoute = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0]));\n this.segments.push(currentUrl.name);\n\n if (splittedUrl.length > 1) {\n const [, ...arr] = splittedUrl;\n\n let childRoute: ABP.FullRoute = currentUrl;\n for (let i = 0; i < arr.length; i++) {\n const element = arr[i];\n childRoute = childRoute.children.find(child => child.path === element);\n\n this.segments.push(childRoute.name);\n }\n }\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ChangePasswordComponent,\n ProfileComponent,\n BreadcrumbComponent,\n ],\n exports: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n LoaderBarComponent,\n ChangePasswordComponent,\n ProfileComponent,\n BreadcrumbComponent,\n ],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const fade = trigger('fade', [\n state('void', style({ opacity: 1 })),\n transition(':enter', [style({ opacity: 0 }), animate(250)]),\n transition(':leave', animate(250, style({ opacity: 0 }))),\n]);\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Type } from '@angular/core';\n\nexport interface SettingTab {\n name: string;\n order: number;\n component: Type;\n requiredPolicy?: string;\n}\n"],"names":["Subject","tslib_1.__extends","Injectable","Component","router","ofActionSuccessful","StartLoader","StopLoader","filter","takeUntilDestroy","NavigationStart","NavigationEnd","NavigationError","Actions","Router","Input","EventEmitter","timer","take","fromEvent","takeUntil","debounceTime","Renderer2","Output","ContentChild","ElementRef","ViewChild","ViewChildren","store","RestOccurError","HttpErrorResponse","Navigate","RouterState","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ChangeDetectionStrategy","ViewEncapsulation","ErrorComponent","comparePasswords","ChangePassword","finalize","FormBuilder","required","GetProfile","withLatestFrom","UpdateProfile","tslib_1.__decorate","Select","ProfileState","Observable","ConfigState","LazyLoadService","forkJoin","APP_INITIALIZER","MessageService","NgModule","CoreModule","ToastModule","NgxValidateCoreModule","trigger","state","style","transition","animate","Toaster"],"mappings":"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"} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js index dc678192e7..430c584130 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@ngxs/router-plugin"),require("snq"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ng-bootstrap/ng-bootstrap","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@ngxs/router-plugin","snq","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.ngBootstrap,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.routerPlugin,e.snq,e.ng.animations)}(this,function(e,t,n,o,r,i,s,a,c,l,p,d,u,m){"use strict";u=u&&u.hasOwnProperty("default")?u.default:u;var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)s.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return s}var y=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(h({severity:n,detail:e,summary:t},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new a.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return g(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);var C=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:v}]},e}();var x=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var w=function(){function e(e,n){var o=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),c.filter(this.filter),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?o.startLoading():o.stopLoading()}),n.events.pipe(c.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd}),r.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?o.startLoading():o.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var I=function(){function e(){this.buttonClass="btn btn-primary",this.type="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],type:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var k=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new a.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof I&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?a.timer(300).pipe(c.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;a.fromEvent(document,"keyup").pipe(c.takeUntil(this.destroy$),c.debounceTime(150),c.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&a.fromEvent(e.abpClose.nativeElement,"click").pipe(c.takeUntil(e.destroy$),c.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:v}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[I,{static:!1,read:I}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var A=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),L="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?h({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e}):[]},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(r.ValidationErrorComponent);function O(e){return function(){var n=e.get(t.LazyLoadService);return a.forkJoin(n.load(null,"style",L,"head","afterbegin")).pipe(c.take(1))}}var M,T=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,S],useFactory:O},{provide:i.MessageService,useClass:i.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,s.ToastModule,o.NgbModalModule,r.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[I,C,A,k,x,w,j],exports:[o.NgbModalModule,I,C,A,k,w],entryComponents:[x,j]}]}],e}(),P=m.trigger("routeAnimations",[m.state("void",m.style({"margin-top":"20px",opacity:"0"})),m.state("*",m.style({"margin-top":"0px",opacity:"1"})),m.transition(":enter",[m.animate("0.2s ease-out",m.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(M||(M={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}();var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return h({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(i.MessageService))},token:t,providedIn:"root"}),t}(y);e.ButtonComponent=I,e.ConfirmationComponent=C,e.ConfirmationService=v,e.LoaderBarComponent=w,e.ModalComponent=k,e.ThemeSharedModule=T,e.ToastComponent=A,e.ToasterService=R,e.appendScript=O,e.slideFromBottom=P,e.ɵa=j,e.ɵb=I,e.ɵc=C,e.ɵd=v,e.ɵe=y,e.ɵf=A,e.ɵg=k,e.ɵh=x,e.ɵi=w,e.ɵj=S,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@abp/ng.core"),require("@angular/core"),require("@ngx-validate/core"),require("primeng/components/common/messageservice"),require("primeng/toast"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@ngxs/store"),require("@angular/common/http"),require("@ngxs/router-plugin"),require("snq"),require("@angular/forms"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@abp/ng.theme.shared",["exports","@abp/ng.core","@angular/core","@ngx-validate/core","primeng/components/common/messageservice","primeng/toast","rxjs","rxjs/operators","@angular/router","@ngxs/store","@angular/common/http","@ngxs/router-plugin","snq","@angular/forms","@angular/animations"],t):t(((e=e||self).abp=e.abp||{},e.abp.ng=e.abp.ng||{},e.abp.ng.theme=e.abp.ng.theme||{},e.abp.ng.theme.shared={}),e.ng_core,e.ng.core,e.core$1,e.messageservice,e.toast,e.rxjs,e.rxjs.operators,e.ng.router,e.store,e.ng.common.http,e.routerPlugin,e.snq,e.ng.forms,e.ng.animations)}(this,function(e,t,n,o,r,i,a,s,l,p,c,u,d,m,f){"use strict";d=d&&d.hasOwnProperty("default")?d.default:d;var b=function(e,t){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function h(e,t){function n(){this.constructor=e}b(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var g=function(){return(g=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}var C=function(){function e(e){this.messageService=e,this.key="abpToast",this.sticky=!1}return e.prototype.info=function(e,t,n){return this.show(e,t,"info",n)},e.prototype.success=function(e,t,n){return this.show(e,t,"success",n)},e.prototype.warn=function(e,t,n){return this.show(e,t,"warn",n)},e.prototype.error=function(e,t,n){return this.show(e,t,"error",n)},e.prototype.show=function(e,t,n,o){return this.messageService.clear(this.key),this.messageService.add(g({severity:n,detail:e||"",summary:t||""},o,{key:this.key},void 0===(o||{}).sticky&&{sticky:this.sticky})),this.status$=new a.Subject,this.status$},e.prototype.clear=function(e){this.messageService.clear(this.key),this.status$.next(e||"dismiss"),this.status$.complete()},e}();var w=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.key="abpConfirmation",t.sticky=!0,t}return h(t,e),t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(r.MessageService))},token:t,providedIn:"root"}),t}(C);var I=function(){function e(e){this.confirmationService=e,this.confirm="confirm",this.reject="reject",this.dismiss="dismiss"}return e.prototype.close=function(e){this.confirmationService.clear(e)},e.decorators=[{type:n.Component,args:[{selector:"abp-confirmation",template:'\n \n \n \n \n\n \n \n \n '}]}],e.ctorParameters=function(){return[{type:w}]},e}();var L=function(){function e(){this.title="Oops!",this.details="Sorry, an error has occured."}return e.prototype.destroy=function(){this.renderer.removeChild(this.host,this.elementRef.nativeElement)},e.decorators=[{type:n.Component,args:[{selector:"abp-error",template:'\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n ',styles:[".error{position:fixed;top:0;background-color:#fff;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]}]}],e}();var S=function(){function e(e,n){var r=this;this.actions=e,this.router=n,this.containerClass="abp-loader-bar",this.progressClass="abp-progress",this.isLoading=!1,this.filter=function(e){return e.payload.url.indexOf("openid-configuration")<0},this.progressLevel=0,e.pipe(p.ofActionSuccessful(t.StartLoader,t.StopLoader),s.filter(this.filter),o.takeUntilDestroy(this)).subscribe(function(e){e instanceof t.StartLoader?r.startLoading():r.stopLoading()}),n.events.pipe(s.filter(function(e){return e instanceof l.NavigationStart||e instanceof l.NavigationEnd||e instanceof l.NavigationError}),o.takeUntilDestroy(this)).subscribe(function(e){e instanceof l.NavigationStart?r.startLoading():r.stopLoading()})}return e.prototype.ngOnDestroy=function(){},e.prototype.startLoading=function(){var e=this;this.isLoading=!0;var t=setInterval(function(){e.progressLevel<75?e.progressLevel+=10*Math.random():e.progressLevel<90?e.progressLevel+=.4:e.progressLevel<100?e.progressLevel+=.1:clearInterval(t)},300);this.interval=t},e.prototype.stopLoading=function(){var e=this;clearInterval(this.interval),this.progressLevel=100,this.isLoading=!1,setTimeout(function(){e.progressLevel=0},800)},e.decorators=[{type:n.Component,args:[{selector:"abp-loader-bar",template:'\n
    \n
    \n
    \n ',styles:[".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{background:#77b6ff;box-shadow:0 0 10px rgba(119,182,255,.7);height:2px;left:0;position:fixed;top:0;transition:width .4s}"]}]}],e.ctorParameters=function(){return[{type:p.Actions},{type:l.Router}]},e.propDecorators={containerClass:[{type:n.Input}],progressClass:[{type:n.Input}],isLoading:[{type:n.Input}],filter:[{type:n.Input}]},e}();var A=function(){function e(){this.buttonClass="btn btn-primary",this.type="button",this.loading=!1,this.disabled=!1}return Object.defineProperty(e.prototype,"icon",{get:function(){return""+(this.loading?"fa fa-spin fa-spinner":this.iconClass||"d-none")},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"abp-button",template:'\n \n '}]}],e.propDecorators={buttonClass:[{type:n.Input}],type:[{type:n.Input}],iconClass:[{type:n.Input}],loading:[{type:n.Input}],disabled:[{type:n.Input}]},e}();var x=function(){function e(e,t){this.renderer=e,this.confirmationService=t,this.centered=!1,this.modalClass="",this.size="lg",this.visibleChange=new n.EventEmitter,this.init=new n.EventEmitter,this._visible=!1,this._busy=!1,this.showModal=!1,this.isOpenConfirmation=!1,this.closable=!1,this.destroy$=new a.Subject}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){var t=this;"boolean"==typeof e&&(this.modalContent?e?(this.setVisible(e),this.listen()):(this.closable=!1,this.renderer.addClass(this.modalContent.nativeElement,"fade-out-top"),setTimeout(function(){t.setVisible(e),t.ngOnDestroy()},190)):e&&setTimeout(function(){t.showModal=e,t.visible=e},0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"busy",{get:function(){return this._busy},set:function(e){this.abpSubmit&&this.abpSubmit instanceof A&&(this.abpSubmit.loading=e),this._busy=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroy$.next()},e.prototype.setVisible=function(e){var t=this;this._visible=e,this.visibleChange.emit(e),this.showModal=e,e?a.timer(300).pipe(s.take(1)).subscribe(function(e){return t.closable=!0}):this.closable=!1},e.prototype.listen=function(){var e=this;a.fromEvent(document,"keyup").pipe(s.takeUntil(this.destroy$),s.debounceTime(150),s.filter(function(t){return t&&"Escape"===t.code&&e.closable})).subscribe(function(t){e.close()}),setTimeout(function(){e.abpClose&&a.fromEvent(e.abpClose.nativeElement,"click").pipe(s.takeUntil(e.destroy$),s.filter(function(){return!(!e.closable||!e.modalContent)})).subscribe(function(){return e.close()})},0),this.init.emit()},e.prototype.close=function(){var e=this;if(this.closable&&!this.busy)if(function(e){return e.findIndex(function(e){return(e.className||"").indexOf("ng-dirty")>-1})>-1}(function e(t){return Array.from(t).reduce(function(t,n){return function(){for(var e=[],t=0;t\n \n \n \n \n\n \n\n'}]}],e.ctorParameters=function(){return[{type:n.Renderer2},{type:w}]},e.propDecorators={visible:[{type:n.Input}],busy:[{type:n.Input}],centered:[{type:n.Input}],modalClass:[{type:n.Input}],size:[{type:n.Input}],height:[{type:n.Input}],minHeight:[{type:n.Input}],visibleChange:[{type:n.Output}],init:[{type:n.Output}],abpHeader:[{type:n.ContentChild,args:["abpHeader",{static:!1}]}],abpBody:[{type:n.ContentChild,args:["abpBody",{static:!1}]}],abpFooter:[{type:n.ContentChild,args:["abpFooter",{static:!1}]}],abpClose:[{type:n.ContentChild,args:["abpClose",{static:!1,read:n.ElementRef}]}],abpSubmit:[{type:n.ContentChild,args:[A,{static:!1,read:A}]}],modalContent:[{type:n.ViewChild,args:["abpModalContent",{static:!1}]}],abpButtons:[{type:n.ViewChildren,args:["abp-button"]}]},e}();var k=function(){function e(){}return e.decorators=[{type:n.Component,args:[{selector:"abp-toast",template:'\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n '}]}],e}(),E="\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* -1?g({},e,{message:e.message.slice(0,t),interpoliteParams:e.message.slice(t+1,e.message.length-1).split(",")}):e}):[]},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"abp-validation-error",template:'\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n ',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],t}(o.ValidationErrorComponent),N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return h(t,e),t.prototype.addAll=function(e){var t=this;this.messageService.addAll(e.map(function(e){return g({key:t.key},e)}))},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(r.MessageService))},token:t,providedIn:"root"}),t}(C),z=(m.Validators.minLength,m.Validators.required),T=function(){function e(e,t,o){this.fb=e,this.store=t,this.toasterService=o,this.visibleChange=new n.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.form=this.fb.group({password:["",z],newPassword:["",z],repeatNewPassword:["",z]},{validators:[o.comparePasswords(["newPassword","repeatNewPassword"])]})},e.prototype.onSubmit=function(){var e=this;this.form.invalid||(this.modalBusy=!0,this.store.dispatch(new t.ChangePassword({currentPassword:this.form.get("password").value,newPassword:this.form.get("newPassword").value})).pipe(s.finalize(function(){e.modalBusy=!1})).subscribe({next:function(){e.visible=!1,e.form.reset()},error:function(t){e.toasterService.error(d(function(){return t.error.error.message},"AbpAccount::DefaultErrorMessage"),"Error",{life:7e3})}}))},e.prototype.openModal=function(){this.visible=!0},e.prototype.ngOnChanges=function(e){var t=e.visible;t&&(t.currentValue?this.openModal():!1===t.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:n.Component,args:[{selector:"abp-change-password",template:'\n \n

    {{ \'AbpIdentity::ChangePassword\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:m.FormBuilder},{type:p.Store},{type:N}]},e.propDecorators={visible:[{type:n.Input}],visibleChange:[{type:n.Output}],modalContent:[{type:n.ViewChild,args:["modalContent",{static:!1}]}]},e}();var M=m.Validators.maxLength,R=m.Validators.required,B=m.Validators.email,F=function(){function e(e,t){this.fb=e,this.store=t,this.visibleChange=new n.EventEmitter,this.modalBusy=!1}return Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=e,this.visibleChange.emit(e)},enumerable:!0,configurable:!0}),e.prototype.buildForm=function(){var e=this;this.store.dispatch(new t.GetProfile).pipe(s.withLatestFrom(this.profile$),s.take(1)).subscribe(function(t){var n=v(t,2)[1];e.form=e.fb.group({userName:[n.userName,[R,M(256)]],email:[n.email,[R,B,M(256)]],name:[n.name||"",[M(64)]],surname:[n.surname||"",[M(64)]],phoneNumber:[n.phoneNumber||"",[M(16)]]})})},e.prototype.submit=function(){var e=this;this.form.invalid||(this.modalBusy=!0,this.store.dispatch(new t.UpdateProfile(this.form.value)).subscribe(function(){e.modalBusy=!1,e.visible=!1,e.form.reset()}))},e.prototype.openModal=function(){this.buildForm(),this.visible=!0},e.prototype.ngOnChanges=function(e){var t=e.visible;t&&(t.currentValue?this.openModal():!1===t.currentValue&&this.visible&&(this.visible=!1))},e.decorators=[{type:n.Component,args:[{selector:"abp-profile",template:'\n \n

    {{ \'AbpIdentity::PersonalInfo\' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \'AbpIdentity::Save\' | abpLocalization }}\n \n
    \n'}]}],e.ctorParameters=function(){return[{type:m.FormBuilder},{type:p.Store}]},e.propDecorators={visible:[{type:n.Input}],visibleChange:[{type:n.Output}]},function(e,t,n,o){var r,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);i>3&&a&&Object.defineProperty(t,n,a)}([p.Select(t.ProfileState.getProfile),y("design:type",a.Observable)],e.prototype,"profile$",void 0),e}();var D=function(){function e(e,t){this.router=e,this.store=t,this.segments=[],this.show=!!this.store.selectSnapshot(function(e){return e.LeptonLayoutState})}return e.prototype.ngOnInit=function(){var e=this.router.url.split("/").filter(function(e){return e}),n=this.store.selectSnapshot(t.ConfigState.getRoute(e[0]));if(this.segments.push(n.name),e.length>1)for(var o=v(e).slice(1),r=n,i=function(e){var t=o[e];r=r.children.find(function(e){return e.path===t}),a.segments.push(r.name)},a=this,s=0;s\n \n \n {{ segment | abpLocalization }}\n \n \n '}]}],e.ctorParameters=function(){return[{type:l.Router},{type:p.Store}]},e}();function q(e){return function(){var n=e.get(t.LazyLoadService);return a.forkJoin(n.load(null,"style",E,"head","afterbegin")).pipe(s.take(1))}}var _,V=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:n.APP_INITIALIZER,multi:!0,deps:[n.Injector,O],useFactory:q},{provide:r.MessageService,useClass:r.MessageService}]}},e.decorators=[{type:n.NgModule,args:[{imports:[t.CoreModule,i.ToastModule,o.NgxValidateCoreModule.forRoot({targetSelector:".form-group",blueprints:{email:"AbpAccount::ThisFieldIsNotAValidEmailAddress.",max:"AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]",maxlength:"AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]",min:"AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]",minlength:"AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]",required:"AbpAccount::ThisFieldIsRequired.",passwordMismatch:"AbpIdentity::Identity.PasswordConfirmationFailed"},errorTemplate:j})],declarations:[A,I,k,x,L,S,j,T,F,D],exports:[A,I,k,x,S,T,F,D],entryComponents:[L,j]}]}],e}(),Y=f.trigger("fade",[f.state("void",f.style({opacity:1})),f.transition(":enter",[f.style({opacity:0}),f.animate(250)]),f.transition(":leave",f.animate(250,f.style({opacity:0})))]),$=f.trigger("routeAnimations",[f.state("void",f.style({"margin-top":"20px",opacity:"0"})),f.state("*",f.style({"margin-top":"0px",opacity:"1"})),f.transition(":enter",[f.animate("0.2s ease-out",f.style({opacity:"1","margin-top":"0px"}))])]);!function(e){function t(){}e.Options=t}(_||(_={})),function(t){function n(){}(e.Toaster||(e.Toaster={})).Options=n}(),e.BreadcrumbComponent=D,e.ButtonComponent=A,e.ChangePasswordComponent=T,e.ConfirmationComponent=I,e.ConfirmationService=w,e.LoaderBarComponent=S,e.ModalComponent=x,e.ProfileComponent=F,e.ThemeSharedModule=V,e.ToastComponent=k,e.ToasterService=N,e.appendScript=q,e.fade=Y,e.slideFromBottom=$,e.ɵa=j,e.ɵb=A,e.ɵc=I,e.ɵd=w,e.ɵe=C,e.ɵf=k,e.ɵg=x,e.ɵh=L,e.ɵi=S,e.ɵj=T,e.ɵk=N,e.ɵl=F,e.ɵm=D,e.ɵn=O,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=abp-ng.theme.shared.umd.min.js.map \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map index 9f06633b69..fc17623577 100644 --- a/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map +++ b/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animation.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","type","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","errors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgbModalModule","NgxValidateCoreModule","targetSelector","blueprints","email","max","maxlength","min","minlength","required","passwordMismatch","errorTemplate","declarations","exports","entryComponents","slideFromBottom","trigger","style","margin-top","opacity","transition","animate","Options","Toaster","ToasterService","addAll","messages"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message,\n summary: title,\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgbModalModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ],\n exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/errors/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/errors/validation-error.component.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts","ng://@abp/ng.theme.shared/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.shared/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.shared/lib/components/breadcrumb/breadcrumb.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/fade.animations.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animations.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__metadata","metadataKey","metadataValue","Reflect","metadata","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","AbstractToaster","messageService","key","sticky","info","message","title","options","show","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ConfirmationService","_this","_super","tslib_1.__extends","Injectable","args","providedIn","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","Component","selector","template","ErrorComponent","details","destroy","renderer","removeChild","host","elementRef","nativeElement","LoaderBarComponent","actions","router","containerClass","progressClass","isLoading","filter","action","payload","url","indexOf","progressLevel","pipe","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","subscribe","startLoading","stopLoading","events","event","NavigationStart","NavigationEnd","NavigationError","ngOnDestroy","interval","setInterval","Math","random","clearInterval","setTimeout","Actions","Router","Input","ButtonComponent","buttonClass","type","loading","disabled","defineProperty","iconClass","ModalComponent","centered","modalClass","size","visibleChange","EventEmitter","init","_visible","_busy","showModal","isOpenConfirmation","closable","destroy$","modalContent","setVisible","listen","addClass","ANIMATION_TIMEOUT","visible","abpSubmit","emit","timer","take","_","fromEvent","document","takeUntil","debounceTime","code","abpClose","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","val","concat","__spread","childNodes","querySelector","Renderer2","Output","ContentChild","static","read","ElementRef","ViewChild","ViewChildren","ToastComponent","styles","DEFAULTS","defaultError","defaultError401","defaultError403","defaultError404","ErrorHandler","store","appRef","cfRes","rendererFactory","injector","RestOccurError","res","_a","err","body","snq","HttpErrorResponse","headers","get","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","dispatch","Navigate","state","redirectUrl","selectSnapshot","RouterState","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","Store","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","ValidationErrorComponent","errors","map","index","slice","interpoliteParams","split","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ToasterService","addAll","messages","required","forms","Validators","minLength","ChangePasswordComponent","fb","toasterService","modalBusy","ngOnInit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","invalid","ChangePassword","currentPassword","finalize","reset","life","openModal","ngOnChanges","currentValue","FormBuilder","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","profile","userName","name","surname","phoneNumber","submit","UpdateProfile","decorators","target","desc","c","getOwnPropertyDescriptor","decorate","tslib_1.__decorate","Select","ProfileState","getProfile","Observable","BreadcrumbComponent","segments","LeptonLayoutState","splittedUrl","chunk","currentUrl","ConfigState","getRoute","arr","childRoute","element","children","find","child","path","this_1","appendScript","lazyLoadService","LazyLoadService","forkJoin","load","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","MessageService","useClass","NgModule","imports","CoreModule","ToastModule","NgxValidateCoreModule","targetSelector","blueprints","max","maxlength","min","minlength","passwordMismatch","errorTemplate","declarations","exports","entryComponents","fade","trigger","style","opacity","transition","animate","slideFromBottom","margin-top","Options","Toaster"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport class AbstractToaster {\n status$: Subject;\n\n key: string = 'abpToast';\n\n sticky: boolean = false;\n\n constructor(protected messageService: MessageService) {}\n info(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message || '',\n summary: title || '',\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky }),\n });\n this.status$ = new Subject();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster {\n key: string = 'abpConfirmation';\n\n sticky: boolean = true;\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n template: `\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n `,\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'abp-error',\n template: `\n
    \n \n
    \n
    \n
    \n

    \n {{ title | abpLocalization }}\n

    \n
    \n {{ details | abpLocalization }}\n
    \n \n
    \n
    \n
    \n
    \n `,\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title = 'Oops!';\n\n details = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router, NavigationError } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n
    \n
    \n
    \n `,\n styleUrls: ['./loader-bar.component.scss'],\n})\nexport class LoaderBarComponent implements OnDestroy {\n @Input()\n containerClass: string = 'abp-loader-bar';\n\n @Input()\n progressClass: string = 'abp-progress';\n\n @Input()\n isLoading: boolean = false;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n progressLevel: number = 0;\n\n interval: any;\n\n constructor(private actions: Actions, private router: Router) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this),\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(\n event =>\n event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError,\n ),\n takeUntilDestroy(this),\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n\n ngOnDestroy() {}\n\n startLoading() {\n this.isLoading = true;\n const interval = setInterval(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n clearInterval(interval);\n }\n }, 300);\n\n this.interval = interval;\n }\n\n stopLoading() {\n clearInterval(this.interval);\n this.progressLevel = 100;\n this.isLoading = false;\n\n setTimeout(() => {\n this.progressLevel = 0;\n }, 800);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'abp-button',\n template: `\n \n `,\n})\nexport class ButtonComponent {\n @Input()\n buttonClass: string = 'btn btn-primary';\n\n @Input()\n type: string = 'button';\n\n @Input()\n iconClass: string;\n\n @Input()\n loading: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spin fa-spinner' : this.iconClass || 'd-none'}`;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { filter, take, takeUntil, debounceTime } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\nconst ANIMATION_TIMEOUT = 200;\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n if (!this.modalContent) {\n if (value) {\n setTimeout(() => {\n this.showModal = value;\n this.visible = value;\n }, 0);\n }\n return;\n }\n\n if (value) {\n this.setVisible(value);\n this.listen();\n } else {\n this.closable = false;\n this.renderer.addClass(this.modalContent.nativeElement, 'fade-out-top');\n setTimeout(() => {\n this.setVisible(value);\n this.ngOnDestroy();\n }, ANIMATION_TIMEOUT - 10);\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered: boolean = false;\n\n @Input() modalClass: string = '';\n\n @Input() size: ModalSize = 'lg';\n\n @Input() height: number;\n\n @Input() minHeight: number;\n\n @Output() visibleChange = new EventEmitter();\n\n @Output() init = new EventEmitter();\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef;\n\n @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef;\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) abpSubmit: ButtonComponent;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n _visible: boolean = false;\n\n _busy: boolean = false;\n\n showModal: boolean = false;\n\n isOpenConfirmation: boolean = false;\n\n closable: boolean = false;\n\n destroy$ = new Subject();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n setVisible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n this.showModal = value;\n\n value\n ? timer(ANIMATION_TIMEOUT + 100)\n .pipe(take(1))\n .subscribe(_ => (this.closable = true))\n : (this.closable = false);\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape' && this.closable),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!(this.closable && this.modalContent)),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n\n close() {\n if (!this.closable || this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isOpenConfirmation) return;\n\n this.isOpenConfirmation = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n timer(ANIMATION_TIMEOUT).subscribe(() => {\n this.isOpenConfirmation = false;\n });\n\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n template: `\n \n \n \n
    \n
    {{ message.summary | abpLocalization: message.titleLocalizationParams }}
    \n
    {{ message.detail | abpLocalization: message.messageLocalizationParams }}
    \n
    \n
    \n
    \n `,\n})\nexport class ToastComponent {}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);\n\n if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(DEFAULTS.defaultError401.details, DEFAULTS.defaultError401.message).subscribe(() =>\n this.navigateToLogin(),\n );\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULTS.defaultError403.message,\n details: DEFAULTS.defaultError403.details,\n });\n break;\n case 404:\n this.showError(DEFAULTS.defaultError404.details, DEFAULTS.defaultError404.message);\n break;\n case 500:\n this.createErrorComponent({\n title: '500',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: 'Unknown Error',\n details: 'AbpAccount::InternalServerErrorMessage',\n });\n }\n break;\n default:\n this.showError(DEFAULTS.defaultError.details, DEFAULTS.defaultError.message);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULTS.defaultError.message;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.store.dispatch(\n new Navigate(['/account/login'], null, {\n state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },\n }),\n );\n }\n\n createErrorComponent(instance: Partial) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement('app-root', true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n selector: 'abp-validation-error',\n template: `\n
    \n {{ error.message | abpLocalization: error.interpoliteParams }}\n
    \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\n if (!this.errors || !this.errors.length) return [];\n\n return this.errors.map(error => {\n if (!error.message) return error;\n\n const index = error.message.indexOf('[');\n\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n\n return error;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n","import { ChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\nimport { ToasterService } from '../../services/toaster.service';\n\nconst { minLength, required } = Validators;\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(['newPassword', 'repeatNewPassword'])],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Select(ProfileState.getProfile)\n profile$: Observable;\n\n form: FormGroup;\n\n modalBusy: boolean = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1),\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n });\n }\n\n submit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { ConfigState, ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-breadcrumb',\n template: `\n
      \n
    1. \n \n
    2. \n \n {{ segment | abpLocalization }}\n \n
    \n `,\n})\nexport class BreadcrumbComponent implements OnInit {\n show: boolean;\n\n segments: string[] = [];\n\n constructor(private router: Router, private store: Store) {\n this.show = !!this.store.selectSnapshot(state => state.LeptonLayoutState);\n }\n\n ngOnInit(): void {\n const splittedUrl = this.router.url.split('/').filter(chunk => chunk);\n\n const currentUrl: ABP.FullRoute = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0]));\n this.segments.push(currentUrl.name);\n\n if (splittedUrl.length > 1) {\n const [, ...arr] = splittedUrl;\n\n let childRoute: ABP.FullRoute = currentUrl;\n for (let i = 0; i < arr.length; i++) {\n const element = arr[i];\n childRoute = childRoute.children.find(child => child.path === element);\n\n this.segments.push(childRoute.name);\n }\n }\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/errors/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ValidationErrorComponent } from './components/errors/validation-error.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';\n\nexport function appendScript(injector: Injector) {\n const fn = function() {\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).pipe(take(1));\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [\n CoreModule,\n ToastModule,\n NgxValidateCoreModule.forRoot({\n targetSelector: '.form-group',\n blueprints: {\n email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`,\n max: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`,\n maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`,\n min: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`,\n minlength: `AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]`,\n required: `AbpAccount::ThisFieldIsRequired.`,\n passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`,\n },\n errorTemplate: ValidationErrorComponent,\n }),\n ],\n declarations: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n ErrorComponent,\n LoaderBarComponent,\n ValidationErrorComponent,\n ChangePasswordComponent,\n ProfileComponent,\n BreadcrumbComponent,\n ],\n exports: [\n ButtonComponent,\n ConfirmationComponent,\n ToastComponent,\n ModalComponent,\n LoaderBarComponent,\n ChangePasswordComponent,\n ProfileComponent,\n BreadcrumbComponent,\n ],\n entryComponents: [ErrorComponent, ValidationErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const fade = trigger('fade', [\n state('void', style({ opacity: 1 })),\n transition(':enter', [style({ opacity: 0 }), animate(250)]),\n transition(':leave', animate(250, style({ opacity: 0 }))),\n]);\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('routeAnimations', [\n state('void', style({ 'margin-top': '20px', opacity: '0' })),\n state('*', style({ 'margin-top': '0px', opacity: '1' })),\n transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]),\n]);\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n"]} \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js index cbcb2c5c65..43d4337172 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/abp-ng.theme.shared.js @@ -5,15 +5,19 @@ /** * Generated bundle index. Do not edit. */ -export { appendScript, ThemeSharedModule, slideFromBottom, ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; +export { appendScript, ThemeSharedModule, fade, slideFromBottom, ButtonComponent, BreadcrumbComponent, ChangePasswordComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ProfileComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { BreadcrumbComponent as ɵm } from './lib/components/breadcrumb/breadcrumb.component'; export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ChangePasswordComponent as ɵj } from './lib/components/change-password/change-password.component'; export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ProfileComponent as ɵl } from './lib/components/profile/profile.component'; export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ErrorHandler as ɵn } from './lib/handlers/error.handler'; export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdFRvYXN0ZXIgYXMgybVlfSBmcm9tICcuL2xpYi9hYnN0cmFjdHMvdG9hc3Rlcic7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtUb2FzdENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JIYW5kbGVyIGFzIMm1an0gZnJvbSAnLi9saWIvaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5leHBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7Il19 \ No newline at end of file +export { ToasterService as ɵk } from './lib/services/toaster.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaVJBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0Fic3RyYWN0VG9hc3RlciBhcyDJtWV9IGZyb20gJy4vbGliL2Fic3RyYWN0cy90b2FzdGVyJztcbmV4cG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7VG9hc3RDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Vycm9ySGFuZGxlciBhcyDJtW59IGZyb20gJy4vbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtUb2FzdGVyU2VydmljZSBhcyDJtWt9IGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js index fa064768bb..fa72c8b23e 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/abstracts/toaster.js @@ -61,7 +61,7 @@ export class AbstractToaster { */ show(message, title, severity, options) { this.messageService.clear(this.key); - this.messageService.add(Object.assign({ severity, detail: message, summary: title }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); + this.messageService.add(Object.assign({ severity, detail: message || '', summary: title || '' }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); this.status$ = new Subject(); return this.status$; } @@ -88,4 +88,4 @@ if (false) { */ AbstractToaster.prototype.messageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQXNCLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpwRCxRQUFHLEdBQVcsVUFBVSxDQUFDO1FBRXpCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFFK0IsQ0FBQzs7Ozs7OztJQUN4RCxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7OztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQVc7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7Ozs7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxRQUEwQixFQUFFLE9BQVc7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFDckIsUUFBUSxFQUNSLE1BQU0sRUFBRSxPQUFPLEVBQ2YsT0FBTyxFQUFFLEtBQUssSUFDWCxPQUFPLElBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQ1YsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQ3RGLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxNQUF1QjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSwyQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGOzs7SUEzQ0Msa0NBQWlDOztJQUVqQyw4QkFBeUI7O0lBRXpCLGlDQUF3Qjs7Ozs7SUFFWix5Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VG9hc3RlcjxUID0gVG9hc3Rlci5PcHRpb25zPiB7XG4gIHN0YXR1cyQ6IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+O1xuXG4gIGtleTogc3RyaW5nID0gJ2FicFRvYXN0JztcblxuICBzdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7fVxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2luZm8nLCBvcHRpb25zKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xuICB9XG5cbiAgd2FybihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICd3YXJuJywgb3B0aW9ucyk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdlcnJvcicsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3cobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBzZXZlcml0eTogVG9hc3Rlci5TZXZlcml0eSwgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLmtleSk7XG5cbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICBzZXZlcml0eSxcbiAgICAgIGRldGFpbDogbWVzc2FnZSxcbiAgICAgIHN1bW1hcnk6IHRpdGxlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAuLi4odHlwZW9mIChvcHRpb25zIHx8ICh7fSBhcyBhbnkpKS5zdGlja3kgPT09ICd1bmRlZmluZWQnICYmIHsgc3RpY2t5OiB0aGlzLnN0aWNreSB9KSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YXR1cyQgPSBuZXcgU3ViamVjdDxUb2FzdGVyLlN0YXR1cz4oKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMkO1xuICB9XG5cbiAgY2xlYXIoc3RhdHVzPzogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcbiAgICB0aGlzLnN0YXR1cyQubmV4dChzdGF0dXMgfHwgVG9hc3Rlci5TdGF0dXMuZGlzbWlzcyk7XG4gICAgdGhpcy5zdGF0dXMkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxlQUFlOzs7O0lBTzFCLFlBQXNCLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpwRCxRQUFHLEdBQVcsVUFBVSxDQUFDO1FBRXpCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFFK0IsQ0FBQzs7Ozs7OztJQUN4RCxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7OztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQVc7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7Ozs7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxRQUEwQixFQUFFLE9BQVc7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFDckIsUUFBUSxFQUNSLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUNyQixPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFDakIsT0FBTyxJQUNWLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUNWLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLG1CQUFBLEVBQUUsRUFBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssV0FBVyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUN0RixDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsTUFBdUI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sMkJBQTBCLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7Q0FDRjs7O0lBM0NDLGtDQUFpQzs7SUFFakMsOEJBQXlCOztJQUV6QixpQ0FBd0I7Ozs7O0lBRVoseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi9tb2RlbHMvdG9hc3Rlcic7XG5cbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFRvYXN0ZXI8VCA9IFRvYXN0ZXIuT3B0aW9ucz4ge1xuICBzdGF0dXMkOiBTdWJqZWN0PFRvYXN0ZXIuU3RhdHVzPjtcblxuICBrZXk6IHN0cmluZyA9ICdhYnBUb2FzdCc7XG5cbiAgc3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge31cbiAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdpbmZvJywgb3B0aW9ucyk7XG4gIH1cblxuICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3N1Y2Nlc3MnLCBvcHRpb25zKTtcbiAgfVxuXG4gIHdhcm4obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnd2FybicsIG9wdGlvbnMpO1xuICB9XG5cbiAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnZXJyb3InLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG93KG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgc2V2ZXJpdHk6IFRvYXN0ZXIuU2V2ZXJpdHksIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIodGhpcy5rZXkpO1xuXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgc2V2ZXJpdHksXG4gICAgICBkZXRhaWw6IG1lc3NhZ2UgfHwgJycsXG4gICAgICBzdW1tYXJ5OiB0aXRsZSB8fCAnJyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgLi4uKHR5cGVvZiAob3B0aW9ucyB8fCAoe30gYXMgYW55KSkuc3RpY2t5ID09PSAndW5kZWZpbmVkJyAmJiB7IHN0aWNreTogdGhpcy5zdGlja3kgfSksXG4gICAgfSk7XG4gICAgdGhpcy5zdGF0dXMkID0gbmV3IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+KCk7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzJDtcbiAgfVxuXG4gIGNsZWFyKHN0YXR1cz86IFRvYXN0ZXIuU3RhdHVzKSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLmtleSk7XG4gICAgdGhpcy5zdGF0dXMkLm5leHQoc3RhdHVzIHx8IFRvYXN0ZXIuU3RhdHVzLmRpc21pc3MpO1xuICAgIHRoaXMuc3RhdHVzJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/fade.animations.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/fade.animations.js new file mode 100644 index 0000000000..7b11917a61 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/fade.animations.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export const fade = trigger('fade', [ + state('void', style({ opacity: 1 })), + transition(':enter', [style({ opacity: 0 }), animate(250)]), + transition(':leave', animate(250, style({ opacity: 0 }))), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRWpGLE1BQU0sT0FBTyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRTtJQUNsQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBmYWRlID0gdHJpZ2dlcignZmFkZScsIFtcbiAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKDI1MCldKSxcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgYW5pbWF0ZSgyNTAsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSkpLFxuXSk7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js index 6945f98905..56c7f53734 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/index.js @@ -2,5 +2,6 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { slideFromBottom } from './slide.animation'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9uJztcbiJdfQ== \ No newline at end of file +export { fade } from './fade.animations'; +export { slideFromBottom } from './slide.animations'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxxQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxnQ0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmFkZS5hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9ucyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js deleted file mode 100644 index 2b4b9c1e4f..0000000000 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animation.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import { animate, state, style, transition, trigger } from '@angular/animations'; -/** @type {?} */ -export const slideFromBottom = trigger('routeAnimations', [ - state('void', style({ 'margin-top': '20px', opacity: '0' })), - state('*', style({ 'margin-top': '0px', opacity: '1' })), - transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), -]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9zbGlkZS5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFTLE1BQU0scUJBQXFCLENBQUM7O0FBQ3hGLE1BQU0sT0FBTyxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3hELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1RCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgcXVlcnkgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmV4cG9ydCBjb25zdCBzbGlkZUZyb21Cb3R0b20gPSB0cmlnZ2VyKCdyb3V0ZUFuaW1hdGlvbnMnLCBbXG4gIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcyMHB4Jywgb3BhY2l0eTogJzAnIH0pKSxcbiAgc3RhdGUoJyonLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzBweCcsIG9wYWNpdHk6ICcxJyB9KSksXG4gIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMScsICdtYXJnaW4tdG9wJzogJzBweCcgfSkpXSksXG5dKTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animations.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animations.js new file mode 100644 index 0000000000..3d416a8f59 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/animations/slide.animations.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export const slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FuaW1hdGlvbnMvc2xpZGUuYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQVMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFDeEYsTUFBTSxPQUFPLGVBQWUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDeEQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVELEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCBxdWVyeSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuZXhwb3J0IGNvbnN0IHNsaWRlRnJvbUJvdHRvbSA9IHRyaWdnZXIoJ3JvdXRlQW5pbWF0aW9ucycsIFtcbiAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzIwcHgnLCBvcGFjaXR5OiAnMCcgfSkpLFxuICBzdGF0ZSgnKicsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnMHB4Jywgb3BhY2l0eTogJzEnIH0pKSxcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6ICcxJywgJ21hcmdpbi10b3AnOiAnMHB4JyB9KSldKSxcbl0pO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/breadcrumb/breadcrumb.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/breadcrumb/breadcrumb.component.js new file mode 100644 index 0000000000..e77afe6a39 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/breadcrumb/breadcrumb.component.js @@ -0,0 +1,95 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngxs/store'; +import { ConfigState } from '@abp/ng.core'; +export class BreadcrumbComponent { + /** + * @param {?} router + * @param {?} store + */ + constructor(router, store) { + this.router = router; + this.store = store; + this.segments = []; + this.show = !!this.store.selectSnapshot((/** + * @param {?} state + * @return {?} + */ + state => state.LeptonLayoutState)); + } + /** + * @return {?} + */ + ngOnInit() { + /** @type {?} */ + const splittedUrl = this.router.url.split('/').filter((/** + * @param {?} chunk + * @return {?} + */ + chunk => chunk)); + /** @type {?} */ + const currentUrl = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0])); + this.segments.push(currentUrl.name); + if (splittedUrl.length > 1) { + const [, ...arr] = splittedUrl; + /** @type {?} */ + let childRoute = currentUrl; + for (let i = 0; i < arr.length; i++) { + /** @type {?} */ + const element = arr[i]; + childRoute = childRoute.children.find((/** + * @param {?} child + * @return {?} + */ + child => child.path === element)); + this.segments.push(childRoute.name); + } + } + } +} +BreadcrumbComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-breadcrumb', + template: ` + + ` + }] } +]; +/** @nocollapse */ +BreadcrumbComponent.ctorParameters = () => [ + { type: Router }, + { type: Store } +]; +if (false) { + /** @type {?} */ + BreadcrumbComponent.prototype.show; + /** @type {?} */ + BreadcrumbComponent.prototype.segments; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.router; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBTyxNQUFNLGNBQWMsQ0FBQztBQW9CaEQsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7SUFLOUIsWUFBb0IsTUFBYyxFQUFVLEtBQVk7UUFBcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFGeEQsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUd0QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBQyxDQUFDO0lBQzVFLENBQUM7Ozs7SUFFRCxRQUFROztjQUNBLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFDOztjQUUvRCxVQUFVLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7a0JBQ3BCLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFdBQVc7O2dCQUUxQixVQUFVLEdBQWtCLFVBQVU7WUFDMUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O3NCQUM3QixPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSTs7OztnQkFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFDLENBQUM7Z0JBRXZFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyQztTQUNGO0lBQ0gsQ0FBQzs7O1lBNUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7YUFDRjs7OztZQXJCUSxNQUFNO1lBQ04sS0FBSzs7OztJQXNCWixtQ0FBYzs7SUFFZCx1Q0FBd0I7Ozs7O0lBRVoscUNBQXNCOzs7OztJQUFFLG9DQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSwgQUJQIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxvbCAqbmdJZj1cInNob3dcIiBjbGFzcz1cImJyZWFkY3J1bWJcIj5cbiAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiPlxuICAgICAgICA8YSByb3V0ZXJMaW5rPVwiL1wiPjxpIGNsYXNzPVwiZmEgZmEtaG9tZVwiPjwvaT4gPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICAqbmdGb3I9XCJsZXQgc2VnbWVudCBvZiBzZWdtZW50czsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImxhc3RcIlxuICAgICAgICBhcmlhLWN1cnJlbnQ9XCJwYWdlXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VnbWVudCB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgPC9saT5cbiAgICA8L29sPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2hvdzogYm9vbGVhbjtcblxuICBzZWdtZW50czogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMuc2hvdyA9ICEhdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChzdGF0ZSA9PiBzdGF0ZS5MZXB0b25MYXlvdXRTdGF0ZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzcGxpdHRlZFVybCA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihjaHVuayA9PiBjaHVuayk7XG5cbiAgICBjb25zdCBjdXJyZW50VXJsOiBBQlAuRnVsbFJvdXRlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChDb25maWdTdGF0ZS5nZXRSb3V0ZShzcGxpdHRlZFVybFswXSkpO1xuICAgIHRoaXMuc2VnbWVudHMucHVzaChjdXJyZW50VXJsLm5hbWUpO1xuXG4gICAgaWYgKHNwbGl0dGVkVXJsLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IFssIC4uLmFycl0gPSBzcGxpdHRlZFVybDtcblxuICAgICAgbGV0IGNoaWxkUm91dGU6IEFCUC5GdWxsUm91dGUgPSBjdXJyZW50VXJsO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGFycltpXTtcbiAgICAgICAgY2hpbGRSb3V0ZSA9IGNoaWxkUm91dGUuY2hpbGRyZW4uZmluZChjaGlsZCA9PiBjaGlsZC5wYXRoID09PSBlbGVtZW50KTtcblxuICAgICAgICB0aGlzLnNlZ21lbnRzLnB1c2goY2hpbGRSb3V0ZS5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/change-password/change-password.component.js new file mode 100644 index 0000000000..3a7eb6552d --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/change-password/change-password.component.js @@ -0,0 +1,161 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { ChangePassword } from '@abp/ng.core'; +import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; +import { FormBuilder, Validators } from '@angular/forms'; +import { comparePasswords } from '@ngx-validate/core'; +import { Store } from '@ngxs/store'; +import snq from 'snq'; +import { finalize } from 'rxjs/operators'; +import { ToasterService } from '../../services/toaster.service'; +const { minLength, required } = Validators; +export class ChangePasswordComponent { + /** + * @param {?} fb + * @param {?} store + * @param {?} toasterService + */ + constructor(fb, store, toasterService) { + this.fb = fb; + this.store = store; + this.toasterService = toasterService; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + /** + * @return {?} + */ + get visible() { + return this._visible; + } + /** + * @param {?} value + * @return {?} + */ + set visible(value) { + this._visible = value; + this.visibleChange.emit(value); + } + /** + * @return {?} + */ + ngOnInit() { + this.form = this.fb.group({ + password: ['', required], + newPassword: ['', required], + repeatNewPassword: ['', required], + }, { + validators: [comparePasswords(['newPassword', 'repeatNewPassword'])], + }); + } + /** + * @return {?} + */ + onSubmit() { + if (this.form.invalid) + return; + this.modalBusy = true; + this.store + .dispatch(new ChangePassword({ + currentPassword: this.form.get('password').value, + newPassword: this.form.get('newPassword').value, + })) + .pipe(finalize((/** + * @return {?} + */ + () => { + this.modalBusy = false; + }))) + .subscribe({ + next: (/** + * @return {?} + */ + () => { + this.visible = false; + this.form.reset(); + }), + error: (/** + * @param {?} err + * @return {?} + */ + err => { + this.toasterService.error(snq((/** + * @return {?} + */ + () => err.error.error.message), 'AbpAccount::DefaultErrorMessage'), 'Error', { + life: 7000, + }); + }), + }); + } + /** + * @return {?} + */ + openModal() { + this.visible = true; + } + /** + * @param {?} __0 + * @return {?} + */ + ngOnChanges({ visible }) { + if (!visible) + return; + if (visible.currentValue) { + this.openModal(); + } + else if (visible.currentValue === false && this.visible) { + this.visible = false; + } + } +} +ChangePasswordComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-change-password', + template: "\n \n

    {{ 'AbpIdentity::ChangePassword' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + }] } +]; +/** @nocollapse */ +ChangePasswordComponent.ctorParameters = () => [ + { type: FormBuilder }, + { type: Store }, + { type: ToasterService } +]; +ChangePasswordComponent.propDecorators = { + visible: [{ type: Input }], + visibleChange: [{ type: Output }], + modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }] +}; +if (false) { + /** + * @type {?} + * @protected + */ + ChangePasswordComponent.prototype._visible; + /** @type {?} */ + ChangePasswordComponent.prototype.visibleChange; + /** @type {?} */ + ChangePasswordComponent.prototype.modalContent; + /** @type {?} */ + ChangePasswordComponent.prototype.form; + /** @type {?} */ + ChangePasswordComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.store; + /** + * @type {?} + * @private + */ + ChangePasswordComponent.prototype.toasterService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztNQUUxRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVO0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7Ozs7OztJQXVCbEMsWUFBb0IsRUFBZSxFQUFVLEtBQVksRUFBVSxjQUE4QjtRQUE3RSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVRqRyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPNUMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUV5RSxDQUFDOzs7O0lBcEJyRyxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FB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Q29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VQYXNzd29yZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlJztcblxuY29uc3QgeyBtaW5MZW5ndGgsIHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX3Zpc2libGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbW9kYWxDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgbmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbY29tcGFyZVBhc3N3b3JkcyhbJ25ld1Bhc3N3b3JkJywgJ3JlcGVhdE5ld1Bhc3N3b3JkJ10pXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChcbiAgICAgICAgbmV3IENoYW5nZVBhc3N3b3JkKHtcbiAgICAgICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ25ld1Bhc3N3b3JkJykudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3Ioc25xKCgpID0+IGVyci5lcnJvci5lcnJvci5tZXNzYWdlLCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpLCAnRXJyb3InLCB7XG4gICAgICAgICAgICBsaWZlOiA3MDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgdmlzaWJsZSB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF2aXNpYmxlKSByZXR1cm47XG5cbiAgICBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/confirmation/confirmation.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/confirmation/confirmation.component.js index 2224d732e7..1fc497334a 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/confirmation/confirmation.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/confirmation/confirmation.component.js @@ -48,7 +48,13 @@ ConfirmationComponent.decorators = [ - @@ -74,4 +80,4 @@ if (false) { */ ConfirmationComponent.prototype.confirmationService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFvQzFFLE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFLaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKNUQsWUFBTywyQkFBMEI7UUFDakMsV0FBTSx5QkFBeUI7UUFDL0IsWUFBTywyQkFBMEI7SUFFOEIsQ0FBQzs7Ozs7SUFFaEUsS0FBSyxDQUFDLE1BQXNCO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7O1lBMUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJUO2FBQ0Y7Ozs7WUFuQ1EsbUJBQW1COzs7O0lBcUMxQix3Q0FBaUM7O0lBQ2pDLHVDQUErQjs7SUFDL0Isd0NBQWlDOzs7OztJQUVyQixvREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cC10b2FzdFxuICAgICAgcG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAga2V5PVwiYWJwQ29uZmlybWF0aW9uXCJcbiAgICAgIChvbkNsb3NlKT1cImNsb3NlKGRpc21pc3MpXCJcbiAgICAgIFttb2RhbF09XCJ0cnVlXCJcbiAgICAgIFtiYXNlWkluZGV4XT1cIjEwMDBcIlxuICAgICAgc3R5bGVDbGFzcz1cIlwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2Uuc3VtbWFyeVwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2Uuc3VtbWFyeSB8IGFicExvY2FsaXphdGlvbjogbWVzc2FnZS50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UuZGV0YWlsIHwgYWJwTG9jYWxpemF0aW9uOiBtZXNzYWdlLm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXMgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVDYW5jZWxCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShyZWplY3QpXCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlLmNhbmNlbENvcHkgfHwgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVZZXNCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShjb25maXJtKVwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgbWVzc2FnZS55ZXNDb3B5IHx8ICdBYnBJZGVudGl0eTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10b2FzdD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgY29uZmlybSA9IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm07XG4gIHJlamVjdCA9IFRvYXN0ZXIuU3RhdHVzLnJlamVjdDtcbiAgZGlzbWlzcyA9IFRvYXN0ZXIuU3RhdHVzLmRpc21pc3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGNsb3NlKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xlYXIoc3RhdHVzKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUEwQzFFLE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFLaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKNUQsWUFBTywyQkFBMEI7UUFDakMsV0FBTSx5QkFBeUI7UUFDL0IsWUFBTywyQkFBMEI7SUFFOEIsQ0FBQzs7Ozs7SUFFaEUsS0FBSyxDQUFDLE1BQXNCO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNUO2FBQ0Y7Ozs7WUF6Q1EsbUJBQW1COzs7O0lBMkMxQix3Q0FBaUM7O0lBQ2pDLHVDQUErQjs7SUFDL0Isd0NBQWlDOzs7OztJQUVyQixvREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cC10b2FzdFxuICAgICAgcG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAga2V5PVwiYWJwQ29uZmlybWF0aW9uXCJcbiAgICAgIChvbkNsb3NlKT1cImNsb3NlKGRpc21pc3MpXCJcbiAgICAgIFttb2RhbF09XCJ0cnVlXCJcbiAgICAgIFtiYXNlWkluZGV4XT1cIjEwMDBcIlxuICAgICAgc3R5bGVDbGFzcz1cIlwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2Uuc3VtbWFyeVwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2Uuc3VtbWFyeSB8IGFicExvY2FsaXphdGlvbjogbWVzc2FnZS50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UuZGV0YWlsIHwgYWJwTG9jYWxpemF0aW9uOiBtZXNzYWdlLm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXMgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVDYW5jZWxCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShyZWplY3QpXCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlLmNhbmNlbENvcHkgfHwgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhbWVzc2FnZS5oaWRlWWVzQnRuXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoY29uZmlybSlcIlxuICAgICAgICAgICAgYXV0b2ZvY3VzXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgbWVzc2FnZS55ZXNDb3B5IHx8ICdBYnBJZGVudGl0eTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10b2FzdD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgY29uZmlybSA9IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm07XG4gIHJlamVjdCA9IFRvYXN0ZXIuU3RhdHVzLnJlamVjdDtcbiAgZGlzbWlzcyA9IFRvYXN0ZXIuU3RhdHVzLmRpc21pc3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGNsb3NlKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xlYXIoc3RhdHVzKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js index ef830217e2..056a0009d9 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/index.js @@ -3,8 +3,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { ButtonComponent } from './button/button.component'; +export { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'; +export { ChangePasswordComponent } from './change-password/change-password.component'; export { ConfirmationComponent } from './confirmation/confirmation.component'; export { LoaderBarComponent } from './loader-bar/loader-bar.component'; export { ModalComponent } from './modal/modal.component'; +export { ProfileComponent } from './profile/profile.component'; export { ToastComponent } from './toast/toast.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxvQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCx3Q0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QyxpQ0FBYyw2QkFBNkIsQ0FBQztBQUM1QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js index 30129eeed6..2f6a467602 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/loader-bar/loader-bar.component.js @@ -4,7 +4,7 @@ */ import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; -import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { NavigationEnd, NavigationStart, Router, NavigationError } from '@angular/router'; import { takeUntilDestroy } from '@ngx-validate/core'; import { Actions, ofActionSuccessful } from '@ngxs/store'; import { filter } from 'rxjs/operators'; @@ -42,7 +42,7 @@ export class LoaderBarComponent { * @param {?} event * @return {?} */ - event => event instanceof NavigationStart || event instanceof NavigationEnd)), takeUntilDestroy(this)) + event => event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError)), takeUntilDestroy(this)) .subscribe((/** * @param {?} event * @return {?} @@ -144,4 +144,4 @@ if (false) { */ LoaderBarComponent.prototype.router; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV3hDLE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBaUI3QixZQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmNUQsbUJBQWMsR0FBVyxnQkFBZ0IsQ0FBQztRQUcxQyxrQkFBYSxHQUFXLGNBQWMsQ0FBQztRQUd2QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLFdBQU07Ozs7UUFBRyxDQUFDLE1BQWdDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7OztJQUVoQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O2NBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQzFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsR0FBRSxHQUFHLENBQUM7UUFFUCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsV0FBVztRQUNULGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBNUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRjs7OztZQVhRLE9BQU87WUFGeUIsTUFBTTs7OzZCQWU1QyxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSztxQkFHTCxLQUFLOzs7O0lBVE4sNENBQzBDOztJQUUxQywyQ0FDdUM7O0lBRXZDLHVDQUMyQjs7SUFFM0Isb0NBQ3NHOztJQUV0RywyQ0FBMEI7O0lBRTFCLHNDQUFjOzs7OztJQUVGLHFDQUF3Qjs7Ozs7SUFBRSxvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFydExvYWRlciwgU3RvcExvYWRlciB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZBY3Rpb25TdWNjZXNzZnVsIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9hZGVyLWJhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cImFicC1sb2FkZXItYmFyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwicHJvZ3Jlc3NDbGFzc1wiIFtzdHlsZS53aWR0aC52d109XCJwcm9ncmVzc0xldmVsXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlci1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgY29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICdhYnAtbG9hZGVyLWJhcic7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NDbGFzczogc3RyaW5nID0gJ2FicC1wcm9ncmVzcyc7XG5cbiAgQElucHV0KClcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyID0gKGFjdGlvbjogU3RhcnRMb2FkZXIgfCBTdG9wTG9hZGVyKSA9PiBhY3Rpb24ucGF5bG9hZC51cmwuaW5kZXhPZignb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSA8IDA7XG5cbiAgcHJvZ3Jlc3NMZXZlbDogbnVtYmVyID0gMDtcblxuICBpbnRlcnZhbDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIGFjdGlvbnNcbiAgICAgIC5waXBlKFxuICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICBmaWx0ZXIodGhpcy5maWx0ZXIpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoYWN0aW9uIGluc3RhbmNlb2YgU3RhcnRMb2FkZXIpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgfSk7XG5cbiAgICByb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIHN0YXJ0TG9hZGluZygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgNzUpIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IE1hdGgucmFuZG9tKCkgKiAxMDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgOTApIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuNDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgMTAwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAzMDApO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IGludGVydmFsO1xuICB9XG5cbiAgc3RvcExvYWRpbmcoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAxMDA7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcbiAgICB9LCA4MDApO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVd4QyxNQUFNLE9BQU8sa0JBQWtCOzs7OztJQWlCN0IsWUFBb0IsT0FBZ0IsRUFBVSxNQUFjO1FBQXhDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZjVELG1CQUFjLEdBQVcsZ0JBQWdCLENBQUM7UUFHMUMsa0JBQWEsR0FBVyxjQUFjLENBQUM7UUFHdkMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixXQUFNOzs7O1FBQUcsQ0FBQyxNQUFnQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUM7UUFFdEcsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFLeEIsT0FBTzthQUNKLElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ25CLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sWUFBWSxXQUFXO2dCQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztRQUVMLE1BQU0sQ0FBQyxNQUFNO2FBQ1YsSUFBSSxDQUNILE1BQU07Ozs7UUFDSixLQUFLLENBQUMsRUFBRSxDQUNOLEtBQUssWUFBWSxlQUFlLElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUN6RyxFQUNELGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXLEtBQUksQ0FBQzs7OztJQUVoQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O2NBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQzFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsR0FBRSxHQUFHLENBQUM7UUFFUCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsV0FBVztRQUNULGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBL0VGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRjs7OztZQVhRLE9BQU87WUFGeUIsTUFBTTs7OzZCQWU1QyxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSztxQkFHTCxLQUFLOzs7O0lBVE4sNENBQzBDOztJQUUxQywyQ0FDdUM7O0lBRXZDLHVDQUMyQjs7SUFFM0Isb0NBQ3NHOztJQUV0RywyQ0FBMEI7O0lBRTFCLHNDQUFjOzs7OztJQUVGLHFDQUF3Qjs7Ozs7SUFBRSxvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFydExvYWRlciwgU3RvcExvYWRlciB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyLCBOYXZpZ2F0aW9uRXJyb3IgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2FkZXItYmFyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGlkPVwiYWJwLWxvYWRlci1iYXJcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc1wiIFtjbGFzcy5pcy1sb2FkaW5nXT1cImlzTG9hZGluZ1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJwcm9ncmVzc0NsYXNzXCIgW3N0eWxlLndpZHRoLnZ3XT1cInByb2dyZXNzTGV2ZWxcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLWJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBjb250YWluZXJDbGFzczogc3RyaW5nID0gJ2FicC1sb2FkZXItYmFyJztcblxuICBASW5wdXQoKVxuICBwcm9ncmVzc0NsYXNzOiBzdHJpbmcgPSAnYWJwLXByb2dyZXNzJztcblxuICBASW5wdXQoKVxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmaWx0ZXIgPSAoYWN0aW9uOiBTdGFydExvYWRlciB8IFN0b3BMb2FkZXIpID0+IGFjdGlvbi5wYXlsb2FkLnVybC5pbmRleE9mKCdvcGVuaWQtY29uZmlndXJhdGlvbicpIDwgMDtcblxuICBwcm9ncmVzc0xldmVsOiBudW1iZXIgPSAwO1xuXG4gIGludGVydmFsOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgYWN0aW9uc1xuICAgICAgLnBpcGUoXG4gICAgICAgIG9mQWN0aW9uU3VjY2Vzc2Z1bChTdGFydExvYWRlciwgU3RvcExvYWRlciksXG4gICAgICAgIGZpbHRlcih0aGlzLmZpbHRlciksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFjdGlvbiA9PiB7XG4gICAgICAgIGlmIChhY3Rpb24gaW5zdGFuY2VvZiBTdGFydExvYWRlcikgdGhpcy5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICB9KTtcblxuICAgIHJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgZXZlbnQgPT5cbiAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcixcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgc3RhcnRMb2FkaW5nKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCA3NSkge1xuICAgICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gTWF0aC5yYW5kb20oKSAqIDEwO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCA5MCkge1xuICAgICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC40O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCAxMDApIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgfVxuICAgIH0sIDMwMCk7XG5cbiAgICB0aGlzLmludGVydmFsID0gaW50ZXJ2YWw7XG4gIH1cblxuICBzdG9wTG9hZGluZygpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDEwMDtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAwO1xuICAgIH0sIDgwMCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/profile/profile.component.js new file mode 100644 index 0000000000..e8924090e3 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/components/profile/profile.component.js @@ -0,0 +1,141 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { FormBuilder, Validators } from '@angular/forms'; +import { Select, Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { take, withLatestFrom } from 'rxjs/operators'; +const { maxLength, required, email } = Validators; +export class ProfileComponent { + /** + * @param {?} fb + * @param {?} store + */ + constructor(fb, store) { + this.fb = fb; + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + /** + * @return {?} + */ + get visible() { + return this._visible; + } + /** + * @param {?} value + * @return {?} + */ + set visible(value) { + this._visible = value; + this.visibleChange.emit(value); + } + /** + * @return {?} + */ + buildForm() { + this.store + .dispatch(new GetProfile()) + .pipe(withLatestFrom(this.profile$), take(1)) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + ([, profile]) => { + this.form = this.fb.group({ + userName: [profile.userName, [required, maxLength(256)]], + email: [profile.email, [required, email, maxLength(256)]], + name: [profile.name || '', [maxLength(64)]], + surname: [profile.surname || '', [maxLength(64)]], + phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], + }); + })); + } + /** + * @return {?} + */ + submit() { + if (this.form.invalid) + return; + this.modalBusy = true; + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** + * @return {?} + */ + () => { + this.modalBusy = false; + this.visible = false; + this.form.reset(); + })); + } + /** + * @return {?} + */ + openModal() { + this.buildForm(); + this.visible = true; + } + /** + * @param {?} __0 + * @return {?} + */ + ngOnChanges({ visible }) { + if (!visible) + return; + if (visible.currentValue) { + this.openModal(); + } + else if (visible.currentValue === false && this.visible) { + this.visible = false; + } + } +} +ProfileComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-profile', + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + }] } +]; +/** @nocollapse */ +ProfileComponent.ctorParameters = () => [ + { type: FormBuilder }, + { type: Store } +]; +ProfileComponent.propDecorators = { + visible: [{ type: Input }], + visibleChange: [{ type: Output }] +}; +tslib_1.__decorate([ + Select(ProfileState.getProfile), + tslib_1.__metadata("design:type", Observable) +], ProfileComponent.prototype, "profile$", void 0); +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQVcsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7TUFFaEQsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVU7QUFNakQsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUF1QjNCLFlBQW9CLEVBQWUsRUFBVSxLQUFZO1FBQXJDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVHpELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81QyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRWlDLENBQUM7Ozs7SUFwQjdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQWNELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSzthQUNQLFFBQVEsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2FBQzFCLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7OztZQXZFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDhqRUFBdUM7YUFDeEM7Ozs7WUFWUSxXQUFXO1lBQ0gsS0FBSzs7O3NCQWFuQixLQUFLOzRCQVVMLE1BQU07O0FBSVA7SUFEQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztzQ0FDdEIsVUFBVTtrREFBbUI7Ozs7OztJQWhCdkMsb0NBQW1COztJQVluQix5Q0FDNEM7O0lBRTVDLG9DQUN1Qzs7SUFFdkMsZ0NBQWdCOztJQUVoQixxQ0FBMkI7Ozs7O0lBRWYsOEJBQXVCOzs7OztJQUFFLGlDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGUsIEdldFByb2ZpbGUsIFByb2ZpbGVTdGF0ZSwgVXBkYXRlUHJvZmlsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBTZWxlY3QoUHJvZmlsZVN0YXRlLmdldFByb2ZpbGUpXG4gIHByb2ZpbGUkOiBPYnNlcnZhYmxlPFByb2ZpbGUuUmVzcG9uc2U+O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBtb2RhbEJ1c3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0UHJvZmlsZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucHJvZmlsZSQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgcHJvZmlsZV0pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgdXNlck5hbWU6IFtwcm9maWxlLnVzZXJOYW1lLCBbcmVxdWlyZWQsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgZW1haWw6IFtwcm9maWxlLmVtYWlsLCBbcmVxdWlyZWQsIGVtYWlsLCBtYXhMZW5ndGgoMjU2KV1dLFxuICAgICAgICAgIG5hbWU6IFtwcm9maWxlLm5hbWUgfHwgJycsIFttYXhMZW5ndGgoNjQpXV0sXG4gICAgICAgICAgc3VybmFtZTogW3Byb2ZpbGUuc3VybmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBwaG9uZU51bWJlcjogW3Byb2ZpbGUucGhvbmVOdW1iZXIgfHwgJycsIFttYXhMZW5ndGgoMTYpXV0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js index b988453e14..e1ec0552d4 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/contants/styles.js @@ -36,13 +36,19 @@ export default ` background-color: rgba(0, 0, 0, .6); } -.abp-ellipsis { +.abp-ellipsis-inline { display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.abp-ellipsis { + overflow: hidden !important; + text-overflow: ellipsis; + white-space: nowrap; +} + /* ((/** @type {?} */ (err))).error.error), DEFAULTS.defaultError.message); - if (err.headers.get('_AbpErrorFormat')) { + if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) { /** @type {?} */ const confirmation$ = this.showError(null, null, body); if (err.status === 401) { @@ -215,4 +216,4 @@ if (false) { */ ErrorHandler.prototype.injector; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDOzs7OztNQUVoQixRQUFRLEdBQUc7SUFDZixZQUFZLEVBQUU7UUFDWixPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE9BQU8sRUFBRSwyRUFBMkU7S0FDckY7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLE9BQU8sRUFBRSxnREFBZ0Q7S0FDMUQ7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLE9BQU8sRUFBRSx1REFBdUQ7S0FDakU7Q0FDRjtBQUdELE1BQU0sT0FBTyxZQUFZOzs7Ozs7Ozs7O0lBQ3ZCLFlBQ1UsT0FBZ0IsRUFDaEIsS0FBWSxFQUNaLG1CQUF3QyxFQUN4QyxNQUFzQixFQUN0QixLQUErQixFQUMv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LFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBQSxZQUFZLENBQUMsUUFBUSxFQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDekQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OztZQXZHRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O1lBN0J6QixPQUFPO1lBQXNCLEtBQUs7WUFJbEMsbUJBQW1CO1lBWjFCLGNBQWM7WUFDZCx3QkFBd0I7WUFJeEIsZ0JBQWdCO1lBRGhCLFFBQVE7Ozs7Ozs7O0lBb0NOLCtCQUF3Qjs7Ozs7SUFDeEIsNkJBQW9COzs7OztJQUNwQiwyQ0FBZ0Q7Ozs7O0lBQ2hELDhCQUE4Qjs7Ozs7SUFDOUIsNkJBQXVDOzs7OztJQUN2Qyx1Q0FBeUM7Ozs7O0lBQ3pDLGdDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSwgUm91dGVyU3RhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0ZXInO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcblxuY29uc3QgREVGQVVMVFMgPSB7XG4gIGRlZmF1bHRFcnJvcjoge1xuICAgIG1lc3NhZ2U6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQhJyxcbiAgICBkZXRhaWxzOiAnRXJyb3IgZGV0YWlsIG5vdCBzZW50IGJ5IHNlcnZlci4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMToge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRoZW50aWNhdGVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBzaG91bGQgYmUgYXV0aGVudGljYXRlZCAoc2lnbiBpbikgaW4gb3JkZXIgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwMzoge1xuICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhdXRob3JpemVkIScsXG4gICAgZGV0YWlsczogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxuICB9LFxuXG4gIGRlZmF1bHRFcnJvcjQwNDoge1xuICAgIG1lc3NhZ2U6ICdSZXNvdXJjZSBub3QgZm91bmQhJyxcbiAgICBkZXRhaWxzOiAnVGhlIHJlc291cmNlIHJlcXVlc3RlZCBjb3VsZCBub3QgZm91bmQgb24gdGhlIHNlcnZlci4nLFxuICB9LFxufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGNmUmVzOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIGFjdGlvbnMucGlwZShvZkFjdGlvblN1Y2Nlc3NmdWwoUmVzdE9jY3VyRXJyb3IpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IHsgcGF5bG9hZDogZXJyID0ge30gYXMgSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkgfSA9IHJlcztcbiAgICAgIGNvbnN0IGJvZHkgPSBzbnEoKCkgPT4gKGVyciBhcyBIdHRwRXJyb3JSZXNwb25zZSkuZXJyb3IuZXJyb3IsIERFRkFVTFRTLmRlZmF1bHRFcnJvci5tZXNzYWdlKTtcblxuICAgICAgaWYgKGVyci5oZWFkZXJzLmdldCgnX0FicEVycm9yRm9ybWF0JykpIHtcbiAgICAgICAgY29uc3QgY29uZmlybWF0aW9uJCA9IHRoaXMuc2hvd0Vycm9yKG51bGwsIG51bGwsIGJvZHkpO1xuXG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICBjb25maXJtYXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbigpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xuICAgICAgICAgIGNhc2UgNDAxOlxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoREVGQVVMVFMuZGVmYXVsdEVycm9yNDAxLmRldGFpbHMsIERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMS5tZXNzYWdlKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogREVGQVVMVFMuZGVmYXVsdEVycm9yNDAzLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIGRldGFpbHM6IERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMy5kZXRhaWxzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQwNDpcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwNC5kZXRhaWxzLCBERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDQubWVzc2FnZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDUwMDpcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICB0aXRsZTogJzUwMCcsXG4gICAgICAgICAgICAgIGRldGFpbHM6ICdBYnBBY2NvdW50OjpJbnRlcm5hbFNlcnZlckVycm9yTWVzc2FnZScsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIGlmICgoZXJyIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5zdGF0dXNUZXh0ID09PSAnVW5rbm93biBFcnJvcicpIHtcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdVbmtub3duIEVycm9yJyxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiAnQWJwQWNjb3VudDo6SW50ZXJuYWxTZXJ2ZXJFcnJvck1lc3NhZ2UnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihERUZBVUxUUy5kZWZhdWx0RXJyb3IuZGV0YWlscywgREVGQVVMVFMuZGVmYXVsdEVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0Vycm9yKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCBib2R5PzogYW55KTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIGlmIChib2R5KSB7XG4gICAgICBpZiAoYm9keS5kZXRhaWxzKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBib2R5LmRldGFpbHM7XG4gICAgICAgIHRpdGxlID0gYm9keS5tZXNzYWdlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZSA9IGJvZHkubWVzc2FnZSB8fCBERUZBVUxUUy5kZWZhdWx0RXJyb3IubWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlLCB7XG4gICAgICBoaWRlQ2FuY2VsQnRuOiB0cnVlLFxuICAgICAgeWVzQ29weTogJ09LJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0xvZ2luKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgTmF2aWdhdGUoWycvYWNjb3VudC9sb2dpbiddLCBudWxsLCB7XG4gICAgICAgIHN0YXRlOiB7IHJlZGlyZWN0VXJsOiB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKS5zdGF0ZS51cmwgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVFcnJvckNvbXBvbmVudChpbnN0YW5jZTogUGFydGlhbDxFcnJvckNvbXBvbmVudD4pIHtcbiAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICAgIGNvbnN0IGhvc3QgPSByZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCgnYXBwLXJvb3QnLCB0cnVlKTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY2ZSZXMucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRXJyb3JDb21wb25lbnQpLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbXBvbmVudFJlZi5pbnN0YW5jZSkge1xuICAgICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gaW5zdGFuY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoaG9zdCwgKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdKTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZW5kZXJlciA9IHJlbmRlcmVyO1xuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5lbGVtZW50UmVmID0gY29tcG9uZW50UmVmLmxvY2F0aW9uO1xuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5ob3N0ID0gaG9zdDtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDOzs7OztNQUVoQixRQUFRLEdBQUc7SUFDZixZQUFZLEVBQUU7UUFDWixPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE9BQU8sRUFBRSwyRUFBMkU7S0FDckY7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLE9BQU8sRUFBRSxnREFBZ0Q7S0FDMUQ7SUFFRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLE9BQU8sRUFBRSx1REFBdUQ7S0FDakU7Q0FDRjtBQUdELE1BQU0sT0FBTyxZQUFZOzs7Ozs7Ozs7O0lBQ3ZCLFlBQ1UsT0FBZ0IsRUFDaEIsS0FBWSxFQUNaLG1CQUF3QyxFQUN4QyxNQUFzQixFQUN0QixLQUErQixFQUMvQixlQUFpQyxFQUNqQyxRQUFrQjtRQU5sQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQTBCO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7a0JBQ3pELEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxtQkFBQSxFQUFFLEVBQTJCLEVBQUUsR0FBRyxHQUFHOztrQkFDdEQsSUFBSSxHQUFHLEdBQUc7OztZQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsbUJBQUEsR0FBRyxFQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRSxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUU3RixJQUFJLEdBQUcsWUFBWSxpQkFBaUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFOztzQkFDcEUsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7Z0JBRXRELElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQ3RCLGFBQWEsQ0FBQyxTQUFTOzs7b0JBQUMsR0FBRyxFQUFFO3dCQUMzQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3pCLENBQUMsRUFBQyxDQUFDO2lCQUNKO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLG1CQUFBLEdBQUcsRUFBcUIsQ0FBQyxDQUFDLE1BQU0sRUFBRTtvQkFDekMsS0FBSyxHQUFHO3dCQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTOzs7d0JBQUMsR0FBRyxFQUFFLENBQ2hHLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFDdkIsQ0FBQzt3QkFDRixNQUFNO29CQUNSLEtBQUssR0FBRzt3QkFDTixJQUFJLENBQUMsb0JBQW9CLENBQUM7NEJBQ3hCLEtBQUssRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU87NEJBQ3ZDLE9BQU8sRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU87eUJBQzFDLENBQUMsQ0FBQzt3QkFDSCxNQUFNO29CQUNSLEtBQUssR0FBRzt3QkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ25GLE1BQU07b0JBQ1IsS0FBSyxHQUFHO3dCQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzs0QkFDeEIsS0FBSyxFQUFFLEtBQUs7NEJBQ1osT0FBTyxFQUFFLHdDQUF3Qzt5QkFDbEQsQ0FBQyxDQUFDO3dCQUNILE1BQU07b0JBQ1IsS0FBSyxDQUFDO3dCQUNKLElBQUksQ0FBQyxtQkFBQSxHQUFHLEVBQXFCLENBQUMsQ0FBQyxVQUFVLEtBQUssZUFBZSxFQUFFOzRCQUM3RCxJQUFJLENBQUMsb0JBQW9CLENBQUM7Z0NBQ3hCLEtBQUssRUFBRSxlQUFlO2dDQUN0QixPQUFPLEVBQUUsd0NBQXdDOzZCQUNsRCxDQUFDLENBQUM7eUJBQ0o7d0JBQ0QsTUFBTTtvQkFDUjt3QkFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQzdFLE1BQU07aUJBQ1Q7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7Ozs7SUFFTyxTQUFTLENBQUMsT0FBZ0IsRUFBRSxLQUFjLEVBQUUsSUFBVTtRQUM1RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ3ZCLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ3pEO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUNwRCxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsSUFBSSxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRTtZQUNyQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtTQUN6RSxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Ozs7O0lBRUQsb0JBQW9CLENBQUMsUUFBaUM7O2NBQzlDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDOztjQUMxRCxJQUFJLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7O2NBRW5ELFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdGLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsbUJBQUEsWUFBWSxDQUFDLFFBQVEsRUFBd0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpGLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMxQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3pELFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDOzs7WUF2R0YsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztZQTdCekIsT0FBTztZQUFzQixLQUFLO1lBSWxDLG1CQUFtQjtZQVoxQixjQUFjO1lBQ2Qsd0JBQXdCO1lBSXhCLGdCQUFnQjtZQURoQixRQUFROzs7Ozs7OztJQW9DTiwrQkFBd0I7Ozs7O0lBQ3hCLDZCQUFvQjs7Ozs7SUFDcEIsMkNBQWdEOzs7OztJQUNoRCw4QkFBOEI7Ozs7O0lBQzlCLDZCQUF1Qzs7Ozs7SUFDdkMsdUNBQXlDOzs7OztJQUN6QyxnQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN0T2NjdXJFcnJvciB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGUsIFJvdXRlclN0YXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvblN1Y2Nlc3NmdWwsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5cbmNvbnN0IERFRkFVTFRTID0ge1xuICBkZWZhdWx0RXJyb3I6IHtcbiAgICBtZXNzYWdlOiAnQW4gZXJyb3IgaGFzIG9jY3VycmVkIScsXG4gICAgZGV0YWlsczogJ0Vycm9yIGRldGFpbCBub3Qgc2VudCBieSBzZXJ2ZXIuJyxcbiAgfSxcblxuICBkZWZhdWx0RXJyb3I0MDE6IHtcbiAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYXV0aGVudGljYXRlZCEnLFxuICAgIGRldGFpbHM6ICdZb3Ugc2hvdWxkIGJlIGF1dGhlbnRpY2F0ZWQgKHNpZ24gaW4pIGluIG9yZGVyIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24uJyxcbiAgfSxcblxuICBkZWZhdWx0RXJyb3I0MDM6IHtcbiAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYXV0aG9yaXplZCEnLFxuICAgIGRldGFpbHM6ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24uJyxcbiAgfSxcblxuICBkZWZhdWx0RXJyb3I0MDQ6IHtcbiAgICBtZXNzYWdlOiAnUmVzb3VyY2Ugbm90IGZvdW5kIScsXG4gICAgZGV0YWlsczogJ1RoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuJyxcbiAgfSxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBjZlJlczogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICBhY3Rpb25zLnBpcGUob2ZBY3Rpb25TdWNjZXNzZnVsKFJlc3RPY2N1ckVycm9yKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICBjb25zdCB7IHBheWxvYWQ6IGVyciA9IHt9IGFzIEh0dHBFcnJvclJlc3BvbnNlIHwgYW55IH0gPSByZXM7XG4gICAgICBjb25zdCBib2R5ID0gc25xKCgpID0+IChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLmVycm9yLmVycm9yLCBERUZBVUxUUy5kZWZhdWx0RXJyb3IubWVzc2FnZSk7XG5cbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiBlcnIuaGVhZGVycy5nZXQoJ19BYnBFcnJvckZvcm1hdCcpKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1hdGlvbiQgPSB0aGlzLnNob3dFcnJvcihudWxsLCBudWxsLCBib2R5KTtcblxuICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgY29uZmlybWF0aW9uJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoICgoZXJyIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5zdGF0dXMpIHtcbiAgICAgICAgICBjYXNlIDQwMTpcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMS5kZXRhaWxzLCBERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDEubWVzc2FnZSkuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0xvZ2luKCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA0MDM6XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50KHtcbiAgICAgICAgICAgICAgdGl0bGU6IERFRkFVTFRTLmRlZmF1bHRFcnJvcjQwMy5tZXNzYWdlLFxuICAgICAgICAgICAgICBkZXRhaWxzOiBERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDMuZGV0YWlscyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA0MDQ6XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihERUZBVUxUUy5kZWZhdWx0RXJyb3I0MDQuZGV0YWlscywgREVGQVVMVFMuZGVmYXVsdEVycm9yNDA0Lm1lc3NhZ2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA1MDA6XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50KHtcbiAgICAgICAgICAgICAgdGl0bGU6ICc1MDAnLFxuICAgICAgICAgICAgICBkZXRhaWxzOiAnQWJwQWNjb3VudDo6SW50ZXJuYWxTZXJ2ZXJFcnJvck1lc3NhZ2UnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICBpZiAoKGVyciBhcyBIdHRwRXJyb3JSZXNwb25zZSkuc3RhdHVzVGV4dCA9PT0gJ1Vua25vd24gRXJyb3InKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnQoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnVW5rbm93biBFcnJvcicsXG4gICAgICAgICAgICAgICAgZGV0YWlsczogJ0FicEFjY291bnQ6OkludGVybmFsU2VydmVyRXJyb3JNZXNzYWdlJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoREVGQVVMVFMuZGVmYXVsdEVycm9yLmRldGFpbHMsIERFRkFVTFRTLmRlZmF1bHRFcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dFcnJvcihtZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgYm9keT86IGFueSk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICBpZiAoYm9keSkge1xuICAgICAgaWYgKGJvZHkuZGV0YWlscykge1xuICAgICAgICBtZXNzYWdlID0gYm9keS5kZXRhaWxzO1xuICAgICAgICB0aXRsZSA9IGJvZHkubWVzc2FnZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2UgPSBib2R5Lm1lc3NhZ2UgfHwgREVGQVVMVFMuZGVmYXVsdEVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSwge1xuICAgICAgaGlkZUNhbmNlbEJ0bjogdHJ1ZSxcbiAgICAgIHllc0NvcHk6ICdPSycsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9Mb2dpbigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IE5hdmlnYXRlKFsnL2FjY291bnQvbG9naW4nXSwgbnVsbCwge1xuICAgICAgICBzdGF0ZTogeyByZWRpcmVjdFVybDogdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSkuc3RhdGUudXJsIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlRXJyb3JDb21wb25lbnQoaW5zdGFuY2U6IFBhcnRpYWw8RXJyb3JDb21wb25lbnQ+KSB7XG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICBjb25zdCBob3N0ID0gcmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoJ2FwcC1yb290JywgdHJ1ZSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNmUmVzLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEVycm9yQ29tcG9uZW50KS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb21wb25lbnRSZWYuaW5zdGFuY2UpIHtcbiAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2UuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IGluc3RhbmNlW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGhvc3QsIChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSk7XG5cbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZWxlbWVudFJlZiA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbjtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaG9zdCA9IGhvc3Q7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/models/index.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/models/index.js index cc2ac4afa2..d5daee2159 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/models/index.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/models/index.js @@ -4,4 +4,5 @@ */ export {} from './confirmation'; export { Toaster } from './toaster'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGVBQWMsZ0JBQWdCLENBQUM7QUFDL0Isd0JBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyJztcbiJdfQ== \ No newline at end of file +export {} from './setting-management'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGVBQWMsZ0JBQWdCLENBQUM7QUFDL0Isd0JBQWMsV0FBVyxDQUFDO0FBQzFCLGVBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5nLW1hbmFnZW1lbnQnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/models/setting-management.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/models/setting-management.js new file mode 100644 index 0000000000..86b3c50948 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/models/setting-management.js @@ -0,0 +1,19 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +/** + * @record + */ +export function SettingTab() { } +if (false) { + /** @type {?} */ + SettingTab.prototype.name; + /** @type {?} */ + SettingTab.prototype.order; + /** @type {?} */ + SettingTab.prototype.component; + /** @type {?|undefined} */ + SettingTab.prototype.requiredPolicy; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL3NldHRpbmctbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEsZ0NBS0M7OztJQUpDLDBCQUFhOztJQUNiLDJCQUFjOztJQUNkLCtCQUFxQjs7SUFDckIsb0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdUYWIge1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGNvbXBvbmVudDogVHlwZTxhbnk+O1xuICByZXF1aXJlZFBvbGljeT86IHN0cmluZztcbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js b/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js index d267f21f2e..577c637fd7 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/lib/theme-shared.module.js @@ -4,7 +4,6 @@ */ import { CoreModule, LazyLoadService } from '@abp/ng.core'; import { APP_INITIALIZER, Injector, NgModule } from '@angular/core'; -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; import { ToastModule } from 'primeng/toast'; @@ -19,6 +18,9 @@ import styles from './contants/styles'; import { ErrorHandler } from './handlers/error.handler'; import { ButtonComponent } from './components/button/button.component'; import { ValidationErrorComponent } from './components/errors/validation-error.component'; +import { ChangePasswordComponent } from './components/change-password/change-password.component'; +import { ProfileComponent } from './components/profile/profile.component'; +import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; /** * @param {?} injector * @return {?} @@ -59,15 +61,14 @@ ThemeSharedModule.decorators = [ imports: [ CoreModule, ToastModule, - NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', blueprints: { email: `AbpAccount::ThisFieldIsNotAValidEmailAddress.`, - max: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ max }}]`, + max: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`, maxlength: `AbpAccount::ThisFieldMustBeAStringWithAMaximumLengthOf{1}[{{ requiredLength }}]`, - min: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, - minlength: `AbpAccount::ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}[{{ min }},{{ max }}]`, + min: `AbpAccount::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]`, + minlength: `AbpAccount::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf[{{ min }},{{ max }}]`, required: `AbpAccount::ThisFieldIsRequired.`, passwordMismatch: `AbpIdentity::Identity.PasswordConfirmationFailed`, }, @@ -82,9 +83,21 @@ ThemeSharedModule.decorators = [ ErrorComponent, LoaderBarComponent, ValidationErrorComponent, + ChangePasswordComponent, + ProfileComponent, + BreadcrumbComponent, + ], + exports: [ + ButtonComponent, + ConfirmationComponent, + ToastComponent, + ModalComponent, + LoaderBarComponent, + ChangePasswordComponent, + ProfileComponent, + BreadcrumbComponent, ], - exports: [NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, ModalComponent, LoaderBarComponent], entryComponents: [ErrorComponent, ValidationErrorComponent], },] } ]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7O0FBRTFGLE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBa0I7O1VBQ3ZDLEVBQUU7OztJQUFHOztjQUNILGVBQWUsR0FBb0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFFdEUsT0FBTyxRQUFRLENBQ2IsZUFBZSxDQUFDLElBQUksQ0FDbEIsSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksQ0FDYixDQUFDLG1EQUFtRCxDQUN0RCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFpQ0QsTUFBTSxPQUFPLGlCQUFpQjs7OztJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsS0FBSyxFQUFFLElBQUk7b0JBQ1gsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztvQkFDOUIsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2dCQUNELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO2FBQ3REO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQTdDRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFVBQVU7b0JBQ1YsV0FBVztvQkFDWCxjQUFjO29CQUNkLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzt3QkFDNUIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLFVBQVUsRUFBRTs0QkFDVixLQUFLLEVBQUUsK0NBQStDOzRCQUN0RCxHQUFHLEVBQUUsc0VBQXNFOzRCQUMzRSxTQUFTLEVBQUUsaUZBQWlGOzRCQUM1RixHQUFHLEVBQUUsc0dBQXNHOzRCQUMzRyxTQUFTLEVBQUUsc0dBQXNHOzRCQUNqSCxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxnQkFBZ0IsRUFBRSxrREFBa0Q7eUJBQ3JFO3dCQUNELGFBQWEsRUFBRSx3QkFBd0I7cUJBQ3hDLENBQUM7aUJBQ0g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2dCQUNySCxlQUFlLEVBQUUsQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7YUFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBMYXp5TG9hZFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYk1vZGFsTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9jb250YW50cy9zdHlsZXMnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy9lcnJvci5oYW5kbGVyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3JzL3ZhbGlkYXRpb24tZXJyb3IuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFNjcmlwdChpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3QgZm4gPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBsYXp5TG9hZFNlcnZpY2U6IExhenlMb2FkU2VydmljZSA9IGluamVjdG9yLmdldChMYXp5TG9hZFNlcnZpY2UpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgbGF6eUxvYWRTZXJ2aWNlLmxvYWQoXG4gICAgICAgIG51bGwsXG4gICAgICAgICdzdHlsZScsXG4gICAgICAgIHN0eWxlcyxcbiAgICAgICAgJ2hlYWQnLFxuICAgICAgICAnYWZ0ZXJiZWdpbicsXG4gICAgICApIC8qIGxhenlMb2FkU2VydmljZS5sb2FkKG51bGwsICdzY3JpcHQnLCBzY3JpcHRzKSAqLyxcbiAgICApLnBpcGUodGFrZSgxKSk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ2JNb2RhbE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICB0YXJnZXRTZWxlY3RvcjogJy5mb3JtLWdyb3VwJyxcbiAgICAgIGJsdWVwcmludHM6IHtcbiAgICAgICAgZW1haWw6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRJc05vdEFWYWxpZEVtYWlsQWRkcmVzcy5gLFxuICAgICAgICBtYXg6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nV2l0aEFNYXhpbXVtTGVuZ3RoT2Z7MX1be3sgbWF4IH19XWAsXG4gICAgICAgIG1heGxlbmd0aDogYEFicEFjY291bnQ6OlRoaXNGaWVsZE11c3RCZUFTdHJpbmdXaXRoQU1heGltdW1MZW5ndGhPZnsxfVt7eyByZXF1aXJlZExlbmd0aCB9fV1gLFxuICAgICAgICBtaW46IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nV2l0aEFNaW5pbXVtTGVuZ3RoT2Z7MX1BbmRBTWF4aW11bUxlbmd0aE9mezB9W3t7IG1pbiB9fSx7eyBtYXggfX1dYCxcbiAgICAgICAgbWlubGVuZ3RoOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkTXVzdEJlQVN0cmluZ1dpdGhBTWluaW11bUxlbmd0aE9mezF9QW5kQU1heGltdW1MZW5ndGhPZnswfVt7eyBtaW4gfX0se3sgbWF4IH19XWAsXG4gICAgICAgIHJlcXVpcmVkOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkSXNSZXF1aXJlZC5gLFxuICAgICAgICBwYXNzd29yZE1pc21hdGNoOiBgQWJwSWRlbnRpdHk6OklkZW50aXR5LlBhc3N3b3JkQ29uZmlybWF0aW9uRmFpbGVkYCxcbiAgICAgIH0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQsXG4gICAgfSksXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Db21wb25lbnQsXG4gICAgVG9hc3RDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JDb21wb25lbnQsXG4gICAgTG9hZGVyQmFyQ29tcG9uZW50LFxuICAgIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW05nYk1vZGFsTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIENvbmZpcm1hdGlvbkNvbXBvbmVudCwgVG9hc3RDb21wb25lbnQsIE1vZGFsQ29tcG9uZW50LCBMb2FkZXJCYXJDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtFcnJvckNvbXBvbmVudCwgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0luamVjdG9yLCBFcnJvckhhbmRsZXJdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGFwcGVuZFNjcmlwdCxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNZXNzYWdlU2VydmljZSwgdXNlQ2xhc3M6IE1lc3NhZ2VTZXJ2aWNlIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFFbkYsTUFBTSxVQUFVLFlBQVksQ0FBQyxRQUFrQjs7VUFDdkMsRUFBRTs7O0lBQUc7O2NBQ0gsZUFBZSxHQUFvQixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUV0RSxPQUFPLFFBQVEsQ0FDYixlQUFlLENBQUMsSUFBSSxDQUNsQixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sWUFBWSxDQUNiLENBQUMsbURBQW1ELENBQ3RELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQTRDRCxNQUFNLE9BQU8saUJBQWlCOzs7O0lBQzVCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO29CQUM5QixVQUFVLEVBQUUsWUFBWTtpQkFDekI7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7YUFDdEQ7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBeERGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVTtvQkFDVixXQUFXO29CQUNYLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzt3QkFDNUIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLFVBQVUsRUFBRTs0QkFDVixLQUFLLEVBQUUsK0NBQStDOzRCQUN0RCxHQUFHLEVBQUUsa0VBQWtFOzRCQUN2RSxTQUFTLEVBQUUsaUZBQWlGOzRCQUM1RixHQUFHLEVBQUUsa0VBQWtFOzRCQUN2RSxTQUFTLEVBQUUsd0ZBQXdGOzRCQUNuRyxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxnQkFBZ0IsRUFBRSxrREFBa0Q7eUJBQ3JFO3dCQUNELGFBQWEsRUFBRSx3QkFBd0I7cUJBQ3hDLENBQUM7aUJBQ0g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIsdUJBQXVCO29CQUN2QixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQix1QkFBdUI7b0JBQ3ZCLGdCQUFnQjtvQkFDaEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7YUFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBMYXp5TG9hZFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vY29udGFudHMvc3R5bGVzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFNjcmlwdChpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3QgZm4gPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBsYXp5TG9hZFNlcnZpY2U6IExhenlMb2FkU2VydmljZSA9IGluamVjdG9yLmdldChMYXp5TG9hZFNlcnZpY2UpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgbGF6eUxvYWRTZXJ2aWNlLmxvYWQoXG4gICAgICAgIG51bGwsXG4gICAgICAgICdzdHlsZScsXG4gICAgICAgIHN0eWxlcyxcbiAgICAgICAgJ2hlYWQnLFxuICAgICAgICAnYWZ0ZXJiZWdpbicsXG4gICAgICApIC8qIGxhenlMb2FkU2VydmljZS5sb2FkKG51bGwsICdzY3JpcHQnLCBzY3JpcHRzKSAqLyxcbiAgICApLnBpcGUodGFrZSgxKSk7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICB0YXJnZXRTZWxlY3RvcjogJy5mb3JtLWdyb3VwJyxcbiAgICAgIGJsdWVwcmludHM6IHtcbiAgICAgICAgZW1haWw6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRJc05vdEFWYWxpZEVtYWlsQWRkcmVzcy5gLFxuICAgICAgICBtYXg6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVCZXR3ZWVuezB9QW5kezF9W3t7IG1pbiB9fSx7eyBtYXggfX1dYCxcbiAgICAgICAgbWF4bGVuZ3RoOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkTXVzdEJlQVN0cmluZ1dpdGhBTWF4aW11bUxlbmd0aE9mezF9W3t7IHJlcXVpcmVkTGVuZ3RoIH19XWAsXG4gICAgICAgIG1pbjogYEFicEFjY291bnQ6OlRoaXNGaWVsZE11c3RCZUJldHdlZW57MH1BbmR7MX1be3sgbWluIH19LHt7IG1heCB9fV1gLFxuICAgICAgICBtaW5sZW5ndGg6IGBBYnBBY2NvdW50OjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nT3JBcnJheVR5cGVXaXRoQU1pbmltdW1MZW5ndGhPZlt7eyBtaW4gfX0se3sgbWF4IH19XWAsXG4gICAgICAgIHJlcXVpcmVkOiBgQWJwQWNjb3VudDo6VGhpc0ZpZWxkSXNSZXF1aXJlZC5gLFxuICAgICAgICBwYXNzd29yZE1pc21hdGNoOiBgQWJwSWRlbnRpdHk6OklkZW50aXR5LlBhc3N3b3JkQ29uZmlybWF0aW9uRmFpbGVkYCxcbiAgICAgIH0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQsXG4gICAgfSksXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Db21wb25lbnQsXG4gICAgVG9hc3RDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JDb21wb25lbnQsXG4gICAgTG9hZGVyQmFyQ29tcG9uZW50LFxuICAgIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCxcbiAgICBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCxcbiAgICBQcm9maWxlQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIFRvYXN0Q29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIExvYWRlckJhckNvbXBvbmVudCxcbiAgICBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCxcbiAgICBQcm9maWxlQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW0Vycm9yQ29tcG9uZW50LCBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNoYXJlZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVGhlbWVTaGFyZWRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3IsIEVycm9ySGFuZGxlcl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogYXBwZW5kU2NyaXB0LFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1lc3NhZ2VTZXJ2aWNlLCB1c2VDbGFzczogTWVzc2FnZVNlcnZpY2UgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm2015/public-api.js b/npm/ng-packs/dist/theme-shared/esm2015/public-api.js index 63a1b51e26..3ce6f1abc8 100644 --- a/npm/ng-packs/dist/theme-shared/esm2015/public-api.js +++ b/npm/ng-packs/dist/theme-shared/esm2015/public-api.js @@ -6,8 +6,8 @@ * Public API Surface of theme-shared */ export { appendScript, ThemeSharedModule } from './lib/theme-shared.module'; -export { slideFromBottom } from './lib/animations'; -export { ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent } from './lib/components'; +export { fade, slideFromBottom } from './lib/animations'; +export { ButtonComponent, BreadcrumbComponent, ChangePasswordComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ProfileComponent, ToastComponent } from './lib/components'; export { Toaster } from './lib/models'; export { ConfirmationService, ToasterService } from './lib/services'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsZ0RBQWMsMkJBQTJCLENBQUM7QUFDMUMsZ0NBQWMsa0JBQWtCLENBQUM7QUFDakMsMkdBQWMsa0JBQWtCLENBQUM7QUFDakMsd0JBQWMsY0FBYyxDQUFDO0FBQzdCLG9EQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1zaGFyZWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS1zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsZ0RBQWMsMkJBQTJCLENBQUM7QUFDMUMsc0NBQWMsa0JBQWtCLENBQUM7QUFDakMsMktBQWMsa0JBQWtCLENBQUM7QUFDakMsd0JBQWMsY0FBYyxDQUFDO0FBQzdCLG9EQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1zaGFyZWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS1zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js b/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js index cbcb2c5c65..43d4337172 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js +++ b/npm/ng-packs/dist/theme-shared/esm5/abp-ng.theme.shared.js @@ -5,15 +5,19 @@ /** * Generated bundle index. Do not edit. */ -export { appendScript, ThemeSharedModule, slideFromBottom, ButtonComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; +export { appendScript, ThemeSharedModule, fade, slideFromBottom, ButtonComponent, BreadcrumbComponent, ChangePasswordComponent, ConfirmationComponent, LoaderBarComponent, ModalComponent, ProfileComponent, ToastComponent, Toaster, ConfirmationService, ToasterService } from './public-api'; export { AbstractToaster as ɵe } from './lib/abstracts/toaster'; +export { BreadcrumbComponent as ɵm } from './lib/components/breadcrumb/breadcrumb.component'; export { ButtonComponent as ɵb } from './lib/components/button/button.component'; +export { ChangePasswordComponent as ɵj } from './lib/components/change-password/change-password.component'; export { ConfirmationComponent as ɵc } from './lib/components/confirmation/confirmation.component'; export { ErrorComponent as ɵh } from './lib/components/errors/error.component'; export { ValidationErrorComponent as ɵa } from './lib/components/errors/validation-error.component'; export { LoaderBarComponent as ɵi } from './lib/components/loader-bar/loader-bar.component'; export { ModalComponent as ɵg } from './lib/components/modal/modal.component'; +export { ProfileComponent as ɵl } from './lib/components/profile/profile.component'; export { ToastComponent as ɵf } from './lib/components/toast/toast.component'; -export { ErrorHandler as ɵj } from './lib/handlers/error.handler'; +export { ErrorHandler as ɵn } from './lib/handlers/error.handler'; export { ConfirmationService as ɵd } from './lib/services/confirmation.service'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMk1BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdFRvYXN0ZXIgYXMgybVlfSBmcm9tICcuL2xpYi9hYnN0cmFjdHMvdG9hc3Rlcic7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtUb2FzdENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JIYW5kbGVyIGFzIMm1an0gZnJvbSAnLi9saWIvaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XG5leHBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7Il19 \ No newline at end of file +export { ToasterService as ɵk } from './lib/services/toaster.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsiYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaVJBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0Fic3RyYWN0VG9hc3RlciBhcyDJtWV9IGZyb20gJy4vbGliL2Fic3RyYWN0cy90b2FzdGVyJztcbmV4cG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQge0J1dHRvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RXJyb3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy9lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9ycy92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckJhckNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9maWxlQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCB7VG9hc3RDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Vycm9ySGFuZGxlciBhcyDJtW59IGZyb20gJy4vbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXInO1xuZXhwb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtUb2FzdGVyU2VydmljZSBhcyDJtWt9IGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZSc7Il19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js b/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js index 0f9543327f..7ae677cd9e 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/abstracts/toaster.js @@ -94,7 +94,7 @@ AbstractToaster = /** @class */ (function () { */ function (message, title, severity, options) { this.messageService.clear(this.key); - this.messageService.add(tslib_1.__assign({ severity: severity, detail: message, summary: title }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); + this.messageService.add(tslib_1.__assign({ severity: severity, detail: message || '', summary: title || '' }, options, { key: this.key }, (typeof (options || ((/** @type {?} */ ({})))).sticky === 'undefined' && { sticky: this.sticky }))); this.status$ = new Subject(); return this.status$; }; @@ -130,4 +130,4 @@ if (false) { */ AbstractToaster.prototype.messageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUczQzs7OztJQU9FLHlCQUFzQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKcEQsUUFBRyxHQUFXLFVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQVksS0FBSyxDQUFDO0lBRStCLENBQUM7Ozs7Ozs7SUFDeEQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsaUNBQU87Ozs7OztJQUFQLFVBQVEsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7O0lBRUQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsK0JBQUs7Ozs7OztJQUFMLFVBQU0sT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyw4QkFBSTs7Ozs7Ozs7SUFBZCxVQUFlLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBMEIsRUFBRSxPQUFXO1FBQ3BGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQ3JCLFFBQVEsVUFBQSxFQUNSLE1BQU0sRUFBRSxPQUFPLEVBQ2YsT0FBTyxFQUFFLEtBQUssSUFDWCxPQUFPLElBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQ1YsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQUEsRUFBRSxFQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQ3RGLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELCtCQUFLOzs7O0lBQUwsVUFBTSxNQUF1QjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSwyQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQzs7Ozs7OztJQTNDQyxrQ0FBaUM7O0lBRWpDLDhCQUF5Qjs7SUFFekIsaUNBQXdCOzs7OztJQUVaLHlDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RUb2FzdGVyPFQgPSBUb2FzdGVyLk9wdGlvbnM+IHtcbiAgc3RhdHVzJDogU3ViamVjdDxUb2FzdGVyLlN0YXR1cz47XG5cbiAga2V5OiBzdHJpbmcgPSAnYWJwVG9hc3QnO1xuXG4gIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIG9wdGlvbnMpO1xuICB9XG5cbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdzdWNjZXNzJywgb3B0aW9ucyk7XG4gIH1cblxuICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm4nLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHNldmVyaXR5OiBUb2FzdGVyLlNldmVyaXR5LCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcblxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5LFxuICAgICAgZGV0YWlsOiBtZXNzYWdlLFxuICAgICAgc3VtbWFyeTogdGl0bGUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgIC4uLih0eXBlb2YgKG9wdGlvbnMgfHwgKHt9IGFzIGFueSkpLnN0aWNreSA9PT0gJ3VuZGVmaW5lZCcgJiYgeyBzdGlja3k6IHRoaXMuc3RpY2t5IH0pLFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFRvYXN0ZXIuU3RhdHVzPigpO1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyQ7XG4gIH1cblxuICBjbGVhcihzdGF0dXM/OiBUb2FzdGVyLlN0YXR1cykge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIodGhpcy5rZXkpO1xuICAgIHRoaXMuc3RhdHVzJC5uZXh0KHN0YXR1cyB8fCBUb2FzdGVyLlN0YXR1cy5kaXNtaXNzKTtcbiAgICB0aGlzLnN0YXR1cyQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUczQzs7OztJQU9FLHlCQUFzQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKcEQsUUFBRyxHQUFXLFVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQVksS0FBSyxDQUFDO0lBRStCLENBQUM7Ozs7Ozs7SUFDeEQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsaUNBQU87Ozs7OztJQUFQLFVBQVEsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7O0lBRUQsOEJBQUk7Ozs7OztJQUFKLFVBQUssT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7Ozs7O0lBRUQsK0JBQUs7Ozs7OztJQUFMLFVBQU0sT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFXO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7Ozs7Ozs7SUFFUyw4QkFBSTs7Ozs7Ozs7SUFBZCxVQUFlLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBMEIsRUFBRSxPQUFXO1FBQ3BGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQ3JCLFFBQVEsVUFBQSxFQUNSLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUNyQixPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFDakIsT0FBTyxJQUNWLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUNWLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLG1CQUFBLEVBQUUsRUFBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssV0FBVyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUN0RixDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCwrQkFBSzs7OztJQUFMLFVBQU0sTUFBdUI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sMkJBQTBCLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUE1Q0QsSUE0Q0M7Ozs7Ozs7SUEzQ0Msa0NBQWlDOztJQUVqQyw4QkFBeUI7O0lBRXpCLGlDQUF3Qjs7Ozs7SUFFWix5Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uL21vZGVscy90b2FzdGVyJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VG9hc3RlcjxUID0gVG9hc3Rlci5PcHRpb25zPiB7XG4gIHN0YXR1cyQ6IFN1YmplY3Q8VG9hc3Rlci5TdGF0dXM+O1xuXG4gIGtleTogc3RyaW5nID0gJ2FicFRvYXN0JztcblxuICBzdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7fVxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2luZm8nLCBvcHRpb25zKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VG9hc3Rlci5TdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xuICB9XG5cbiAgd2FybihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICd3YXJuJywgb3B0aW9ucyk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUb2FzdGVyLlN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdlcnJvcicsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3cobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBzZXZlcml0eTogVG9hc3Rlci5TZXZlcml0eSwgb3B0aW9ucz86IFQpOiBPYnNlcnZhYmxlPFRvYXN0ZXIuU3RhdHVzPiB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLmtleSk7XG5cbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICBzZXZlcml0eSxcbiAgICAgIGRldGFpbDogbWVzc2FnZSB8fCAnJyxcbiAgICAgIHN1bW1hcnk6IHRpdGxlIHx8ICcnLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAuLi4odHlwZW9mIChvcHRpb25zIHx8ICh7fSBhcyBhbnkpKS5zdGlja3kgPT09ICd1bmRlZmluZWQnICYmIHsgc3RpY2t5OiB0aGlzLnN0aWNreSB9KSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YXR1cyQgPSBuZXcgU3ViamVjdDxUb2FzdGVyLlN0YXR1cz4oKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMkO1xuICB9XG5cbiAgY2xlYXIoc3RhdHVzPzogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMua2V5KTtcbiAgICB0aGlzLnN0YXR1cyQubmV4dChzdGF0dXMgfHwgVG9hc3Rlci5TdGF0dXMuZGlzbWlzcyk7XG4gICAgdGhpcy5zdGF0dXMkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/fade.animations.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/fade.animations.js new file mode 100644 index 0000000000..66f53ef249 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/fade.animations.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export var fade = trigger('fade', [ + state('void', style({ opacity: 1 })), + transition(':enter', [style({ opacity: 0 }), animate(250)]), + transition(':leave', animate(250, style({ opacity: 0 }))), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRWpGLE1BQU0sS0FBTyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRTtJQUNsQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBmYWRlID0gdHJpZ2dlcignZmFkZScsIFtcbiAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKDI1MCldKSxcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgYW5pbWF0ZSgyNTAsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSkpLFxuXSk7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js index 6945f98905..56c7f53734 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/index.js @@ -2,5 +2,6 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export { slideFromBottom } from './slide.animation'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9uJztcbiJdfQ== \ No newline at end of file +export { fade } from './fade.animations'; +export { slideFromBottom } from './slide.animations'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxxQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxnQ0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmFkZS5hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGUuYW5pbWF0aW9ucyc7XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js deleted file mode 100644 index d9b3a4f31c..0000000000 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animation.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -import { animate, state, style, transition, trigger } from '@angular/animations'; -/** @type {?} */ -export var slideFromBottom = trigger('routeAnimations', [ - state('void', style({ 'margin-top': '20px', opacity: '0' })), - state('*', style({ 'margin-top': '0px', opacity: '1' })), - transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), -]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFicC9uZy50aGVtZS5zaGFyZWQvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9ucy9zbGlkZS5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFTLE1BQU0scUJBQXFCLENBQUM7O0FBQ3hGLE1BQU0sS0FBTyxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3hELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1RCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgcXVlcnkgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmV4cG9ydCBjb25zdCBzbGlkZUZyb21Cb3R0b20gPSB0cmlnZ2VyKCdyb3V0ZUFuaW1hdGlvbnMnLCBbXG4gIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcyMHB4Jywgb3BhY2l0eTogJzAnIH0pKSxcbiAgc3RhdGUoJyonLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzBweCcsIG9wYWNpdHk6ICcxJyB9KSksXG4gIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMScsICdtYXJnaW4tdG9wJzogJzBweCcgfSkpXSksXG5dKTtcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animations.js b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animations.js new file mode 100644 index 0000000000..d6414c0657 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/animations/slide.animations.js @@ -0,0 +1,12 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { animate, state, style, transition, trigger } from '@angular/animations'; +/** @type {?} */ +export var slideFromBottom = trigger('routeAnimations', [ + state('void', style({ 'margin-top': '20px', opacity: '0' })), + state('*', style({ 'margin-top': '0px', opacity: '1' })), + transition(':enter', [animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' }))]), +]); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FuaW1hdGlvbnMvc2xpZGUuYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQVMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFDeEYsTUFBTSxLQUFPLGVBQWUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDeEQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVELEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCBxdWVyeSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuZXhwb3J0IGNvbnN0IHNsaWRlRnJvbUJvdHRvbSA9IHRyaWdnZXIoJ3JvdXRlQW5pbWF0aW9ucycsIFtcbiAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzIwcHgnLCBvcGFjaXR5OiAnMCcgfSkpLFxuICBzdGF0ZSgnKicsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnMHB4Jywgb3BhY2l0eTogJzEnIH0pKSxcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6ICcxJywgJ21hcmdpbi10b3AnOiAnMHB4JyB9KSldKSxcbl0pO1xuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/breadcrumb/breadcrumb.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/breadcrumb/breadcrumb.component.js new file mode 100644 index 0000000000..ad7e58557d --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/breadcrumb/breadcrumb.component.js @@ -0,0 +1,87 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Component } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngxs/store'; +import { ConfigState } from '@abp/ng.core'; +var BreadcrumbComponent = /** @class */ (function () { + function BreadcrumbComponent(router, store) { + this.router = router; + this.store = store; + this.segments = []; + this.show = !!this.store.selectSnapshot((/** + * @param {?} state + * @return {?} + */ + function (state) { return state.LeptonLayoutState; })); + } + /** + * @return {?} + */ + BreadcrumbComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + /** @type {?} */ + var splittedUrl = this.router.url.split('/').filter((/** + * @param {?} chunk + * @return {?} + */ + function (chunk) { return chunk; })); + /** @type {?} */ + var currentUrl = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0])); + this.segments.push(currentUrl.name); + if (splittedUrl.length > 1) { + var _a = tslib_1.__read(splittedUrl), arr = _a.slice(1); + /** @type {?} */ + var childRoute = currentUrl; + var _loop_1 = function (i) { + /** @type {?} */ + var element = arr[i]; + childRoute = childRoute.children.find((/** + * @param {?} child + * @return {?} + */ + function (child) { return child.path === element; })); + this_1.segments.push(childRoute.name); + }; + var this_1 = this; + for (var i = 0; i < arr.length; i++) { + _loop_1(i); + } + } + }; + BreadcrumbComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-breadcrumb', + template: "\n
      \n
    1. \n \n
    2. \n \n {{ segment | abpLocalization }}\n \n
    \n " + }] } + ]; + /** @nocollapse */ + BreadcrumbComponent.ctorParameters = function () { return [ + { type: Router }, + { type: Store } + ]; }; + return BreadcrumbComponent; +}()); +export { BreadcrumbComponent }; +if (false) { + /** @type {?} */ + BreadcrumbComponent.prototype.show; + /** @type {?} */ + BreadcrumbComponent.prototype.segments; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.router; + /** + * @type {?} + * @private + */ + BreadcrumbComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQU8sTUFBTSxjQUFjLENBQUM7QUFFaEQ7SUF1QkUsNkJBQW9CLE1BQWMsRUFBVSxLQUFZO1FBQXBDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRnhELGFBQVEsR0FBYSxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsaUJBQWlCLEVBQXZCLENBQXVCLEVBQUMsQ0FBQztJQUM1RSxDQUFDOzs7O0lBRUQsc0NBQVE7OztJQUFSOztZQUNRLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssRUFBQzs7WUFFL0QsVUFBVSxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLElBQUEsZ0NBQXdCLEVBQXJCLGlCQUFxQjs7Z0JBRTFCLFVBQVUsR0FBa0IsVUFBVTtvQ0FDakMsQ0FBQzs7b0JBQ0YsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUk7Ozs7Z0JBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBdEIsQ0FBc0IsRUFBQyxDQUFDO2dCQUV2RSxPQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7WUFKdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO3dCQUExQixDQUFDO2FBS1Q7U0FDRjtJQUNILENBQUM7O2dCQTVDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLDJaQWNUO2lCQUNGOzs7O2dCQXJCUSxNQUFNO2dCQUNOLEtBQUs7O0lBZ0RkLDBCQUFDO0NBQUEsQUE3Q0QsSUE2Q0M7U0EzQlksbUJBQW1COzs7SUFDOUIsbUNBQWM7O0lBRWQsdUNBQXdCOzs7OztJQUVaLHFDQUFzQjs7Ozs7SUFBRSxvQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUsIEFCUCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8b2wgKm5nSWY9XCJzaG93XCIgY2xhc3M9XCJicmVhZGNydW1iXCI+XG4gICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIj5cbiAgICAgICAgPGEgcm91dGVyTGluaz1cIi9cIj48aSBjbGFzcz1cImZhIGZhLWhvbWVcIj48L2k+IDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlZ21lbnQgb2Ygc2VnbWVudHM7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJsYXN0XCJcbiAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlZ21lbnQgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgIDwvbGk+XG4gICAgPC9vbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3c6IGJvb2xlYW47XG5cbiAgc2VnbWVudHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICB0aGlzLnNob3cgPSAhIXRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3Qoc3RhdGUgPT4gc3RhdGUuTGVwdG9uTGF5b3V0U3RhdGUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3BsaXR0ZWRVcmwgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIoY2h1bmsgPT4gY2h1bmspO1xuXG4gICAgY29uc3QgY3VycmVudFVybDogQUJQLkZ1bGxSb3V0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0Um91dGUoc3BsaXR0ZWRVcmxbMF0pKTtcbiAgICB0aGlzLnNlZ21lbnRzLnB1c2goY3VycmVudFVybC5uYW1lKTtcblxuICAgIGlmIChzcGxpdHRlZFVybC5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBbLCAuLi5hcnJdID0gc3BsaXR0ZWRVcmw7XG5cbiAgICAgIGxldCBjaGlsZFJvdXRlOiBBQlAuRnVsbFJvdXRlID0gY3VycmVudFVybDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJbaV07XG4gICAgICAgIGNoaWxkUm91dGUgPSBjaGlsZFJvdXRlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gY2hpbGQucGF0aCA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5zZWdtZW50cy5wdXNoKGNoaWxkUm91dGUubmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/change-password/change-password.component.js similarity index 51% rename from npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js rename to npm/ng-packs/dist/theme-shared/esm5/lib/components/change-password/change-password.component.js index b9444599bd..5bf57c5b48 100644 --- a/npm/ng-packs/dist/theme-basic/esm5/lib/components/change-password/change-password.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/change-password/change-password.component.js @@ -3,13 +3,13 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangePassword } from '@abp/ng.core'; -import { ToasterService } from '@abp/ng.theme.shared'; import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; import { FormBuilder, Validators } from '@angular/forms'; import { comparePasswords } from '@ngx-validate/core'; import { Store } from '@ngxs/store'; import snq from 'snq'; import { finalize } from 'rxjs/operators'; +import { ToasterService } from '../../services/toaster.service'; var minLength = Validators.minLength, required = Validators.required; var ChangePasswordComponent = /** @class */ (function () { function ChangePasswordComponent(fb, store, toasterService) { @@ -174,4 +174,4 @@ if (false) { */ ChangePasswordComponent.prototype.toasterService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuYmFzaWMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxDLElBQUEsZ0NBQVMsRUFBRSw4QkFBUTtBQUUzQjtJQTJCRSxpQ0FBb0IsRUFBZSxFQUFVLEtBQVksRUFBVSxjQUE4QjtRQUE3RSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVRqRyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPNUMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUV5RSxDQUFDO0lBcEJyRyxzQkFDSSw0Q0FBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7Ozs7O1FBRUQsVUFBWSxLQUFjO1lBQ3hCLElB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Q0FBdUI7Ozs7O0lBQUUsd0NBQW9COzs7OztJQUFFLGlEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZVBhc3N3b3JkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wYXJlUGFzc3dvcmRzIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWluTGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddKV0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBDaGFuZ2VQYXNzd29yZCh7XG4gICAgICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpLnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tb2RhbEJ1c3kgPSBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKHNucSgoKSA9PiBlcnIuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnKSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgbGlmZTogNzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RCxJQUFBLGdDQUFTLEVBQUUsOEJBQVE7QUFFM0I7SUEyQkUsaUNBQW9CLEVBQWUsRUFBVSxLQUFZLEVBQVUsY0FBOEI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFUakcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFeUUsQ0FBQztJQXBCckcsc0JBQ0ksNENBQU87Ozs7UUFEWDtZQUVFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQUVELFVBQVksS0FBYztZQUN4QixJ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Q0FBdUI7Ozs7O0lBQUUsd0NBQW9COzs7OztJQUFFLGlEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZVBhc3N3b3JkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcyB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2UnO1xuXG5jb25zdCB7IG1pbkxlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfdmlzaWJsZTtcblxuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcbiAgICAgIHtcbiAgICAgICAgcGFzc3dvcmQ6IFsnJywgcmVxdWlyZWRdLFxuICAgICAgICBuZXdQYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIHJlcGVhdE5ld1Bhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXSldLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbEJ1c3kgPSB0cnVlO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICBuZXcgQ2hhbmdlUGFzc3dvcmQoe1xuICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihzbnEoKCkgPT4gZXJyLmVycm9yLmVycm9yLm1lc3NhZ2UsICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyksICdFcnJvcicsIHtcbiAgICAgICAgICAgIGxpZmU6IDcwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyB2aXNpYmxlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXZpc2libGUpIHJldHVybjtcblxuICAgIGlmICh2aXNpYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKHZpc2libGUuY3VycmVudFZhbHVlID09PSBmYWxzZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/confirmation/confirmation.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/confirmation/confirmation.component.js index 74f44b2c36..91b23088cb 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/confirmation/confirmation.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/confirmation/confirmation.component.js @@ -25,7 +25,7 @@ var ConfirmationComponent = /** @class */ (function () { ConfirmationComponent.decorators = [ { type: Component, args: [{ selector: 'abp-confirmation', - template: "\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n " + template: "\n \n \n
    \n

    \n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n

    \n
    \n
    \n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n
    \n\n \n
    \n \n " }] } ]; /** @nocollapse */ @@ -48,4 +48,4 @@ if (false) { */ ConfirmationComponent.prototype.confirmationService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHMUU7SUFzQ0UsK0JBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSjVELFlBQU8sMkJBQTBCO1FBQ2pDLFdBQU0seUJBQXlCO1FBQy9CLFlBQU8sMkJBQTBCO0lBRThCLENBQUM7Ozs7O0lBRWhFLHFDQUFLOzs7O0lBQUwsVUFBTSxNQUFzQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O2dCQTFDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLDhwQ0E2QlQ7aUJBQ0Y7Ozs7Z0JBbkNRLG1CQUFtQjs7SUE4QzVCLDRCQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0FWWSxxQkFBcUI7OztJQUNoQyx3Q0FBaUM7O0lBQ2pDLHVDQUErQjs7SUFDL0Isd0NBQWlDOzs7OztJQUVyQixvREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cC10b2FzdFxuICAgICAgcG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAga2V5PVwiYWJwQ29uZmlybWF0aW9uXCJcbiAgICAgIChvbkNsb3NlKT1cImNsb3NlKGRpc21pc3MpXCJcbiAgICAgIFttb2RhbF09XCJ0cnVlXCJcbiAgICAgIFtiYXNlWkluZGV4XT1cIjEwMDBcIlxuICAgICAgc3R5bGVDbGFzcz1cIlwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2Uuc3VtbWFyeVwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2Uuc3VtbWFyeSB8IGFicExvY2FsaXphdGlvbjogbWVzc2FnZS50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UuZGV0YWlsIHwgYWJwTG9jYWxpemF0aW9uOiBtZXNzYWdlLm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXMgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVDYW5jZWxCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShyZWplY3QpXCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlLmNhbmNlbENvcHkgfHwgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVZZXNCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShjb25maXJtKVwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgbWVzc2FnZS55ZXNDb3B5IHx8ICdBYnBJZGVudGl0eTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10b2FzdD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgY29uZmlybSA9IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm07XG4gIHJlamVjdCA9IFRvYXN0ZXIuU3RhdHVzLnJlamVjdDtcbiAgZGlzbWlzcyA9IFRvYXN0ZXIuU3RhdHVzLmRpc21pc3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGNsb3NlKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xlYXIoc3RhdHVzKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYnAvbmcudGhlbWUuc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHMUU7SUE0Q0UsK0JBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSjVELFlBQU8sMkJBQTBCO1FBQ2pDLFdBQU0seUJBQXlCO1FBQy9CLFlBQU8sMkJBQTBCO0lBRThCLENBQUM7Ozs7O0lBRWhFLHFDQUFLOzs7O0lBQUwsVUFBTSxNQUFzQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O2dCQWhERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLHF2Q0FtQ1Q7aUJBQ0Y7Ozs7Z0JBekNRLG1CQUFtQjs7SUFvRDVCLDRCQUFDO0NBQUEsQUFqREQsSUFpREM7U0FWWSxxQkFBcUI7OztJQUNoQyx3Q0FBaUM7O0lBQ2pDLHVDQUErQjs7SUFDL0Isd0NBQWlDOzs7OztJQUVyQixvREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RvYXN0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cC10b2FzdFxuICAgICAgcG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAga2V5PVwiYWJwQ29uZmlybWF0aW9uXCJcbiAgICAgIChvbkNsb3NlKT1cImNsb3NlKGRpc21pc3MpXCJcbiAgICAgIFttb2RhbF09XCJ0cnVlXCJcbiAgICAgIFtiYXNlWkluZGV4XT1cIjEwMDBcIlxuICAgICAgc3R5bGVDbGFzcz1cIlwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2Uuc3VtbWFyeVwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2Uuc3VtbWFyeSB8IGFicExvY2FsaXphdGlvbjogbWVzc2FnZS50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UuZGV0YWlsIHwgYWJwTG9jYWxpemF0aW9uOiBtZXNzYWdlLm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXMgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlLmhpZGVDYW5jZWxCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZShyZWplY3QpXCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlLmNhbmNlbENvcHkgfHwgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhbWVzc2FnZS5oaWRlWWVzQnRuXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoY29uZmlybSlcIlxuICAgICAgICAgICAgYXV0b2ZvY3VzXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgbWVzc2FnZS55ZXNDb3B5IHx8ICdBYnBJZGVudGl0eTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10b2FzdD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgY29uZmlybSA9IFRvYXN0ZXIuU3RhdHVzLmNvbmZpcm07XG4gIHJlamVjdCA9IFRvYXN0ZXIuU3RhdHVzLnJlamVjdDtcbiAgZGlzbWlzcyA9IFRvYXN0ZXIuU3RhdHVzLmRpc21pc3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGNsb3NlKHN0YXR1czogVG9hc3Rlci5TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xlYXIoc3RhdHVzKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js index ef830217e2..056a0009d9 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/index.js @@ -3,8 +3,11 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { ButtonComponent } from './button/button.component'; +export { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'; +export { ChangePasswordComponent } from './change-password/change-password.component'; export { ConfirmationComponent } from './confirmation/confirmation.component'; export { LoaderBarComponent } from './loader-bar/loader-bar.component'; export { ModalComponent } from './modal/modal.component'; +export { ProfileComponent } from './profile/profile.component'; export { ToastComponent } from './toast/toast.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyxvQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCx3Q0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxzQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCwrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QyxpQ0FBYyw2QkFBNkIsQ0FBQztBQUM1QywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbiJdfQ== \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js index 952b71a527..4c8f351c31 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/loader-bar/loader-bar.component.js @@ -4,7 +4,7 @@ */ import { StartLoader, StopLoader } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; -import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { NavigationEnd, NavigationStart, Router, NavigationError } from '@angular/router'; import { takeUntilDestroy } from '@ngx-validate/core'; import { Actions, ofActionSuccessful } from '@ngxs/store'; import { filter } from 'rxjs/operators'; @@ -39,7 +39,9 @@ var LoaderBarComponent = /** @class */ (function () { * @param {?} event * @return {?} */ - function (event) { return event instanceof NavigationStart || event instanceof NavigationEnd; })), takeUntilDestroy(this)) + function (event) { + return event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError; + })), takeUntilDestroy(this)) .subscribe((/** * @param {?} event * @return {?} @@ -150,4 +152,4 @@ if (false) { */ LoaderBarComponent.prototype.router; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDO0lBMEJFLDRCQUFvQixPQUFnQixFQUFVLE1BQWM7UUFBNUQsaUJBcUJDO1FBckJtQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWY1RCxtQkFBYyxHQUFXLGdCQUFnQixDQUFDO1FBRzFDLGtCQUFhLEdBQVcsY0FBYyxDQUFDO1FBR3ZDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsV0FBTTs7OztRQUFHLFVBQUMsTUFBZ0MsSUFBSyxPQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBdEQsQ0FBc0QsRUFBQztRQUV0RyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUt4QixPQUFPO2FBQ0osSUFBSSxDQUNILGtCQUFrQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsTUFBTTtZQUNmLElBQUksTUFBTSxZQUFZLFdBQVc7Z0JBQUUsS0FBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztnQkFDbEQsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO1FBRUwsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFsRSxDQUFrRSxFQUFDLEVBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDZCxJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVgsY0FBZSxDQUFDOzs7O0lBRWhCLHlDQUFZOzs7SUFBWjtRQUFBLGlCQWVDO1FBZEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O1lBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQztZQUMzQixJQUFJLEtBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFO2dCQUMzQixLQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxHQUFFLEdBQUcsQ0FBQztRQUVQLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFBQSxpQkFRQztRQVBDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztnQkE1RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxtTUFJVDs7aUJBRUY7Ozs7Z0JBWFEsT0FBTztnQkFGeUIsTUFBTTs7O2lDQWU1QyxLQUFLO2dDQUdMLEtBQUs7NEJBR0wsS0FBSzt5QkFHTCxLQUFLOztJQTBEUix5QkFBQztDQUFBLEFBN0VELElBNkVDO1NBcEVZLGtCQUFrQjs7O0lBQzdCLDRDQUMwQzs7SUFFMUMsMkNBQ3VDOztJQUV2Qyx1Q0FDMkI7O0lBRTNCLG9DQUNzRzs7SUFFdEcsMkNBQTBCOztJQUUxQixzQ0FBYzs7Ozs7SUFFRixxQ0FBd0I7Ozs7O0lBQUUsb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mQWN0aW9uU3VjY2Vzc2Z1bCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRlci1iYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgaWQ9XCJhYnAtbG9hZGVyLWJhclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgW2NsYXNzLmlzLWxvYWRpbmddPVwiaXNMb2FkaW5nXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cInByb2dyZXNzQ2xhc3NcIiBbc3R5bGUud2lkdGgudnddPVwicHJvZ3Jlc3NMZXZlbFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXItYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnYWJwLWxvYWRlci1iYXInO1xuXG4gIEBJbnB1dCgpXG4gIHByb2dyZXNzQ2xhc3M6IHN0cmluZyA9ICdhYnAtcHJvZ3Jlc3MnO1xuXG4gIEBJbnB1dCgpXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlciA9IChhY3Rpb246IFN0YXJ0TG9hZGVyIHwgU3RvcExvYWRlcikgPT4gYWN0aW9uLnBheWxvYWQudXJsLmluZGV4T2YoJ29wZW5pZC1jb25maWd1cmF0aW9uJykgPCAwO1xuXG4gIHByb2dyZXNzTGV2ZWw6IG51bWJlciA9IDA7XG5cbiAgaW50ZXJ2YWw6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnM6IEFjdGlvbnMsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBhY3Rpb25zXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZBY3Rpb25TdWNjZXNzZnVsKFN0YXJ0TG9hZGVyLCBTdG9wTG9hZGVyKSxcbiAgICAgICAgZmlsdGVyKHRoaXMuZmlsdGVyKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveSh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIFN0YXJ0TG9hZGVyKSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuXG4gICAgcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkgdGhpcy5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBzdGFydExvYWRpbmcoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDc1KSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSBNYXRoLnJhbmRvbSgpICogMTA7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDkwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDEwMCkge1xuICAgICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC4xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMzAwKTtcblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBpbnRlcnZhbDtcbiAgfVxuXG4gIHN0b3BMb2FkaW5nKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMTAwO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDA7XG4gICAgfSwgODAwKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QztJQTBCRSw0QkFBb0IsT0FBZ0IsRUFBVSxNQUFjO1FBQTVELGlCQXdCQztRQXhCbUIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmNUQsbUJBQWMsR0FBVyxnQkFBZ0IsQ0FBQztRQUcxQyxrQkFBYSxHQUFXLGNBQWMsQ0FBQztRQUd2QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLFdBQU07Ozs7UUFBRyxVQUFDLE1BQWdDLElBQUssT0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQXRELENBQXNELEVBQUM7UUFFdEcsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFLeEIsT0FBTzthQUNKLElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ25CLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFBLE1BQU07WUFDZixJQUFJLE1BQU0sWUFBWSxXQUFXO2dCQUFFLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ2xELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztRQUVMLE1BQU0sQ0FBQyxNQUFNO2FBQ1YsSUFBSSxDQUNILE1BQU07Ozs7UUFDSixVQUFBLEtBQUs7WUFDSCxPQUFBLEtBQUssWUFBWSxlQUFlLElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlBQVksZUFBZTtRQUF0RyxDQUFzRyxFQUN6RyxFQUNELGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUN2QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDZCxJQUFJLEtBQUssWUFBWSxlQUFlO2dCQUFFLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Z0JBQ3JELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVgsY0FBZSxDQUFDOzs7O0lBRWhCLHlDQUFZOzs7SUFBWjtRQUFBLGlCQWVDO1FBZEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O1lBQ2hCLFFBQVEsR0FBRyxXQUFXOzs7UUFBQztZQUMzQixJQUFJLEtBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFO2dCQUMzQixLQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU0sSUFBSSxLQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxHQUFFLEdBQUcsQ0FBQztRQUVQLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFBQSxpQkFRQztRQVBDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztnQkEvRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxtTUFJVDs7aUJBRUY7Ozs7Z0JBWFEsT0FBTztnQkFGeUIsTUFBTTs7O2lDQWU1QyxLQUFLO2dDQUdMLEtBQUs7NEJBR0wsS0FBSzt5QkFHTCxLQUFLOztJQTZEUix5QkFBQztDQUFBLEFBaEZELElBZ0ZDO1NBdkVZLGtCQUFrQjs7O0lBQzdCLDRDQUMwQzs7SUFFMUMsMkNBQ3VDOztJQUV2Qyx1Q0FDMkI7O0lBRTNCLG9DQUNzRzs7SUFFdEcsMkNBQTBCOztJQUUxQixzQ0FBYzs7Ozs7SUFFRixxQ0FBd0I7Ozs7O0lBQUUsb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgTmF2aWdhdGlvbkVycm9yIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZBY3Rpb25TdWNjZXNzZnVsIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbG9hZGVyLWJhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cImFicC1sb2FkZXItYmFyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwicHJvZ3Jlc3NDbGFzc1wiIFtzdHlsZS53aWR0aC52d109XCJwcm9ncmVzc0xldmVsXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlci1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgY29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICdhYnAtbG9hZGVyLWJhcic7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NDbGFzczogc3RyaW5nID0gJ2FicC1wcm9ncmVzcyc7XG5cbiAgQElucHV0KClcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyID0gKGFjdGlvbjogU3RhcnRMb2FkZXIgfCBTdG9wTG9hZGVyKSA9PiBhY3Rpb24ucGF5bG9hZC51cmwuaW5kZXhPZignb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSA8IDA7XG5cbiAgcHJvZ3Jlc3NMZXZlbDogbnVtYmVyID0gMDtcblxuICBpbnRlcnZhbDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uczogQWN0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIGFjdGlvbnNcbiAgICAgIC5waXBlKFxuICAgICAgICBvZkFjdGlvblN1Y2Nlc3NmdWwoU3RhcnRMb2FkZXIsIFN0b3BMb2FkZXIpLFxuICAgICAgICBmaWx0ZXIodGhpcy5maWx0ZXIpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95KHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoYWN0aW9uIGluc3RhbmNlb2YgU3RhcnRMb2FkZXIpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgfSk7XG5cbiAgICByb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKFxuICAgICAgICAgIGV2ZW50ID0+XG4gICAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IsXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3kodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB0aGlzLnN0YXJ0TG9hZGluZygpO1xuICAgICAgICBlbHNlIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7fVxuXG4gIHN0YXJ0TG9hZGluZygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgNzUpIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IE1hdGgucmFuZG9tKCkgKiAxMDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgOTApIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuNDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgMTAwKSB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCArPSAwLjE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAzMDApO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IGludGVydmFsO1xuICB9XG5cbiAgc3RvcExvYWRpbmcoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAxMDA7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcbiAgICB9LCA4MDApO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/components/profile/profile.component.js b/npm/ng-packs/dist/theme-shared/esm5/lib/components/profile/profile.component.js new file mode 100644 index 0000000000..6e6c8ae153 --- /dev/null +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/components/profile/profile.component.js @@ -0,0 +1,160 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { FormBuilder, Validators } from '@angular/forms'; +import { Select, Store } from '@ngxs/store'; +import { Observable } from 'rxjs'; +import { take, withLatestFrom } from 'rxjs/operators'; +var maxLength = Validators.maxLength, required = Validators.required, email = Validators.email; +var ProfileComponent = /** @class */ (function () { + function ProfileComponent(fb, store) { + this.fb = fb; + this.store = store; + this.visibleChange = new EventEmitter(); + this.modalBusy = false; + } + Object.defineProperty(ProfileComponent.prototype, "visible", { + get: /** + * @return {?} + */ + function () { + return this._visible; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._visible = value; + this.visibleChange.emit(value); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + ProfileComponent.prototype.buildForm = /** + * @return {?} + */ + function () { + var _this = this; + this.store + .dispatch(new GetProfile()) + .pipe(withLatestFrom(this.profile$), take(1)) + .subscribe((/** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var _b = tslib_1.__read(_a, 2), profile = _b[1]; + _this.form = _this.fb.group({ + userName: [profile.userName, [required, maxLength(256)]], + email: [profile.email, [required, email, maxLength(256)]], + name: [profile.name || '', [maxLength(64)]], + surname: [profile.surname || '', [maxLength(64)]], + phoneNumber: [profile.phoneNumber || '', [maxLength(16)]], + }); + })); + }; + /** + * @return {?} + */ + ProfileComponent.prototype.submit = /** + * @return {?} + */ + function () { + var _this = this; + if (this.form.invalid) + return; + this.modalBusy = true; + this.store.dispatch(new UpdateProfile(this.form.value)).subscribe((/** + * @return {?} + */ + function () { + _this.modalBusy = false; + _this.visible = false; + _this.form.reset(); + })); + }; + /** + * @return {?} + */ + ProfileComponent.prototype.openModal = /** + * @return {?} + */ + function () { + this.buildForm(); + this.visible = true; + }; + /** + * @param {?} __0 + * @return {?} + */ + ProfileComponent.prototype.ngOnChanges = /** + * @param {?} __0 + * @return {?} + */ + function (_a) { + var visible = _a.visible; + if (!visible) + return; + if (visible.currentValue) { + this.openModal(); + } + else if (visible.currentValue === false && this.visible) { + this.visible = false; + } + }; + ProfileComponent.decorators = [ + { type: Component, args: [{ + selector: 'abp-profile', + template: "\n \n

    {{ 'AbpIdentity::PersonalInfo' | abpLocalization }}

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ 'AbpIdentity::Save' | abpLocalization }}\n \n
    \n" + }] } + ]; + /** @nocollapse */ + ProfileComponent.ctorParameters = function () { return [ + { type: FormBuilder }, + { type: Store } + ]; }; + ProfileComponent.propDecorators = { + visible: [{ type: Input }], + visibleChange: [{ type: Output }] + }; + tslib_1.__decorate([ + Select(ProfileState.getProfile), + tslib_1.__metadata("design:type", Observable) + ], ProfileComponent.prototype, "profile$", void 0); + return ProfileComponent; +}()); +export { ProfileComponent }; +if (false) { + /** + * @type {?} + * @protected + */ + ProfileComponent.prototype._visible; + /** @type {?} */ + ProfileComponent.prototype.visibleChange; + /** @type {?} */ + ProfileComponent.prototype.profile$; + /** @type {?} */ + ProfileComponent.prototype.form; + /** @type {?} */ + ProfileComponent.prototype.modalBusy; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.fb; + /** + * @type {?} + * @private + */ + ProfileComponent.prototype.store; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWJwL25nLnRoZW1lLnNoYXJlZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQVcsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsSUFBQSxnQ0FBUyxFQUFFLDhCQUFRLEVBQUUsd0JBQUs7QUFFbEM7SUEyQkUsMEJBQW9CLEVBQWUsRUFBVSxLQUFZO1FBQXJDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVHpELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81QyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRWlDLENBQUM7SUFwQjdELHNCQUNJLHFDQUFPOzs7O1FBRFg7WUFFRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7Ozs7UUFFRCxVQUFZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQzs7O09BTEE7Ozs7SUFtQkQs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bnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZSwgR2V0UHJvZmlsZSwgUHJvZmlsZVN0YXRlLCBVcGRhdGVQcm9maWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCwgZW1haWwgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIF92aXNpYmxlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG5cbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFNlbGVjdChQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSlcbiAgcHJvZmlsZSQ6IE9ic2VydmFibGU8UHJvZmlsZS5SZXNwb25zZT47XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIG1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRQcm9maWxlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wcm9maWxlJCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbLCBwcm9maWxlXSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICB1c2VyTmFtZTogW3Byb2ZpbGUudXNlck5hbWUsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NildXSxcbiAgICAgICAgICBlbWFpbDogW3Byb2ZpbGUuZW1haWwsIFtyZXF1aXJlZCwgZW1haWwsIG1heExlbmd0aCgyNTYpXV0sXG4gICAgICAgICAgbmFtZTogW3Byb2ZpbGUubmFtZSB8fCAnJywgW21heExlbmd0aCg2NCldXSxcbiAgICAgICAgICBzdXJuYW1lOiBbcHJvZmlsZS5zdXJuYW1lIHx8ICcnLCBbbWF4TGVuZ3RoKDY0KV1dLFxuICAgICAgICAgIHBob25lTnVtYmVyOiBbcHJvZmlsZS5waG9uZU51bWJlciB8fCAnJywgW21heExlbmd0aCgxNildXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IHZpc2libGUgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgaWYgKHZpc2libGUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZS5jdXJyZW50VmFsdWUgPT09IGZhbHNlICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js index aae8d71577..f1819c2696 100644 --- a/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js +++ b/npm/ng-packs/dist/theme-shared/esm5/lib/contants/styles.js @@ -2,5 +2,5 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -export default "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.modal {\n background-color: rgba(0, 0, 0, .6);\n}\n\n.abp-ellipsis {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/*